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
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to