Date: Wed, 23 Jul 2008 18:21:32 +0300 From: Oleksandr Samoylyk <oleksandr@samoylyk.sumy.ua> To: damien.deville@netasq.com Cc: freebsd-net@freebsd.org Subject: Re: proxy-arp & mpd Message-ID: <48874C7C.5070402@samoylyk.sumy.ua> In-Reply-To: <4886DE83.5080100@netasq.com> References: <4886474D.5030300@samoylyk.sumy.ua> <48864B6C.9030404@samoylyk.sumy.ua> <4886DE83.5080100@netasq.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48874C7C.5070402>
