I'm trying to implement my own routing protocol based on AODV.
I ve used the same neighbor discovery method as AODV.
But when i broadcast the messages , the receiver is not able to get it.
Also wen i send it unicastingly, even then it aint working.
Is it a prerequisite that there has to be links b/w nodes for the neighbor
discovery to work?
if so, it really compromises my purpose.
In tcl script, i jus add a few wireless nodes and wait for the hello pkt
exchange to get over so that neighbor_list gets populated.
It jus doesn't work.
Is there anything i'm missing out. Plz help me out.
I ve read a lot of posts abt this, but none has helped me so far.
COde snippet for broadcast :
hel->hel_type = EAMMHTYPE_HELLO;
hel->hel_src = index;
ch->ptype() = PT_EAMMH;
ch->size() = IP_HDR_LEN + hel->size();
ch->iface() = -2;
ch->addr_type() = NS_AF_NONE;
//ch->direction() = hdr_cmn::DOWN;
//ch->next_hop_ = -2;
ch->error() = 0;
ch->prev_hop_ = index;
ih->saddr() = index;
ih->daddr() = IP_BROADCAST;
ih->sport() = RT_PORT;
ih->dport() = RT_PORT;
ih->ttl_ = 1;
Scheduler::instance().schedule(target_, p, 0.0);
Code snippet for unicast:
ch->ptype() = PT_EAMMH;
ch->iface() = -2;
ch->addr_type() = NS_AF_INET;
ch->prev_hop_ = index; // AODV hack
ch->direction() = hdr_cmn::DOWN;
ih->saddr() = index;
ih->daddr() = nb->nb_addr;
ih->sport() = RT_PORT;
ih->dport() = RT_PORT;
Scheduler::instance().schedule(target_, p, 0.);
The code compiles properly, so it seems like a logicaly error in packet
flow down the layers or something.
--
$@V@N