Re: RFC: ARP Packet Queues
- From: Garrett Cooper <gcooper@xxxxxxxxxxx>
- Date: Fri, 29 Oct 2010 10:19:48 -0700
On Fri, Oct 29, 2010 at 6:42 AM, George Neville-Neil
<gnn@xxxxxxxxxxxxxxxx> wrote:
Howdy,
Please review the following patch against HEAD:
http://people.freebsd.org/~gnn/head-arpqueue.diff
This patch makes two changes to the ARP code:
1) It adds a sysctl configurable queue of packets that are held until an ARP reply is received or
timed out.
net.link.ether.inet.maxhold
Having the queue addresses a problem in modern systems where programs that use connectionless
protocols for communication will suffer from dropping many packets when they start up or when
an ARP entry moves.
2) Makes the time we wait for an arp reply configurable via another sysctl.
net.link.ether.inet.wait
The old, pre 8.0, ARP code would run the timer once per second. The new
ARP code sets a timeout of 20 seconds on each entry. Neither value was specified
in RFC 826. As a matter of fact, RFC 826 had this to say about timeouts:
"It may be desirable to have table aging and/or timeouts. The
implementation of these is outside the scope of this protocol."
This new code does not change the default value of either the arpqueue (which was
always 1 packet) nor does it change the new value of the ARP down timeout..
I have a different patch for 7, which I will propose after I can get this in to
HEAD and MFC'd to 8.
Hi George,
I'm just curious so I took at look at the patch (although I'm not
really good at reviewing this section of code).
1. This needs a tab after the #define for the macro:
+#define V_arp_maxhold VNET(arp_maxhold)
2. Is the naming convention for these sysctls always
net.link.ether imply arp, or is it another naming convention?
3. Is there a reason why packets_dropped is a signed quantity,
i.e. int, not size_t, etc?
The rest looks ok, but I could be missing some context, or a
subtlety of some kind. I'll give this a shot on my new router box this
weekend because it looks interesting.
Thanks!
-Garrett
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: RFC: ARP Packet Queues
- From: George Neville-Neil
- Re: RFC: ARP Packet Queues
- References:
- RFC: ARP Packet Queues
- From: George Neville-Neil
- RFC: ARP Packet Queues
- Prev by Date: Re: RFC: ARP Packet Queues
- Next by Date: Adapting FreeBSD to PSARC/2010/029.
- Previous by thread: RFC: ARP Packet Queues
- Next by thread: Re: RFC: ARP Packet Queues
- Index(es):
Relevant Pages
|