On Fri, Feb 18, 2022 at 02:25:45PM +0100, Anton Lindqvist wrote:
> On Thu, Feb 17, 2022 at 10:25:19PM +0100, Anton Lindqvist wrote:
> > On Thu, Feb 17, 2022 at 09:50:20PM +0100, Alexander Bluhm wrote:
> > > Hi,
> > >
> > > With this snapshot regress/sys/net/vxlan crashes the kernel
> > > OpenBSD 7.0-current (GENERIC.MP) #355: Wed Feb 16 13:44:38 MST 2022
> > >
> > > START sys/net/vxlan 2022-02-17T08:07:25Z
> > >
> > > rm -f a.out [Ee]rrs mklog *.core y.tab.h
> > >
> > > ==== vxlan_1 ====
> > > ksh /usr/src/regress/sys/net/vxlan/vxlan_1.sh -R "11 12" -I "11 12"
> > > ifconfig: SIOCSLIFPHYRTABLE: Device busy
> > > ifconfig: SIOCSLIFPHYRTABLE: Device busy
> > > Timeout, server ot6 not responding.
> > >
> > > uvm_fault(0xfffffd8240699668, 0xc, 0, 2) -> e
> > > kernel: page fault trap, code=0
> > > Stopped at in_delmulti+0x54: addl $-0x1,0xc(%r14)
> > > TID PID UID PRFLAGS PFLAGS CPU COMMAND
> > > *455775 97669 0 0x2 0 1K ifconfig
> > > in_delmulti(0) at in_delmulti+0x54
> > > vxlan_ioctl(ffff800000e03000,80206910,ffff80002236d760) at
> > > vxlan_ioctl+0xfce
> > > ifioctl(fffffd82765d8e08,80206910,ffff80002236d760,ffff8000221b8008) at
> > > ifioctl+0x92b
> > > soo_ioctl(fffffd81408b7ae0,80206910,ffff80002236d760,ffff8000221b8008) at
> > > soo_ioctl+0x161
> > > sys_ioctl(ffff8000221b8008,ffff80002236d870,ffff80002236d8c0) at
> > > sys_ioctl+0x2c4
> > > syscall(ffff80002236d930) at syscall+0x374
> > > Xsyscall() at Xsyscall+0x128
> > > end of kernel
> > > end trace frame: 0x7f7ffffcb4f0, count: 8
> > >
> > > The same happens on i386, powerpc64, armv7, arm64, sparc64.
> >
> > Same here on my amd64-regress machine.
>
> No panic this time but the tests are failing.
>
> > sys/net/vxlan:
> Exit: 1
> Duration: 00:04:35
> Log: 151-sys-net-vxlan.log
vxlan needs a parent interface specified when using a multicast
destination address on the tunnel.
the first chunk forces arp to have run before letting pure icmp
through. it shouldnt be necessary, but i have to dig around the arp code
again.
Index: vxlan_2.sh
===================================================================
RCS file: /cvs/src/regress/sys/net/vxlan/vxlan_2.sh,v
retrieving revision 1.2
diff -u -p -r1.2 vxlan_2.sh
--- vxlan_2.sh 30 Nov 2016 22:21:20 -0000 1.2
+++ vxlan_2.sh 18 Feb 2022 03:34:20 -0000
@@ -22,6 +22,7 @@ do_ping()
{
local source="$1"
local dest="${VXLAN_NETID}${2}"
+ $PING -q -c 1 -w 1 -V "$source" "$dest" > /dev/null # warm up arp
$PING -q -c 3 -w 1 -V "$source" "$dest" | grep -q ' 0.0% packet loss'
&& return
echo "Failed to ping $dest from vstack $source"
STATUS=1
@@ -96,7 +97,7 @@ vstack_add() {
$SUDO ifconfig "$vstack_pairname" rdomain "$vstack" $IFCONFIG_OPTS
$SUDO ifconfig "$vstack_pairname" "$AF" "${vstack_tunsrc}${PAIR_PREFX}"
up
$SUDO ifconfig "vxlan$vstack" rdomain "$vstack" tunneldomain "$vstack"
$IFCONFIG_OPTS
- $SUDO ifconfig "vxlan$vstack" vnetid "$VNETID" tunnel "$vstack_tunsrc"
"${VXLAN_TUNDST}${tundst_sufx}" up
+ $SUDO ifconfig "vxlan$vstack" vnetid "$VNETID" tunnel "$vstack_tunsrc"
"${VXLAN_TUNDST}${tundst_sufx}" parent "$vstack_pairname" up
[[ -n $DYNAMIC ]] && $SUDO ifconfig "bridge$vstack" rdomain "$vstack"
add "vxlan$vstack" $IFCONFIG_OPTS up
}