proxy-arp & mpd

. at babolo.ru . at babolo.ru
Thu Jul 24 23:42:56 UTC 2008


[ Charset KOI8-U unsupported, converting... ]
> 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?
Another dirty hack  
http://free.babolo.ru/patch/src.usr.sbin.arp.patch (for FreeBSD 4)
http://free.babolo.ru/patch6/src.usr.sbin.arp.patch (for FreeBSD 6) 
http://free.babolo.ru/patch7/src.usr.sbin.arp.patch (for FreeBSD 7)




More information about the freebsd-net mailing list