[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ns] ARP and next_hop
Hi all ns users!
I want to perform ARP to resolve the address of the next hop of a packet.
I'm trying not to use lanrouter nor varp. Then, looking at the code of ll.cc,
ch->addr_type_ must be NS_AF_INET and ch->next_hop_ must contain the next hop
address...
nsaddr_t dst =
(nsaddr_t)Address::instance().get_nodeaddr(ih->daddr());
...
switch(ch->addr_type()) {
case NS_AF_ILINK:
mac_->hdr_dst((char*) HDR_MAC(p), ch->next_hop());
break;
case NS_AF_INET:
dst = ch->next_hop();
/* FALL THROUGH */
case NS_AF_NONE:
if (IP_BROADCAST == (u_int32_t) dst)
{
mac_->hdr_dst((char*) HDR_MAC(p), MAC_BROADCAST);
break;
}
/* Assuming arptable is present, send query */
if (arptable_) {
tx = arptable_->arpresolve(dst, p, this);
break;
}
//if (varp_) {
//tx = varp_->arpresolve(dst, p);
//break;
//}
/* FALL THROUGH */
...
How can I get the next hop of a packet in C++? How can I set the field
addr_type_ of a packet to NS_AF_INET?
Thanks in advance.
--
=====================================================
Jose Juan Iglesias
=====================================================