Date: Fri, 25 Jul 2008 03:42:49 +0400 (MSD) From: .@babolo.ru To: Oleksandr Samoylyk <oleksandr@samoylyk.sumy.ua> Cc: freebsd-net@freebsd.org, damien.deville@netasq.com Subject: Re: proxy-arp & mpd Message-ID: <1216942969.767893.32648.nullmailer@cicuta.babolo.ru> In-Reply-To: <48874C7C.5070402@samoylyk.sumy.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
[ 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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1216942969.767893.32648.nullmailer>