Re: vxlan broken

2022-02-18 Thread Anton Lindqvist
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(0xfd8240699668, 0xc, 0, 2) -> e
> > > > kernel: page fault trap, code=0
> > > > Stopped at  in_delmulti+0x54:   addl$-0x1,0xc(%r14)
> > > > TIDPIDUID PRFLAGS PFLAGS  CPU  COMMAND
> > > > *455775  97669  0 0x2  01K ifconfig
> > > > in_delmulti(0) at in_delmulti+0x54
> > > > vxlan_ioctl(80e03000,80206910,80002236d760) at 
> > > > vxlan_ioctl+0xfce
> > > > ifioctl(fd82765d8e08,80206910,80002236d760,8000221b8008) at 
> > > > ifioctl+0x92b
> > > > soo_ioctl(fd81408b7ae0,80206910,80002236d760,8000221b8008) 
> > > > at soo_ioctl+0x161
> > > > sys_ioctl(8000221b8008,80002236d870,80002236d8c0) at 
> > > > sys_ioctl+0x2c4
> > > > syscall(80002236d930) at syscall+0x374
> > > > Xsyscall() at Xsyscall+0x128
> > > > end of kernel
> > > > end trace frame: 0x7f7cb4f0, 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.sh30 Nov 2016 22:21:20 -  1.2
> +++ vxlan_2.sh18 Feb 2022 03:34:20 -
> @@ -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@



Re: vxlan broken

2022-02-18 Thread David Gwynne
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(0xfd8240699668, 0xc, 0, 2) -> e
> > > kernel: page fault trap, code=0
> > > Stopped at  in_delmulti+0x54:   addl$-0x1,0xc(%r14)
> > > TIDPIDUID PRFLAGS PFLAGS  CPU  COMMAND
> > > *455775  97669  0 0x2  01K ifconfig
> > > in_delmulti(0) at in_delmulti+0x54
> > > vxlan_ioctl(80e03000,80206910,80002236d760) at 
> > > vxlan_ioctl+0xfce
> > > ifioctl(fd82765d8e08,80206910,80002236d760,8000221b8008) at 
> > > ifioctl+0x92b
> > > soo_ioctl(fd81408b7ae0,80206910,80002236d760,8000221b8008) at 
> > > soo_ioctl+0x161
> > > sys_ioctl(8000221b8008,80002236d870,80002236d8c0) at 
> > > sys_ioctl+0x2c4
> > > syscall(80002236d930) at syscall+0x374
> > > Xsyscall() at Xsyscall+0x128
> > > end of kernel
> > > end trace frame: 0x7f7cb4f0, 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 -  1.2
+++ vxlan_2.sh  18 Feb 2022 03:34:20 -
@@ -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
 }
 



Re: vxlan broken

