[panic] netmap(4) and if_lagg(4)

Harry Schmalzbauer freebsd at omnilan.de
Thu May 25 20:53:23 UTC 2017


 Bezüglich Harry Schmalzbauer's Nachricht vom 25.05.2017 22:46 (localtime):
>  Bezüglich Harry Schmalzbauer's Nachricht vom 25.05.2017 18:09 (localtime):
>> Bezüglich Vincenzo Maffione's Nachricht vom 25.05.2017 17:56 (localtime):
>>> I see the bug is in FreeBSD 11. I attached the simple patch to fix it.
>>> Can someone commit the patch to 11/stable?
>>>
>>> Harry: You should be able to workaround the bug by setting
>>>
>>> # sysctl dev.netmap.generic_rings=1
>> I'll recompile with your patch, thanks a lot!
> Hi, unfortunately I can't confirm it to be fixed.
>
> The kgdb output is exactly the same:
>
> (kgdb) list *0xffffffff80426714
> 0xffffffff80426714 is in generic_rx_handler
> (/usr/local/share/deploy-tools/RELENG_11/src/sys/dev/netmap/netmap_generic.c:628).
> 623             struct netmap_adapter *na = NA(ifp);
> 624             struct netmap_generic_adapter *gna = (struct
> netmap_generic_adapter *)na;
> 625             u_int work_done;
> 626             u_int rr = MBUF_RXQ(m); // receive ring number
> 627
> 628             if (rr >= na->num_rx_rings) {
> 629                     rr = rr % na->num_rx_rings; // XXX expensive...
> 630             }
> 631
> 632             /* limit the size of the queue */
> Current language:  auto; currently minimal
>
> Will double-check tomorrow that the binary really includes your patch. 
> Ofcourse I checked briefly and revision and buildtime check affirms it.

Last note for today; late here:
The patch is against sys/dev/netmap/netmap_freebsd.c (at least my
interpretation of it, since f1.c wasN#t applicable), and the debugger
claims sys/dev/netmap/netmap_generic.c!

thnaks,

-harry



More information about the freebsd-net mailing list