Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Nov 2011 17:07:20 +0200
From:      Nikos Vassiliadis <nvass@gmx.com>
To:        Marko Zec <zec@fer.hr>
Cc:        freebsd-net@freebsd.org
Subject:   Re: arprequest triggered panic
Message-ID:  <4ECD0C28.4060606@gmx.com>
In-Reply-To: <201111231453.37900.zec@fer.hr>
References:  <4EC63D37.4050105@gmx.com> <20111123112204.GY96616@glebius.int.ru> <4ECCF257.9090801@gmx.com> <201111231453.37900.zec@fer.hr>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/23/2011 3:53 PM, Marko Zec wrote:
> On Wednesday 23 November 2011 14:17:11 Nikos Vassiliadis wrote:
>> On 11/23/2011 1:22 PM, Gleb Smirnoff wrote:
>>> I'd suspect VIMAGE. Can you please try w/o it and if it appears to be
>>> VIMAGE-related, then please file a PR.
>>
>> It seems VIMAGE related. I'll ask at virtualization@.
>
>  From the backtrace it looks like the curvnet context is not properly set in a
> timer-driven call graph originating at lagg_port_setlladdr().
>
> Perhaps this (untested) patch could help:
>
> --- //depot/user/zec/vimage_8/src/sys/net/if_lagg.c     2011-09-06
> 05:45:07.000000000 0000
> +++ /u/marko/p4/zec/vimage_8/src/sys/net/if_lagg.c      2011-09-06
> 05:45:07.000000000 0000
> @@ -468,7 +468,9 @@
>                  ifp = llq->llq_ifp;
>
>                  /* Set the link layer address */
> +               CURVNET_SET(ifp->if_vnet);
>                  error = if_setlladdr(ifp, llq->llq_lladdr, ETHER_ADDR_LEN);
> +               CURVNET_RESTORE();
>                  if (error)
>                          printf("%s: setlladdr failed on %s\n", __func__,
>                              ifp->if_xname);

Yes, that fixes the panic.

Thanks Marko, Nikos



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4ECD0C28.4060606>