Module Name: src Committed By: snj Date: Mon Feb 26 00:41:14 UTC 2018
Modified Files: src/sys/net [netbsd-8]: if_bridge.c src/tests/net [netbsd-8]: net_common.sh src/tests/net/if_bridge [netbsd-8]: t_bridge.sh src/tests/net/if_gif [netbsd-8]: t_gif.sh src/tests/net/if_ipsec [netbsd-8]: t_ipsec.sh src/tests/net/if_l2tp [netbsd-8]: t_l2tp.sh src/tests/net/if_loop [netbsd-8]: t_basic.sh src/tests/net/if_pppoe [netbsd-8]: t_pppoe.sh src/tests/net/if_tap [netbsd-8]: t_tap.sh src/tests/net/if_tun [netbsd-8]: Makefile t_tun.sh src/tests/net/if_vlan [netbsd-8]: t_vlan.sh Log Message: Pull up following revision(s) (requested by ozaki-r in ticket #572): sys/net/if_bridge.c: 1.138, 1.148 tests/net/if_bridge/t_bridge.sh: 1.18 tests/net/if_gif/t_gif.sh: 1.12 tests/net/if_ipsec/t_ipsec.sh: 1.3 tests/net/if_l2tp/t_l2tp.sh: 1.4 tests/net/if_loop/t_basic.sh: 1.2 tests/net/if_pppoe/t_pppoe.sh: 1.18 tests/net/if_tap/t_tap.sh: 1.7 tests/net/if_tun/Makefile: 1.2 tests/net/if_tun/t_tun.sh: 1.5 tests/net/if_vlan/t_vlan.sh: 1.8 tests/net/net_common.sh: 1.26 Remove unnecessary splsoftnet -- If the bridge is not running, don't call bridge_stop. Otherwise the following commands will crash the kernel: ifconfig bridge0 create ifconfig bridge0 destroy -- Commonalize and add tests of creating/destroying interfaces To generate a diff of this commit: cvs rdiff -u -r1.134.6.6 -r1.134.6.7 src/sys/net/if_bridge.c cvs rdiff -u -r1.18.2.3 -r1.18.2.4 src/tests/net/net_common.sh cvs rdiff -u -r1.17 -r1.17.4.1 src/tests/net/if_bridge/t_bridge.sh cvs rdiff -u -r1.10.2.1 -r1.10.2.2 src/tests/net/if_gif/t_gif.sh cvs rdiff -u -r1.3.2.2 -r1.3.2.3 src/tests/net/if_ipsec/t_ipsec.sh cvs rdiff -u -r1.2.8.1 -r1.2.8.2 src/tests/net/if_l2tp/t_l2tp.sh cvs rdiff -u -r1.1 -r1.1.8.1 src/tests/net/if_loop/t_basic.sh cvs rdiff -u -r1.17 -r1.17.4.1 src/tests/net/if_pppoe/t_pppoe.sh cvs rdiff -u -r1.6 -r1.6.6.1 src/tests/net/if_tap/t_tap.sh cvs rdiff -u -r1.1 -r1.1.8.1 src/tests/net/if_tun/Makefile cvs rdiff -u -r1.4 -r1.4.6.1 src/tests/net/if_tun/t_tun.sh cvs rdiff -u -r1.1.8.1 -r1.1.8.2 src/tests/net/if_vlan/t_vlan.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/if_bridge.c diff -u src/sys/net/if_bridge.c:1.134.6.6 src/sys/net/if_bridge.c:1.134.6.7 --- src/sys/net/if_bridge.c:1.134.6.6 Tue Jan 16 13:01:10 2018 +++ src/sys/net/if_bridge.c Mon Feb 26 00:41:13 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bridge.c,v 1.134.6.6 2018/01/16 13:01:10 martin Exp $ */ +/* $NetBSD: if_bridge.c,v 1.134.6.7 2018/02/26 00:41:13 snj Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -80,7 +80,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.134.6.6 2018/01/16 13:01:10 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.134.6.7 2018/02/26 00:41:13 snj Exp $"); #ifdef _KERNEL_OPT #include "opt_bridge_ipf.h" @@ -468,11 +468,9 @@ bridge_clone_destroy(struct ifnet *ifp) { struct bridge_softc *sc = ifp->if_softc; struct bridge_iflist *bif; - int s; - - s = splsoftnet(); - bridge_stop(ifp, 1); + if ((ifp->if_flags & IFF_RUNNING) != 0) + bridge_stop(ifp, 1); BRIDGE_LOCK(sc); for (;;) { @@ -485,8 +483,6 @@ bridge_clone_destroy(struct ifnet *ifp) PSLIST_DESTROY(&sc->sc_iflist_psref.bip_iflist); BRIDGE_UNLOCK(sc); - splx(s); - if_detach(ifp); /* Tear down the routing table. */ Index: src/tests/net/net_common.sh diff -u src/tests/net/net_common.sh:1.18.2.3 src/tests/net/net_common.sh:1.18.2.4 --- src/tests/net/net_common.sh:1.18.2.3 Fri Nov 17 20:43:11 2017 +++ src/tests/net/net_common.sh Mon Feb 26 00:41:13 2018 @@ -1,4 +1,4 @@ -# $NetBSD: net_common.sh,v 1.18.2.3 2017/11/17 20:43:11 snj Exp $ +# $NetBSD: net_common.sh,v 1.18.2.4 2018/02/26 00:41:13 snj Exp $ # # Copyright (c) 2016 Internet Initiative Japan Inc. # All rights reserved. @@ -431,3 +431,45 @@ skip_if_qemu() atf_skip "unreliable under qemu, skip until PR kern/43997 fixed" fi } + +test_create_destroy_common() +{ + local sock=$1 + local ifname=$2 + local test_address=${3:-false} + local ipv4="10.0.0.1/24" + local ipv6="fc00::1" + + export RUMP_SERVER=$sock + + atf_check -s exit:0 rump.ifconfig $ifname create + atf_check -s exit:0 rump.ifconfig $ifname destroy + + atf_check -s exit:0 rump.ifconfig $ifname create + atf_check -s exit:0 rump.ifconfig $ifname up + atf_check -s exit:0 rump.ifconfig $ifname down + atf_check -s exit:0 rump.ifconfig $ifname destroy + + # Destroy while UP + atf_check -s exit:0 rump.ifconfig $ifname create + atf_check -s exit:0 rump.ifconfig $ifname up + atf_check -s exit:0 rump.ifconfig $ifname destroy + + if ! $test_address; then + return + fi + + # With an IPv4 address + atf_check -s exit:0 rump.ifconfig $ifname create + atf_check -s exit:0 rump.ifconfig $ifname inet $ipv4 + atf_check -s exit:0 rump.ifconfig $ifname up + atf_check -s exit:0 rump.ifconfig $ifname destroy + + # With an IPv6 address + atf_check -s exit:0 rump.ifconfig $ifname create + atf_check -s exit:0 rump.ifconfig $ifname inet6 $ipv6 + atf_check -s exit:0 rump.ifconfig $ifname up + atf_check -s exit:0 rump.ifconfig $ifname destroy + + unset RUMP_SERVER +} Index: src/tests/net/if_bridge/t_bridge.sh diff -u src/tests/net/if_bridge/t_bridge.sh:1.17 src/tests/net/if_bridge/t_bridge.sh:1.17.4.1 --- src/tests/net/if_bridge/t_bridge.sh:1.17 Sat Mar 11 04:24:52 2017 +++ src/tests/net/if_bridge/t_bridge.sh Mon Feb 26 00:41:13 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_bridge.sh,v 1.17 2017/03/11 04:24:52 ozaki-r Exp $ +# $NetBSD: t_bridge.sh,v 1.17.4.1 2018/02/26 00:41:13 snj Exp $ # # Copyright (c) 2014 The NetBSD Foundation, Inc. # All rights reserved. @@ -40,11 +40,19 @@ IP6BR2=fc00::12 DEBUG=${DEBUG:-false} TIMEOUT=5 +atf_test_case bridge_create_destroy cleanup atf_test_case bridge_ipv4 cleanup atf_test_case bridge_ipv6 cleanup atf_test_case bridge_member_ipv4 cleanup atf_test_case bridge_member_ipv6 cleanup +bridge_create_destroy_head() +{ + + atf_set "descr" "Test creating/destroying bridge interfaces" + atf_set "require.progs" "rump_server" +} + bridge_ipv4_head() { atf_set "descr" "Does simple if_bridge tests" @@ -312,6 +320,14 @@ test_ping6_member() rump.ifconfig -v shmif0 } +bridge_create_destroy_body() +{ + + rump_server_start $SOCK1 bridge + + test_create_destroy_common $SOCK1 bridge0 +} + bridge_ipv4_body() { setup @@ -392,6 +408,13 @@ bridge_member_ipv6_body() rump_server_destroy_ifaces } +bridge_create_destroy_cleanup() +{ + + $DEBUG && dump + cleanup +} + bridge_ipv4_cleanup() { @@ -422,6 +445,8 @@ bridge_member_ipv6_cleanup() atf_init_test_cases() { + + atf_add_test_case bridge_create_destroy atf_add_test_case bridge_ipv4 atf_add_test_case bridge_ipv6 atf_add_test_case bridge_member_ipv4 Index: src/tests/net/if_gif/t_gif.sh diff -u src/tests/net/if_gif/t_gif.sh:1.10.2.1 src/tests/net/if_gif/t_gif.sh:1.10.2.2 --- src/tests/net/if_gif/t_gif.sh:1.10.2.1 Sat Oct 21 19:43:55 2017 +++ src/tests/net/if_gif/t_gif.sh Mon Feb 26 00:41:13 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_gif.sh,v 1.10.2.1 2017/10/21 19:43:55 snj Exp $ +# $NetBSD: t_gif.sh,v 1.10.2.2 2018/02/26 00:41:13 snj Exp $ # # Copyright (c) 2015 Internet Initiative Japan Inc. # All rights reserved. @@ -64,6 +64,29 @@ ROUTER2_GIFIP6_RECURSIVE2=fc00:204::1 DEBUG=${DEBUG:-false} TIMEOUT=5 +atf_test_case gif_create_destroy cleanup +gif_create_destroy_head() +{ + + atf_set "descr" "Test creating/destroying gif interfaces" + atf_set "require.progs" "rump_server" +} + +gif_create_destroy_body() +{ + + rump_server_start $SOCK1 netinet6 gif + + test_create_destroy_common $SOCK1 gif0 true +} + +gif_create_destroy_cleanup() +{ + + $DEBUG && dump + cleanup +} + setup_router() { sock=${1} @@ -757,6 +780,9 @@ add_test_allproto() atf_init_test_cases() { + + atf_add_test_case gif_create_destroy + add_test_allproto basic "basic tests" add_test_allproto ioctl "ioctl tests" add_test_allproto recursive "recursive check tests" Index: src/tests/net/if_ipsec/t_ipsec.sh diff -u src/tests/net/if_ipsec/t_ipsec.sh:1.3.2.2 src/tests/net/if_ipsec/t_ipsec.sh:1.3.2.3 --- src/tests/net/if_ipsec/t_ipsec.sh:1.3.2.2 Sun Feb 11 21:17:35 2018 +++ src/tests/net/if_ipsec/t_ipsec.sh Mon Feb 26 00:41:13 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_ipsec.sh,v 1.3.2.2 2018/02/11 21:17:35 snj Exp $ +# $NetBSD: t_ipsec.sh,v 1.3.2.3 2018/02/26 00:41:13 snj Exp $ # # Copyright (c) 2017 Internet Initiative Japan Inc. # All rights reserved. @@ -64,6 +64,29 @@ ROUTER2_IPSECIP6_RECURSIVE2=fc00:204::1 DEBUG=${DEBUG:-false} TIMEOUT=7 +atf_test_case ipsecif_create_destroy cleanup +ipsecif_create_destroy_head() +{ + + atf_set "descr" "Test creating/destroying gif interfaces" + atf_set "require.progs" "rump_server" +} + +ipsecif_create_destroy_body() +{ + + rump_server_start $SOCK1 ipsec + + test_create_destroy_common $SOCK1 ipsec0 +} + +ipsecif_create_destroy_cleanup() +{ + + $DEBUG && dump + cleanup +} + setup_router() { local sock=${1} @@ -919,6 +942,9 @@ add_test_allproto() atf_init_test_cases() { + + atf_add_test_case ipsecif_create_destroy + add_test_allproto basic "basic tests" add_test_allproto ioctl "ioctl tests" add_test_allproto recursive "recursive check tests" Index: src/tests/net/if_l2tp/t_l2tp.sh diff -u src/tests/net/if_l2tp/t_l2tp.sh:1.2.8.1 src/tests/net/if_l2tp/t_l2tp.sh:1.2.8.2 --- src/tests/net/if_l2tp/t_l2tp.sh:1.2.8.1 Sat Oct 21 19:43:55 2017 +++ src/tests/net/if_l2tp/t_l2tp.sh Mon Feb 26 00:41:13 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_l2tp.sh,v 1.2.8.1 2017/10/21 19:43:55 snj Exp $ +# $NetBSD: t_l2tp.sh,v 1.2.8.2 2018/02/26 00:41:13 snj Exp $ # # Copyright (c) 2017 Internet Initiative Japan Inc. # All rights reserved. @@ -49,6 +49,29 @@ CLIENT2_LANIP6=fc00:1::2 TIMEOUT=5 DEBUG=${DEBUG:-false} +atf_test_case l2tp_create_destroy cleanup +l2tp_create_destroy_head() +{ + + atf_set "descr" "Test creating/destroying l2tp interfaces" + atf_set "require.progs" "rump_server" +} + +l2tp_create_destroy_body() +{ + + rump_server_start $LAC1SOCK l2tp + + test_create_destroy_common $LAC1SOCK l2tp0 +} + +l2tp_create_destroy_cleanup() +{ + + $DEBUG && dump + cleanup +} + setup_lac() { sock=${1} @@ -435,6 +458,9 @@ add_test_allproto() atf_init_test_cases() { + + atf_add_test_case l2tp_create_destroy + add_test_allproto basic "basic tests" # add_test_allproto recursive "recursive check tests" } Index: src/tests/net/if_loop/t_basic.sh diff -u src/tests/net/if_loop/t_basic.sh:1.1 src/tests/net/if_loop/t_basic.sh:1.1.8.1 --- src/tests/net/if_loop/t_basic.sh:1.1 Tue Feb 28 03:32:11 2017 +++ src/tests/net/if_loop/t_basic.sh Mon Feb 26 00:41:14 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_basic.sh,v 1.1 2017/02/28 03:32:11 ozaki-r Exp $ +# $NetBSD: t_basic.sh,v 1.1.8.1 2018/02/26 00:41:14 snj Exp $ # # Copyright (c) 2017 Internet Initiative Japan Inc. # All rights reserved. @@ -41,12 +41,7 @@ loop_create_destroy_body() rump_server_start $SOCK_LOCAL netinet6 - export RUMP_SERVER=${SOCK_LOCAL} - - atf_check -s exit:0 rump.ifconfig lo1 create - atf_check -s exit:0 rump.ifconfig lo1 up - atf_check -s exit:0 rump.ifconfig lo1 down - atf_check -s exit:0 rump.ifconfig lo1 destroy + test_create_destroy_common $SOCK_LOCAL lo1 true } loop_create_destroy_cleanup() Index: src/tests/net/if_pppoe/t_pppoe.sh diff -u src/tests/net/if_pppoe/t_pppoe.sh:1.17 src/tests/net/if_pppoe/t_pppoe.sh:1.17.4.1 --- src/tests/net/if_pppoe/t_pppoe.sh:1.17 Tue Mar 28 01:27:46 2017 +++ src/tests/net/if_pppoe/t_pppoe.sh Mon Feb 26 00:41:14 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_pppoe.sh,v 1.17 2017/03/28 01:27:46 ozaki-r Exp $ +# $NetBSD: t_pppoe.sh,v 1.17.4.1 2018/02/26 00:41:14 snj Exp $ # # Copyright (c) 2016 Internet Initiative Japan Inc. # All rights reserved. @@ -39,6 +39,29 @@ TIMEOUT=3 WAITTIME=10 DEBUG=${DEBUG:-false} +atf_test_case pppoe_create_destroy cleanup +pppoe_create_destroy_head() +{ + + atf_set "descr" "Test creating/destroying pppoe interfaces" + atf_set "require.progs" "rump_server" +} + +pppoe_create_destroy_body() +{ + + rump_server_start $CLIENT netinet6 pppoe + + test_create_destroy_common $CLIENT pppoe0 true +} + +pppoe_create_destroy_cleanup() +{ + + $DEBUG && dump + cleanup +} + setup() { inet=true @@ -403,6 +426,8 @@ pppoe6_chap_cleanup() atf_init_test_cases() { + + atf_add_test_case pppoe_create_destroy atf_add_test_case pppoe_pap atf_add_test_case pppoe_chap atf_add_test_case pppoe6_pap Index: src/tests/net/if_tap/t_tap.sh diff -u src/tests/net/if_tap/t_tap.sh:1.6 src/tests/net/if_tap/t_tap.sh:1.6.6.1 --- src/tests/net/if_tap/t_tap.sh:1.6 Fri Nov 25 08:51:16 2016 +++ src/tests/net/if_tap/t_tap.sh Mon Feb 26 00:41:14 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_tap.sh,v 1.6 2016/11/25 08:51:16 ozaki-r Exp $ +# $NetBSD: t_tap.sh,v 1.6.6.1 2018/02/26 00:41:14 snj Exp $ # # Copyright (c) 2016 Internet Initiative Japan Inc. # All rights reserved. @@ -51,23 +51,7 @@ tap_create_destroy_body() rump_server_start $SOCK_LOCAL netinet6 tap - export RUMP_SERVER=${SOCK_LOCAL} - - # Create and destroy (no address) - atf_check -s exit:0 rump.ifconfig tap0 create - atf_check -s exit:0 rump.ifconfig tap0 destroy - - # Create and destroy (with an IPv4 address) - atf_check -s exit:0 rump.ifconfig tap0 create - atf_check -s exit:0 rump.ifconfig tap0 $IP4_TAP - atf_check -s exit:0 rump.ifconfig tap0 up - atf_check -s exit:0 rump.ifconfig tap0 destroy - - # Create and destroy (with an IPv6 address) - atf_check -s exit:0 rump.ifconfig tap0 create - atf_check -s exit:0 rump.ifconfig tap0 inet6 $IP6_TAP - atf_check -s exit:0 rump.ifconfig tap0 up - atf_check -s exit:0 rump.ifconfig tap0 destroy + test_create_destroy_common $SOCK_LOCAL tap0 true } tap_create_destroy_cleanup() Index: src/tests/net/if_tun/Makefile diff -u src/tests/net/if_tun/Makefile:1.1 src/tests/net/if_tun/Makefile:1.1.8.1 --- src/tests/net/if_tun/Makefile:1.1 Mon Sep 5 02:26:48 2016 +++ src/tests/net/if_tun/Makefile Mon Feb 26 00:41:14 2018 @@ -1,10 +1,13 @@ -# $NetBSD: Makefile,v 1.1 2016/09/05 02:26:48 ozaki-r Exp $ +# $NetBSD: Makefile,v 1.1.8.1 2018/02/26 00:41:14 snj Exp $ # .include <bsd.own.mk> TESTSDIR= ${TESTSBASE}/net/if_tun -TESTS_SH= t_tun +.for name in tun +TESTS_SH+= t_${name} +TESTS_SH_SRC_t_${name}= ../net_common.sh t_${name}.sh +.endfor .include <bsd.test.mk> Index: src/tests/net/if_tun/t_tun.sh diff -u src/tests/net/if_tun/t_tun.sh:1.4 src/tests/net/if_tun/t_tun.sh:1.4.6.1 --- src/tests/net/if_tun/t_tun.sh:1.4 Mon Nov 7 05:25:37 2016 +++ src/tests/net/if_tun/t_tun.sh Mon Feb 26 00:41:14 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_tun.sh,v 1.4 2016/11/07 05:25:37 ozaki-r Exp $ +# $NetBSD: t_tun.sh,v 1.4.6.1 2018/02/26 00:41:14 snj Exp $ # # Copyright (c) 2016 Internet Initiative Japan Inc. # All rights reserved. @@ -49,12 +49,7 @@ tun_create_destroy_body() atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${SOCK_LOCAL} - export RUMP_SERVER=${SOCK_LOCAL} - - atf_check -s exit:0 rump.ifconfig tun0 create - atf_check -s exit:0 rump.ifconfig tun0 up - atf_check -s exit:0 rump.ifconfig tun0 down - atf_check -s exit:0 rump.ifconfig tun0 destroy + test_create_destroy_common $SOCK_LOCAL tun0 } tun_create_destroy_cleanup() Index: src/tests/net/if_vlan/t_vlan.sh diff -u src/tests/net/if_vlan/t_vlan.sh:1.1.8.1 src/tests/net/if_vlan/t_vlan.sh:1.1.8.2 --- src/tests/net/if_vlan/t_vlan.sh:1.1.8.1 Wed Nov 22 16:45:35 2017 +++ src/tests/net/if_vlan/t_vlan.sh Mon Feb 26 00:41:14 2018 @@ -1,4 +1,4 @@ -# $NetBSD: t_vlan.sh,v 1.1.8.1 2017/11/22 16:45:35 martin Exp $ +# $NetBSD: t_vlan.sh,v 1.1.8.2 2018/02/26 00:41:14 snj Exp $ # # Copyright (c) 2016 Internet Initiative Japan Inc. # All rights reserved. @@ -44,6 +44,9 @@ vlan_create_destroy_body_common() export RUMP_SERVER=${SOCK_LOCAL} atf_check -s exit:0 rump.ifconfig vlan0 create + atf_check -s exit:0 rump.ifconfig vlan0 destroy + + atf_check -s exit:0 rump.ifconfig vlan0 create atf_check -s exit:0 rump.ifconfig vlan0 up atf_check -s exit:0 rump.ifconfig vlan0 down atf_check -s exit:0 rump.ifconfig vlan0 destroy