proxy-arp & mpd

Oleksandr Samoylyk oleksandr at samoylyk.sumy.ua
Wed Jul 23 15:20:57 UTC 2008


Damien Deville wrote:
> Hi,
> 
> we are facing a similar issue with arp blocked in sbwait state.
> 
> Here is a way to reproduce it:
> - add a bunch of arp entries in your arp table (best is around 255 
> entries).
> - launch two arp -a -d in parallel ('arp -a -d & arp -a -d &')
> 
> Both processes will be in concurence to access the table. One process 
> will successfully nuke all entries of the arp table, the other one will 
> be blocked in rtmsg function on the read while executing a RTM_GET or 
> RTM_DELETE command after some time. By instrumenting arp we noticed that 
> it happened when both process access to the same entry.
> 
> Here is a backtrace of the blocked arp on FreeBSD 7.0
> 
> (gdb) bt
> #0  0x28158f81 in read () from /lib/libc.so.7
> #1  0x08049091 in rtmsg ()
> #2  0x08049b44 in delete ()
> #3  0x0804a1fd in nuke_entry ()
> #4  0x08049a77 in search ()
> #5  0x08049e75 in main ()
> 
> I can reproduce this on FreeBSD 4.11, 6.2 and 6.3, and FreeBSD 7.0.

Any workaround so far?

-- 
  Oleksandr Samoylyk
  OVS-RIPE


More information about the freebsd-net mailing list