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@

Reply via email to