From owner-freebsd-net@FreeBSD.ORG Wed Jul 23 15:20:57 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70E7F106566B for ; Wed, 23 Jul 2008 15:20:57 +0000 (UTC) (envelope-from oleksandr@samoylyk.sumy.ua) Received: from mail.telesweet.net (mail.telesweet.net [194.110.252.6]) by mx1.freebsd.org (Postfix) with ESMTP id 221798FC1D for ; Wed, 23 Jul 2008 15:20:57 +0000 (UTC) (envelope-from oleksandr@samoylyk.sumy.ua) Received: from localhost (localhost [127.0.0.1]) by mail.telesweet.net (Postfix) with ESMTP id 6199010C14A; Wed, 23 Jul 2008 18:20:54 +0300 (EEST) X-Spam-Flag: NO X-Spam-Score: -4.304 X-Spam-Level: X-Spam-Status: No, score=-4.304 required=5 tests=[ALL_TRUSTED=-1.8, AWL=0.095, BAYES_00=-2.599] Received: from [10.0.0.109] (pigeon-work.telesweet [10.0.0.109]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.telesweet.net (Postfix) with ESMTPS id 963D810C084; Wed, 23 Jul 2008 18:20:48 +0300 (EEST) Message-ID: <48874C7C.5070402@samoylyk.sumy.ua> Date: Wed, 23 Jul 2008 18:21:32 +0300 From: Oleksandr Samoylyk User-Agent: Thunderbird 2.0.0.14 (X11/20080505) MIME-Version: 1.0 To: damien.deville@netasq.com References: <4886474D.5030300@samoylyk.sumy.ua> <48864B6C.9030404@samoylyk.sumy.ua> <4886DE83.5080100@netasq.com> In-Reply-To: <4886DE83.5080100@netasq.com> Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: proxy-arp & mpd X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2008 15:20:57 -0000 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