2022-02-18 Thread Anton Lindqvist
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(0xfd8240699668, 0xc, 0, 2) -> e
> > kernel: page fault trap, code=0
> > Stopped at  in_delmulti+0x54:   addl$-0x1,0xc(%r14)
> > TIDPIDUID PRFLAGS PFLAGS  CPU  COMMAND
> > *455775  97669  0 0x2  01K ifconfig
> > in_delmulti(0) at in_delmulti+0x54
> > vxlan_ioctl(80e03000,80206910,80002236d760) at vxlan_ioctl+0xfce
> > ifioctl(fd82765d8e08,80206910,80002236d760,8000221b8008) at 
> > ifioctl+0x92b
> > soo_ioctl(fd81408b7ae0,80206910,80002236d760,8000221b8008) at 
> > soo_ioctl+0x161
> > sys_ioctl(8000221b8008,80002236d870,80002236d8c0) at 
> > sys_ioctl+0x2c4
> > syscall(80002236d930) at syscall+0x374
> > Xsyscall() at Xsyscall+0x128
> > end of kernel
> > end trace frame: 0x7f7cb4f0, 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_2.inet 
doas -n ksh /home/src/regress/sys/net/vxlan/vxlan_2.sh -R "40 41 42 43 44" -f 
inet
ifconfig: SIOCSIFFLAGS: Device not configured
ifconfig: SIOCSIFFLAGS: Device not configured
ifconfig: SIOCSIFFLAGS: Device not configured
ifconfig: SIOCSIFFLAGS: Device not configured
ifconfig: SIOCSIFFLAGS: Device not configured
cross_ping: vstacks=40 41 42 43 44, ping=ping, nomcast=
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.41 from vstack 40
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.42 from vstack 40
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.43 from vstack 40
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.44 from vstack 40
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.42 from vstack 41
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.43 from vstack 41
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.44 from vstack 41
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.43 from vstack 42
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.44 from vstack 42
ping: sendmsg: Network is down
ping: sendmsg: Network is down
ping: sendmsg: Network is down
Failed to ping 10.42.0.44 from vstack 43
cross_ping: vstacks=40 41 42 43 44, ping=ping6, nomcast=
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::41 from vstack 40
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::42 from vstack 40
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::43 from vstack 40
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::44 from vstack 40
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::42 from vstack 41
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::43 from vstack 41
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::44 from vstack 41
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::43 from vstack 42
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::44 from vstack 42
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
ping6: sendmsg: Network is down
Failed to ping fd42::44 from vstack 43
*** Error 1 in . (Makefile:13 'vxlan_2.inet')
FAILED

 vxlan_2.dyn 
env SUDO="doas -n" DYNAMIC=1 ksh /home/src/regress/sys/net/vxlan/vxlan_2.sh -R 
"40 41 42 

Re: vxlan broken

2022-02-17 Thread Anton Lindqvist
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(0xfd8240699668, 0xc, 0, 2) -> e
> kernel: page fault trap, code=0
> Stopped at  in_delmulti+0x54:   addl$-0x1,0xc(%r14)
> TIDPIDUID PRFLAGS PFLAGS  CPU  COMMAND
> *455775  97669  0 0x2  01K ifconfig
> in_delmulti(0) at in_delmulti+0x54
> vxlan_ioctl(80e03000,80206910,80002236d760) at vxlan_ioctl+0xfce
> ifioctl(fd82765d8e08,80206910,80002236d760,8000221b8008) at 
> ifioctl+0x92b
> soo_ioctl(fd81408b7ae0,80206910,80002236d760,8000221b8008) at 
> soo_ioctl+0x161
> sys_ioctl(8000221b8008,80002236d870,80002236d8c0) at 
> sys_ioctl+0x2c4
> syscall(80002236d930) at syscall+0x374
> Xsyscall() at Xsyscall+0x128
> end of kernel
> end trace frame: 0x7f7cb4f0, count: 8
> 
> The same happens on i386, powerpc64, armv7, arm64, sparc64.

Same here on my amd64-regress machine.



vxlan broken

2022-02-17 Thread Alexander Bluhm
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(0xfd8240699668, 0xc, 0, 2) -> e
kernel: page fault trap, code=0
Stopped at  in_delmulti+0x54:   addl$-0x1,0xc(%r14)
TIDPIDUID PRFLAGS PFLAGS  CPU  COMMAND
*455775  97669  0 0x2  01K ifconfig
in_delmulti(0) at in_delmulti+0x54
vxlan_ioctl(80e03000,80206910,80002236d760) at vxlan_ioctl+0xfce
ifioctl(fd82765d8e08,80206910,80002236d760,8000221b8008) at 
ifioctl+0x92b
soo_ioctl(fd81408b7ae0,80206910,80002236d760,8000221b8008) at 
soo_ioctl+0x161
sys_ioctl(8000221b8008,80002236d870,80002236d8c0) at sys_ioctl+0x2c4
syscall(80002236d930) at syscall+0x374
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7cb4f0, count: 8

The same happens on i386, powerpc64, armv7, arm64, sparc64.

bluhm