Skip site navigation (1)Skip section navigation (2)
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>