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