Hello,

the following change lead to a kernerl panic after running 
/usr/src/regress/usr.sbin/bgpd/integrationtests/network_statement.sh

https://cvsweb.openbsd.org/src/sys/net/route.c?rev=1.381&content-type=text/x-cvsweb-markup

> CVSROOT:      /cvs
> Module name:  src
> Changes by:   [email protected]    2019/02/13 16:47:43
> 
> Modified files:
>       sys/net        : if_mpe.c if_mpw.c route.c route.h 
>       sys/netinet    : in.c ip_mroute.c 
>       sys/netinet6   : in6.c in6_ifattach.c ip6_mroute.c 
>       share/man/man9 : rt_ifa_add.9 
> 
> Log message:
> change rt_ifa_add and rt_ifa_del so they take an rdomain argument.
> 
> this allows mpls interfaces (mpe, mpw) to pass the rdomain they
> wish the local label to be in, rather than have it implicitly forced
> to 0 by these functions. right now they'll pass 0, but it will soon
> be possible to have them rx packets in other rdomains.
> 
> previously the functions used ifp->if_rdomain for the rdomain.
> everything other than mpls still passes ifp->if_rdomain.
> 
> ok mpi@

the Panic:

panic: kernel diagnostic assertion "rdomain == rtable_l2(rdomain)" fail
ed: file "/sys/net/route.c", line 1116
Stopped at      db_enter+0x12:  popq    %r11
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*316919  99618      0         0x3          0    1K ifconfig
db_enter() at db_enter+0x12
panic() at panic+0x128
__assert(ffffffff81a98516,ffffffff81a9c30b,45c,ffffffff81a4b70b) at __assert+0x
28
rt_ifa_del(ffff80000054f600,200004,ffff80000054f658,b) at rt_ifa_del+0x30b
rt_ifa_dellocal(ffff80000054f600) at rt_ifa_dellocal+0xc7
in_purgeaddr(ffff80000054f600) at in_purgeaddr+0xab
in_ifdetach(ffff80000054a800) at in_ifdetach+0x42
if_detach(ffff80000054a800) at if_detach+0x11e
loop_clone_destroy(ffff80000054a800) at loop_clone_destroy+0xb8
if_clone_destroy(ffff800021ee8c20) at if_clone_destroy+0x10c
ifioctl(fffffd8279ccdac0,80206979,ffff800021ee8c20,ffff800021fc5540) at ifioctl
+0x1f4
sys_ioctl(ffff800021fc5540,ffff800021ee8d50,ffff800021ee8d40) at sys_ioctl+0x3d
5
syscall(ffff800021ee8df0) at syscall+0x338
Xsyscall(6,36,1,36,7f7ffffe4438,7281f765060) at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffe4340, count: 1

--
Greetings,
Moritz Buhl

Reply via email to