hai
i am doing project regarding trustworthy architecture for sensor networks,
for that i need materials for trust calculation for each node in the network
how to implement trust in AODV routing under NS-2.31
Posts: 14,118
Threads: 61
Joined: Oct 2014
trust_entry::trust_entry()
{
//Initialize as per your need.
}
trust_entry::~trust_entry()
{
//Deconstruct as per your need.
}
trust_entry* trust_store::trust_lookup(nsaddr_t node_id)
{
trust_entry *rp = trusthead.lh_first;
for (; rp; rp = rp->trust_link.le_next) {
if (rp->node_id == node_id)
break;
}
return rp;
}
void trust_store::trust_delete(nsaddr_t node_id)
{
trust_entry *rp = trust_lookup(node_id);
if (rp)
{
LIST_REMOVE(rp, trust_link);
delete rp;
}
}
trust_entry*
trust_store::trust_insert(nsaddr_t node_id, nsaddr_t prev_node,nsaddr_t next_node,int32_t trust_value)
{
trust_entry *rp;
//assert(tr_lookup(dst_seq_no) == 0);
rp = new trust_entry;
assert(rp);
rp->node_id = node_id;
rp->prev_node = prev_node;
rp->next_node = next_node;
rp->trust_value = trust_value;
LIST_INSERT_HEAD(&trusthead, rp, trust_link);
return rp;
}
trust_entry* trust_store::trust_update(nsaddr_t node_id,nsaddr_t prev_node,nsaddr_t next_node, int32_t trust_value)
{ trust_delete(node_id);
trust_insert(node_id,prev_node,next_node,trust_value);
}
In rtable.h add below code
class trust_entry
{
friend class AODV;
friend class trust_store;
public:
trust_entry();
~trust_entry();
nsaddr_t node_id;
nsaddr_t prev_node;
nsaddr_t next_node;
int32_t trust_value;
protected:
LIST_ENTRY(trust_entry) trust_link;
};
class trust_store
{
public:
trust_store()
{
LIST_INIT(&trusthead);
}
trust_entry* head()
{
return trusthead.lh_first;
}
trust_entry* trust_insert(nsaddr_t node_id,nsaddr_t prev_node,nsaddr_t next_node,int32_t trust_value);
trust_entry* trust_lookup(nsaddr_t node_id);
void trust_delete(nsaddr_t node_id);
trust_entry* trust_update(nsaddr_t node_id,nsaddr_t prev_node,nsaddr_t next_node, int32_t trust_value);
private:
LIST_HEAD(trust_head, trust_entry) trusthead;
};
while using in aodv code i.e. aodv.cc add below code to aodv.h
trust_store tstore;
and if u want to access functions for adding route entry in aodv.cc then add below code in aodv.cc
tstore.trust_insert(node_id,prev_node,next_node,trust_value);