[Ns-developers] ARP pending queue
Guillaume Vu-Brugier
gvubrugier at gmail.com
Thu Apr 3 09:55:58 PDT 2008
Hi,
I recently spent a lot of time debugging a ns-3 program involving TCP and
UDP flows over a CSMA network.
The problem was that 2 flows were competing at the beginning of the
simulation and a TCP SYN segment was lost during the ARP address resolution
step, thus delaying this flow for 3s.
I believe that the ARP implementation should buffer more than one outgoing
packets while waiting for the ARP reply :
The Linux kernel seems to do this (with a default 3-packet buffer configured
in /proc/sys/net/ipv4/neigh/DEV/unres_qlen [1]) and the Omnet++ INET
framework too [2].
The attached patch modifies arp-cache and arp-l3-protocol to provide such a
functionality. It is not complete nor thoroughly tested but solved my
initial problem, comments are welcomed.
Refs.
[1] http://lartc.org/howto/lartc.kernel.obscure.html - 13.2.3 'Neighbor
policy'
[2] http://www.omnetpp.org/doc/INET/walkthrough/tutorial.html#pendingqueue
--
Guillaume
More information about the Ns-developers
mailing list