Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ns2 code for trust calculation
#1

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);
Reply

#2
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
Reply

#3

how to implement trust in AODV routing under NS-2.31
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

Powered By MyBB, © 2002-2024 iAndrew & Melroy van den Berg.