On Sat, Feb 19, 2022 at 02:59:17PM +1000, David Gwynne wrote:
> 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
> }
Works over here, ok anton@