[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ns] arp queue question



Hello, 
in arp.cc, one can find, line 187,


	llinfo->count_++;
	if(llinfo->hold_)
		drop(llinfo->hold_, DROP_IFQ_ARP_FULL);
	llinfo->hold_ = p;

	/*
	 *  We don't have a MAC address for this node.  Send an ARP Request.
	 *
	 *  XXX: Do I need to worry about the case where I keep ARPing
	 *	 for the SAME destination.
	 */
	int src = node_->address(); // this host's IP addr
	arprequest(src, dst, ll);
	return EADDRNOTAVAIL;
}

And this problem is adressed in the manual p101 too. In the
simulation I am working on I send several packets to the same
destination,  and with ARP as designed only the last packet sent
will maybe reach one day its destination, all the previous are
dropped at this point.

Did someone encounter this problem and developped a patch?
(for example a longer ARPqueue?) I would be interested to get it.

Or if you have another suggestion to keep a bunch of packets
waiting somewhere while the ARP fetches the MAC address of their
common destination,  I would be glad to hear about it.

Enjoy the week-end, 
--
Robin