Home | History | Annotate | Line # | Download | only in if_vlan
t_vlan.sh revision 1.8.2.1
      1  1.8.2.1  pgoyette #	$NetBSD: t_vlan.sh,v 1.8.2.1 2018/06/25 07:26:09 pgoyette Exp $
      2      1.1     ozaki #
      3      1.1     ozaki # Copyright (c) 2016 Internet Initiative Japan Inc.
      4      1.1     ozaki # All rights reserved.
      5      1.1     ozaki #
      6      1.1     ozaki # Redistribution and use in source and binary forms, with or without
      7      1.1     ozaki # modification, are permitted provided that the following conditions
      8      1.1     ozaki # are met:
      9      1.1     ozaki # 1. Redistributions of source code must retain the above copyright
     10      1.1     ozaki #    notice, this list of conditions and the following disclaimer.
     11      1.1     ozaki # 2. Redistributions in binary form must reproduce the above copyright
     12      1.1     ozaki #    notice, this list of conditions and the following disclaimer in the
     13      1.1     ozaki #    documentation and/or other materials provided with the distribution.
     14      1.1     ozaki #
     15      1.1     ozaki # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     16      1.1     ozaki # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     17      1.1     ozaki # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     18      1.1     ozaki # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     19      1.1     ozaki # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     20      1.1     ozaki # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     21      1.1     ozaki # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     22      1.1     ozaki # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     23      1.1     ozaki # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     24      1.1     ozaki # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     25      1.1     ozaki # POSSIBILITY OF SUCH DAMAGE.
     26      1.1     ozaki #
     27      1.1     ozaki 
     28      1.1     ozaki BUS=bus
     29      1.1     ozaki SOCK_LOCAL=unix://commsock1
     30      1.1     ozaki SOCK_REMOTE=unix://commsock2
     31      1.2     ozaki IP_LOCAL0=10.0.0.1
     32      1.2     ozaki IP_LOCAL1=10.0.1.1
     33      1.2     ozaki IP_REMOTE0=10.0.0.2
     34      1.2     ozaki IP_REMOTE1=10.0.1.2
     35  1.8.2.1  pgoyette IP_MCADDR0=224.0.0.10
     36      1.2     ozaki IP6_LOCAL0=fc00:0::1
     37      1.2     ozaki IP6_LOCAL1=fc00:1::1
     38      1.2     ozaki IP6_REMOTE0=fc00:0::2
     39      1.2     ozaki IP6_REMOTE1=fc00:1::2
     40  1.8.2.1  pgoyette IP6_MCADDR0=ff11::10
     41  1.8.2.1  pgoyette ETH_IP_MCADDR0=01:00:5e:00:00:0a
     42  1.8.2.1  pgoyette ETH_IP6_MCADDR0=33:33:00:00:00:10
     43      1.1     ozaki 
     44      1.1     ozaki DEBUG=${DEBUG:-false}
     45      1.1     ozaki 
     46      1.2     ozaki vlan_create_destroy_body_common()
     47      1.2     ozaki {
     48      1.2     ozaki 	export RUMP_SERVER=${SOCK_LOCAL}
     49      1.2     ozaki 
     50      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
     51      1.8     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 destroy
     52      1.8     ozaki 
     53      1.8     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
     54      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
     55      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 down
     56      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 destroy
     57      1.2     ozaki 
     58      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 create
     59      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
     60      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 1 vlanif shmif0
     61      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
     62      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 destroy
     63      1.2     ozaki 
     64      1.2     ozaki 	# more than one vlan interface with a same parent interface
     65      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif1 create
     66      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
     67      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
     68      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 create
     69      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 11 vlanif shmif0
     70      1.2     ozaki 
     71      1.2     ozaki 	# more than one interface with another parent interface
     72      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan2 create
     73      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan2 vlan 12 vlanif shmif1
     74      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan3 create
     75      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan3 vlan 13 vlanif shmif1
     76      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 destroy
     77      1.2     ozaki 	atf_check -s exit:0 -o not-match:'shmif0' rump.ifconfig vlan0
     78      1.2     ozaki 	atf_check -s exit:0 -o not-match:'shmif0' rump.ifconfig vlan1
     79      1.2     ozaki 	atf_check -s exit:0 -o match:'shmif1' rump.ifconfig vlan2
     80      1.2     ozaki 	atf_check -s exit:0 -o match:'shmif1' rump.ifconfig vlan3
     81      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 destroy
     82      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 destroy
     83      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan2 destroy
     84      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan3 destroy
     85      1.2     ozaki 
     86      1.2     ozaki }
     87      1.2     ozaki 
     88      1.1     ozaki atf_test_case vlan_create_destroy cleanup
     89      1.1     ozaki vlan_create_destroy_head()
     90      1.1     ozaki {
     91      1.1     ozaki 
     92      1.1     ozaki 	atf_set "descr" "tests of creation and deletion of vlan interface"
     93      1.1     ozaki 	atf_set "require.progs" "rump_server"
     94      1.1     ozaki }
     95      1.1     ozaki 
     96      1.1     ozaki vlan_create_destroy_body()
     97      1.1     ozaki {
     98      1.1     ozaki 	rump_server_start $SOCK_LOCAL vlan
     99      1.1     ozaki 
    100      1.2     ozaki 	vlan_create_destroy_body_common
    101      1.2     ozaki }
    102      1.1     ozaki 
    103      1.1     ozaki 
    104      1.1     ozaki vlan_create_destroy_cleanup()
    105      1.1     ozaki {
    106      1.1     ozaki 
    107      1.1     ozaki 	$DEBUG && dump
    108      1.1     ozaki 	cleanup
    109      1.1     ozaki }
    110      1.1     ozaki 
    111      1.2     ozaki atf_test_case vlan_create_destroy6 cleanup
    112      1.2     ozaki vlan_create_destroy6_head()
    113      1.1     ozaki {
    114      1.1     ozaki 
    115      1.2     ozaki 	atf_set "descr" "tests of creation and deletion of vlan interface with IPv6"
    116      1.1     ozaki 	atf_set "require.progs" "rump_server"
    117      1.1     ozaki }
    118      1.1     ozaki 
    119      1.2     ozaki vlan_create_destroy6_body()
    120      1.2     ozaki {
    121      1.2     ozaki 
    122      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan netinet6
    123      1.2     ozaki 
    124      1.2     ozaki 	vlan_create_destroy_body_common
    125      1.2     ozaki }
    126      1.2     ozaki 
    127      1.2     ozaki vlan_create_destroy6_cleanup()
    128      1.2     ozaki {
    129      1.2     ozaki 
    130      1.2     ozaki 	$DEBUG && dump
    131      1.2     ozaki 	cleanup
    132      1.2     ozaki }
    133      1.2     ozaki 
    134      1.2     ozaki vlan_basic_body_common()
    135      1.1     ozaki {
    136      1.2     ozaki 	local outfile=./out
    137      1.2     ozaki 	local af=inet
    138      1.2     ozaki 	local prefix=24
    139      1.2     ozaki 	local local0=$IP_LOCAL0
    140      1.2     ozaki 	local remote0=$IP_REMOTE0
    141      1.2     ozaki 	local ping_cmd="rump.ping -n -w 1 -c 1"
    142      1.2     ozaki 
    143      1.2     ozaki 	if [ x"$1" = x"inet6" ]; then
    144      1.2     ozaki 		af="inet6"
    145      1.2     ozaki 		prefix=64
    146      1.2     ozaki 		local0=$IP6_LOCAL0
    147      1.2     ozaki 		remote0=$IP6_REMOTE0
    148      1.2     ozaki 		ping_cmd="rump.ping6 -n -c 1"
    149      1.2     ozaki 	fi
    150      1.1     ozaki 
    151      1.1     ozaki 	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS
    152      1.1     ozaki 	rump_server_add_iface $SOCK_REMOTE shmif0 $BUS
    153      1.1     ozaki 
    154      1.1     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    155      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
    156      1.1     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    157      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
    158      1.1     ozaki 
    159      1.1     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    160      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    161      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    162      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $af $local0/$prefix
    163      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    164      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig -w 10
    165      1.1     ozaki 
    166      1.1     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    167      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    168      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    169      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $af $remote0/$prefix
    170      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    171      1.1     ozaki 	atf_check -s exit:0 rump.ifconfig -w 10
    172      1.1     ozaki 
    173      1.2     ozaki 	extract_new_packets $BUS > $outfile
    174      1.2     ozaki 
    175      1.1     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    176      1.2     ozaki 	atf_check -s exit:0 -o ignore $ping_cmd $remote0
    177      1.2     ozaki 
    178      1.2     ozaki 	extract_new_packets $BUS > $outfile
    179      1.2     ozaki 	atf_check -s exit:0 -o match:'vlan 10' cat $outfile
    180      1.2     ozaki 
    181      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    182      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 20 vlanif shmif0
    183      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $af $local0/$prefix
    184      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    185      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig -w 10
    186      1.2     ozaki 
    187      1.2     ozaki 	extract_new_packets $BUS > $outfile
    188      1.2     ozaki 	atf_check -s not-exit:0 -o ignore $ping_cmd $remote0
    189      1.2     ozaki 
    190      1.2     ozaki 	extract_new_packets $BUS > $outfile
    191      1.2     ozaki 	atf_check -s exit:0 -o match:'vlan 20' cat $outfile
    192      1.3  knakahar 
    193      1.3  knakahar 	export RUMP_SERVER=$SOCK_LOCAL
    194      1.3  knakahar 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    195      1.3  knakahar 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    196      1.3  knakahar 	atf_check -s exit:0 rump.ifconfig vlan0 $af $local0/$prefix
    197      1.3  knakahar 	atf_check -s exit:0 rump.ifconfig vlan0 up
    198      1.3  knakahar 	atf_check -s exit:0 rump.ifconfig -w 10
    199      1.3  knakahar 
    200      1.3  knakahar 	atf_check -s exit:0 -o ignore rump.ifconfig -z vlan0
    201      1.3  knakahar 	atf_check -s exit:0 -o ignore $ping_cmd $remote0
    202      1.3  knakahar 	rump.ifconfig -v vlan0 > $outfile
    203      1.3  knakahar 
    204      1.3  knakahar 	atf_check -s exit:0 -o not-match:' 0 packets' cat $outfile
    205      1.3  knakahar 	atf_check -s exit:0 -o not-match:' 0 bytes' cat $outfile
    206      1.2     ozaki }
    207      1.2     ozaki 
    208      1.2     ozaki atf_test_case vlan_basic cleanup
    209      1.2     ozaki vlan_basic_head()
    210      1.2     ozaki {
    211      1.2     ozaki 
    212      1.2     ozaki 	atf_set "descr" "tests of communications over vlan interfaces"
    213      1.2     ozaki 	atf_set "require.progs" "rump_server"
    214      1.2     ozaki }
    215      1.2     ozaki 
    216      1.2     ozaki vlan_basic_body()
    217      1.2     ozaki {
    218      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan
    219      1.2     ozaki 	rump_server_start $SOCK_REMOTE vlan
    220      1.2     ozaki 
    221      1.2     ozaki 	vlan_basic_body_common inet
    222      1.2     ozaki 
    223      1.1     ozaki }
    224      1.1     ozaki 
    225      1.1     ozaki vlan_basic_cleanup()
    226      1.1     ozaki {
    227      1.1     ozaki 
    228      1.1     ozaki 	$DEBUG && dump
    229      1.1     ozaki 	cleanup
    230      1.1     ozaki }
    231      1.1     ozaki 
    232      1.2     ozaki atf_test_case vlan_basic6 cleanup
    233      1.2     ozaki vlan_basic6_head()
    234      1.2     ozaki {
    235      1.2     ozaki 
    236      1.2     ozaki 	atf_set "descr" "tests of communications over vlan interfaces using IPv6"
    237      1.2     ozaki 	atf_set "require.progs" "rump_server"
    238      1.2     ozaki }
    239      1.2     ozaki 
    240      1.2     ozaki vlan_basic6_body()
    241      1.2     ozaki {
    242      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan netinet6
    243      1.2     ozaki 	rump_server_start $SOCK_REMOTE vlan netinet6
    244      1.2     ozaki 
    245      1.2     ozaki 	vlan_basic_body_common inet6
    246      1.2     ozaki }
    247      1.2     ozaki 
    248      1.2     ozaki vlan_basic6_cleanup()
    249      1.2     ozaki {
    250      1.2     ozaki 
    251      1.2     ozaki 	$DEBUG && dump
    252      1.2     ozaki 	cleanup
    253      1.2     ozaki }
    254      1.2     ozaki 
    255      1.2     ozaki vlanid_config_and_ping()
    256      1.2     ozaki {
    257      1.2     ozaki 	local vlanid=$1
    258      1.2     ozaki 	shift
    259      1.2     ozaki 
    260      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    261      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan $vlanid vlanif shmif0
    262      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $IP_LOCAL0/24
    263      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    264      1.2     ozaki 
    265      1.2     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    266      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan $vlanid vlanif shmif0
    267      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $IP_REMOTE0/24
    268      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    269      1.2     ozaki 
    270      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    271      1.2     ozaki 	atf_check -s exit:0 -o ignore rump.ping -n -w 1 -c 1 $IP_REMOTE0
    272      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    273      1.2     ozaki 
    274      1.2     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    275      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    276      1.2     ozaki }
    277      1.2     ozaki 
    278      1.2     ozaki vlanid_config_and_ping6()
    279      1.2     ozaki {
    280      1.2     ozaki 	local vlanid=$1
    281      1.2     ozaki 	shift
    282      1.2     ozaki 
    283      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    284      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan $vlanid vlanif shmif0
    285      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 inet6 $IP6_LOCAL0/64
    286      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    287      1.2     ozaki 
    288      1.2     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    289      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan $vlanid vlanif shmif0
    290      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 inet6 $IP6_REMOTE0/64
    291      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    292      1.2     ozaki 
    293      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    294      1.2     ozaki 	atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 $IP6_REMOTE0
    295      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    296      1.2     ozaki 
    297      1.2     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    298      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    299      1.2     ozaki }
    300      1.2     ozaki 
    301      1.2     ozaki vlan_vlanid_body_common()
    302      1.2     ozaki {
    303      1.2     ozaki 	local af=inet
    304      1.2     ozaki 	local prefix=24
    305      1.2     ozaki 	local sysctl_param="net.inet.ip.dad_count=0"
    306      1.2     ozaki 	local ping_cmd="rump.ping -n -w 1 -c 1"
    307      1.2     ozaki 	local config_and_ping=vlanid_config_and_ping
    308      1.2     ozaki 	local local0=$IP_LOCAL0
    309      1.2     ozaki 	local local1=$IP_LOCAL1
    310      1.2     ozaki 	local remote0=$IP_REMOTE0
    311      1.2     ozaki 	local remote1=$IP_REMOTE1
    312      1.2     ozaki 
    313      1.2     ozaki 	if [ x"$1" = x"inet6" ]; then
    314      1.2     ozaki 		af=inet6
    315      1.2     ozaki 		prefix=64
    316      1.2     ozaki 		sysctl_param="net.inet6.ip6.dad_count=0"
    317      1.2     ozaki 		ping_cmd="rump.ping6 -n -c 1"
    318      1.2     ozaki 		config_and_ping=vlanid_config_and_ping6
    319      1.2     ozaki 		local0=$IP6_LOCAL0
    320      1.2     ozaki 		local1=$IP6_LOCAL1
    321      1.2     ozaki 		remote0=$IP6_REMOTE0
    322      1.2     ozaki 		remote1=$IP6_REMOTE1
    323      1.2     ozaki 	fi
    324      1.2     ozaki 
    325      1.2     ozaki 	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS
    326      1.2     ozaki 	rump_server_add_iface $SOCK_REMOTE shmif0 $BUS
    327      1.2     ozaki 
    328      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    329      1.2     ozaki 	atf_check -s exit:0 -o ignore rump.sysctl -w $sysctl_param
    330      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
    331      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    332      1.2     ozaki 
    333      1.2     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    334      1.2     ozaki 	atf_check -s exit:0 -o ignore rump.sysctl -w $sysctl_param
    335      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
    336      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    337      1.2     ozaki 
    338      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    339      1.2     ozaki 	atf_check -s not-exit:0 -e ignore\
    340      1.2     ozaki 	    rump.ifconfig vlan0 vlan -1 vlanif shmif0
    341      1.2     ozaki 
    342      1.6       kre 	# $config_and_ping 0 # reserved vlan id
    343      1.2     ozaki 	$config_and_ping 1
    344      1.2     ozaki 	$config_and_ping 4094
    345      1.6       kre 	# $config_and_ping 4095 #reserved vlan id
    346      1.2     ozaki 
    347      1.7       kre 	if [ "${RANDOM:-0}" != "${RANDOM:-0}" ]
    348      1.7       kre 	then
    349      1.7       kre 		for TAG in $(( ${RANDOM:-0} % 4092 + 2 )) \
    350      1.7       kre 			   $(( ${RANDOM:-0} % 4092 + 2 )) \
    351      1.7       kre 			   $(( ${RANDOM:-0} % 4092 + 2 ))
    352      1.7       kre 		do
    353      1.7       kre 			$config_and_ping "${TAG}"
    354      1.7       kre 		done
    355      1.7       kre 	fi
    356      1.7       kre 
    357      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    358      1.7       kre 	for TAG in 0 4095 4096 $((4096*4 + 1)) 65536 65537 $((65536 + 4095))
    359      1.7       kre 	do
    360      1.7       kre 		atf_check -s not-exit:0 -e not-empty \
    361      1.7       kre 		    rump.ifconfig vlan0 vlan "${TAG}" vlanif shmif0
    362      1.7       kre 	done
    363      1.2     ozaki 
    364      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 1 vlanif shmif0
    365      1.2     ozaki 	atf_check -s not-exit:0 -e ignore \
    366      1.2     ozaki 	    rump.ifconfig vlan0 vlan 2 vlanif shmif0
    367      1.2     ozaki 
    368      1.2     ozaki 	atf_check -s not-exit:0 -e ignore \
    369      1.2     ozaki 	    rump.ifconfig vlan0 vlan 1 vlanif shmif1
    370      1.2     ozaki 
    371      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    372      1.2     ozaki 	atf_check -s not-exit:0 -e ignore \
    373      1.2     ozaki 	    rump.ifconfig vlan0 $local0/$prefix
    374      1.2     ozaki 
    375      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    376      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    377      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $af $local0/$prefix
    378      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    379      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 create
    380      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 11 vlanif shmif0
    381      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 $af $local1/$prefix
    382      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 up
    383      1.2     ozaki 
    384      1.2     ozaki 	export RUMP_SERVER=$SOCK_REMOTE
    385      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    386      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    387      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 $af $remote0/$prefix
    388      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    389      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 create
    390      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 11 vlanif shmif0
    391      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 $af $remote1/$prefix
    392      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan1 up
    393      1.2     ozaki 
    394      1.2     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    395      1.2     ozaki 	atf_check -s exit:0 -o ignore $ping_cmd $remote0
    396      1.2     ozaki 	atf_check -s exit:0 -o ignore $ping_cmd $remote1
    397      1.2     ozaki }
    398      1.2     ozaki 
    399      1.2     ozaki atf_test_case vlan_vlanid cleanup
    400      1.2     ozaki vlan_vlanid_head()
    401      1.2     ozaki {
    402      1.2     ozaki 
    403      1.2     ozaki 	atf_set "descr" "tests of configuration for vlan id"
    404      1.2     ozaki 	atf_set "require.progs" "rump_server"
    405      1.2     ozaki }
    406      1.2     ozaki 
    407      1.2     ozaki vlan_vlanid_body()
    408      1.2     ozaki {
    409      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan
    410      1.2     ozaki 	rump_server_start $SOCK_REMOTE vlan
    411      1.2     ozaki 
    412      1.2     ozaki 	vlan_vlanid_body_common inet
    413      1.2     ozaki }
    414      1.2     ozaki 
    415      1.2     ozaki vlan_vlanid_cleanup()
    416      1.2     ozaki {
    417      1.2     ozaki 
    418      1.2     ozaki 	$DEBUG && dump
    419      1.2     ozaki 	cleanup
    420      1.2     ozaki }
    421      1.2     ozaki 
    422      1.2     ozaki atf_test_case vlan_vlanid6 cleanup
    423      1.2     ozaki vlan_vlanid6_head()
    424      1.2     ozaki {
    425      1.2     ozaki 
    426      1.2     ozaki 	atf_set "descr" "tests of configuration for vlan id using IPv6"
    427      1.2     ozaki 	atf_set "require.progs" "rump_server"
    428      1.2     ozaki }
    429      1.2     ozaki 
    430      1.2     ozaki 
    431      1.2     ozaki vlan_vlanid6_body()
    432      1.2     ozaki {
    433      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan netinet6
    434      1.2     ozaki 	rump_server_start $SOCK_REMOTE vlan netinet6
    435      1.2     ozaki 
    436      1.2     ozaki 	vlan_vlanid_body_common inet6
    437      1.2     ozaki }
    438      1.2     ozaki 
    439      1.2     ozaki vlan_vlanid6_cleanup()
    440      1.2     ozaki {
    441      1.2     ozaki 
    442      1.2     ozaki 	$DEBUG && dump
    443      1.2     ozaki 	cleanup
    444      1.2     ozaki }
    445      1.2     ozaki 
    446      1.2     ozaki vlan_configs_body_common()
    447      1.2     ozaki {
    448      1.2     ozaki 	export RUMP_SERVER=${SOCK_LOCAL}
    449      1.2     ozaki 
    450      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 create
    451      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig shmif1 create
    452      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    453      1.2     ozaki 
    454      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    455      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    456      1.2     ozaki 
    457      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    458      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif shmif0
    459      1.2     ozaki 
    460      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    461      1.2     ozaki 	atf_check -s exit:0 -e ignore rump.ifconfig vlan0 -vlanif shmif1
    462      1.2     ozaki 	atf_check -s exit:0 -e ignore rump.ifconfig vlan0 -vlanif shmif2
    463      1.2     ozaki 
    464      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    465      1.2     ozaki 
    466      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    467      1.2     ozaki 	atf_check -s exit:0 -e match:'Invalid argument' \
    468      1.2     ozaki 	    rump.ifconfig vlan0 mtu 1497
    469      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 mtu 1496
    470      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 mtu 42
    471      1.2     ozaki 	atf_check -s exit:0 -e match:'Invalid argument' \
    472      1.2     ozaki 	    rump.ifconfig vlan0 mtu 41
    473      1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    474      1.4   msaitoh 
    475      1.4   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan1 create
    476      1.4   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    477      1.4   msaitoh 	atf_check -s not-exit:0 -e match:'File exists' \
    478      1.4   msaitoh 	    rump.ifconfig vlan1 vlan 10 vlanif shmif0
    479      1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 10 vlanif shmif1
    480      1.5   msaitoh 
    481      1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan1 -vlanif shmif1
    482      1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 10 vlanif shmif1
    483      1.5   msaitoh 
    484      1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif shmif0
    485      1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    486      1.2     ozaki }
    487      1.2     ozaki 
    488      1.2     ozaki atf_test_case vlan_configs cleanup
    489      1.2     ozaki vlan_configs_head()
    490      1.2     ozaki {
    491      1.2     ozaki 	atf_set "descr" "tests of configuration except vlan id"
    492      1.2     ozaki 	atf_set "require.progs" "rump_server"
    493      1.2     ozaki }
    494      1.2     ozaki 
    495      1.2     ozaki vlan_configs_body()
    496      1.2     ozaki {
    497      1.2     ozaki 
    498      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan
    499      1.2     ozaki 
    500      1.2     ozaki 	vlan_configs_body_common
    501      1.2     ozaki 
    502      1.2     ozaki }
    503      1.2     ozaki 
    504      1.2     ozaki vlan_configs_cleanup()
    505      1.2     ozaki {
    506      1.2     ozaki 
    507      1.2     ozaki 	$DEBUG && dump
    508      1.2     ozaki 	cleanup
    509      1.2     ozaki }
    510      1.2     ozaki 
    511      1.2     ozaki atf_test_case vlan_configs6 cleanup
    512      1.2     ozaki vlan_configs6_head()
    513      1.2     ozaki {
    514      1.2     ozaki 	atf_set "descr" "tests of configuration except vlan id using IPv6"
    515      1.2     ozaki 	atf_set "require.progs" "rump_server"
    516      1.2     ozaki }
    517      1.2     ozaki 
    518      1.2     ozaki vlan_configs6_body()
    519      1.2     ozaki {
    520      1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan netinet6
    521      1.2     ozaki 
    522      1.2     ozaki 	vlan_configs_body_common
    523      1.2     ozaki }
    524      1.2     ozaki 
    525      1.2     ozaki vlan_configs6_cleanup()
    526      1.2     ozaki {
    527      1.2     ozaki 	$DEBUG && dump
    528      1.2     ozaki 	cleanup
    529      1.2     ozaki }
    530      1.2     ozaki 
    531  1.8.2.1  pgoyette vlan_bridge_body_common()
    532  1.8.2.1  pgoyette {
    533  1.8.2.1  pgoyette 
    534  1.8.2.1  pgoyette 	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS
    535  1.8.2.1  pgoyette 
    536  1.8.2.1  pgoyette 	export RUMP_SERVER=$SOCK_LOCAL
    537  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig shmif0 up
    538  1.8.2.1  pgoyette 
    539  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 create
    540  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    541  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 up
    542  1.8.2.1  pgoyette 	$DEBUG && rump.ifconfig vlan0
    543  1.8.2.1  pgoyette 
    544  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig bridge0 create
    545  1.8.2.1  pgoyette 	# Adjust to the MTU of a vlan on a shmif
    546  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig bridge0 mtu 1496
    547  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig bridge0 up
    548  1.8.2.1  pgoyette 	# Test brconfig add
    549  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING brconfig bridge0 add vlan0
    550  1.8.2.1  pgoyette 	$DEBUG && brconfig bridge0
    551  1.8.2.1  pgoyette 	# Test brconfig delete
    552  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING brconfig bridge0 delete vlan0
    553  1.8.2.1  pgoyette 
    554  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING brconfig bridge0 add vlan0
    555  1.8.2.1  pgoyette 	# Test vlan destruction with bridge
    556  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 destroy
    557  1.8.2.1  pgoyette 
    558  1.8.2.1  pgoyette 	rump_server_destroy_ifaces
    559  1.8.2.1  pgoyette }
    560  1.8.2.1  pgoyette 
    561  1.8.2.1  pgoyette atf_test_case vlan_bridge cleanup
    562  1.8.2.1  pgoyette vlan_bridge_head()
    563  1.8.2.1  pgoyette {
    564  1.8.2.1  pgoyette 
    565  1.8.2.1  pgoyette 	atf_set "descr" "tests of vlan interfaces with bridges (IPv4)"
    566  1.8.2.1  pgoyette 	atf_set "require.progs" "rump_server"
    567  1.8.2.1  pgoyette }
    568  1.8.2.1  pgoyette 
    569  1.8.2.1  pgoyette vlan_bridge_body()
    570  1.8.2.1  pgoyette {
    571  1.8.2.1  pgoyette 
    572  1.8.2.1  pgoyette 	rump_server_start $SOCK_LOCAL vlan bridge
    573  1.8.2.1  pgoyette 	vlan_bridge_body_common
    574  1.8.2.1  pgoyette }
    575  1.8.2.1  pgoyette 
    576  1.8.2.1  pgoyette vlan_bridge_cleanup()
    577  1.8.2.1  pgoyette {
    578  1.8.2.1  pgoyette 
    579  1.8.2.1  pgoyette 	$DEBUG && dump
    580  1.8.2.1  pgoyette 	cleanup
    581  1.8.2.1  pgoyette }
    582  1.8.2.1  pgoyette 
    583  1.8.2.1  pgoyette atf_test_case vlan_bridge6 cleanup
    584  1.8.2.1  pgoyette vlan_bridge6_head()
    585  1.8.2.1  pgoyette {
    586  1.8.2.1  pgoyette 
    587  1.8.2.1  pgoyette 	atf_set "descr" "tests of vlan interfaces with bridges (IPv6)"
    588  1.8.2.1  pgoyette 	atf_set "require.progs" "rump_server"
    589  1.8.2.1  pgoyette }
    590  1.8.2.1  pgoyette 
    591  1.8.2.1  pgoyette vlan_bridge6_body()
    592  1.8.2.1  pgoyette {
    593  1.8.2.1  pgoyette 
    594  1.8.2.1  pgoyette 	rump_server_start $SOCK_LOCAL vlan netinet6 bridge
    595  1.8.2.1  pgoyette 	vlan_bridge_body_common
    596  1.8.2.1  pgoyette }
    597  1.8.2.1  pgoyette 
    598  1.8.2.1  pgoyette vlan_bridge6_cleanup()
    599  1.8.2.1  pgoyette {
    600  1.8.2.1  pgoyette 
    601  1.8.2.1  pgoyette 	$DEBUG && dump
    602  1.8.2.1  pgoyette 	cleanup
    603  1.8.2.1  pgoyette }
    604  1.8.2.1  pgoyette 
    605  1.8.2.1  pgoyette vlan_multicast_body_common()
    606  1.8.2.1  pgoyette {
    607  1.8.2.1  pgoyette 
    608  1.8.2.1  pgoyette 	local af="inet"
    609  1.8.2.1  pgoyette 	local local0=$IP_LOCAL0
    610  1.8.2.1  pgoyette 	local local1=$IP_LOCAL1
    611  1.8.2.1  pgoyette 	local mcaddr=$IP_MCADDR0
    612  1.8.2.1  pgoyette 	local eth_mcaddr=$ETH_IP_MCADDR0
    613  1.8.2.1  pgoyette 	local prefix=24
    614  1.8.2.1  pgoyette 	local siocXmulti="$(atf_get_srcdir)/siocXmulti"
    615  1.8.2.1  pgoyette 
    616  1.8.2.1  pgoyette 	if [ x"$1" =  x"inet6" ]; then
    617  1.8.2.1  pgoyette 		af="inet6"
    618  1.8.2.1  pgoyette 		prefix=64
    619  1.8.2.1  pgoyette 		local0=$IP6_LOCAL0
    620  1.8.2.1  pgoyette 		local1=$IP6_LOCAL1
    621  1.8.2.1  pgoyette 		mcaddr=$IP6_MCADDR0
    622  1.8.2.1  pgoyette 		eth_mcaddr=$ETH_IP6_MCADDR0
    623  1.8.2.1  pgoyette 	fi
    624  1.8.2.1  pgoyette 
    625  1.8.2.1  pgoyette 	export RUMP_SERVER=$SOCK_LOCAL
    626  1.8.2.1  pgoyette 
    627  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig shmif0 create
    628  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig shmif0 linkstr net0 up
    629  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 create
    630  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    631  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 $af $local0/$prefix up
    632  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan1 create
    633  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 11 vlanif shmif0
    634  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan1 $af $local1/$prefix up
    635  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig -w 10
    636  1.8.2.1  pgoyette 
    637  1.8.2.1  pgoyette 	# check the initial state
    638  1.8.2.1  pgoyette 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    639  1.8.2.1  pgoyette 
    640  1.8.2.1  pgoyette 	# add a multicast address
    641  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    642  1.8.2.1  pgoyette 	atf_check -s exit:0 -o match:"$eth_mcaddr" $HIJACKING ifmcstat
    643  1.8.2.1  pgoyette 
    644  1.8.2.1  pgoyette 	# delete the address
    645  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    646  1.8.2.1  pgoyette 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    647  1.8.2.1  pgoyette 
    648  1.8.2.1  pgoyette 	# delete a non-existing address
    649  1.8.2.1  pgoyette 	atf_check -s not-exit:0 -e ignore $HIJACKING $siocXmulti del vlan0 $mcaddr
    650  1.8.2.1  pgoyette 
    651  1.8.2.1  pgoyette 	# add an address to different interfaces
    652  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    653  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan1 $mcaddr
    654  1.8.2.1  pgoyette 	atf_check -s exit:0 -o match:"${eth_mcaddr}: 2" $HIJACKING ifmcstat
    655  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    656  1.8.2.1  pgoyette 
    657  1.8.2.1  pgoyette 	# delete the address with invalid interface
    658  1.8.2.1  pgoyette 	atf_check -s not-exit:0 -e match:"Invalid argument" \
    659  1.8.2.1  pgoyette 	    $HIJACKING $siocXmulti del vlan0 $mcaddr
    660  1.8.2.1  pgoyette 
    661  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan1 $mcaddr
    662  1.8.2.1  pgoyette 
    663  1.8.2.1  pgoyette 	# add and delete a same address more than once
    664  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    665  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    666  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    667  1.8.2.1  pgoyette 	atf_check -s exit:0 -o match:"${eth_mcaddr}: 3" $HIJACKING ifmcstat
    668  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    669  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    670  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    671  1.8.2.1  pgoyette 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    672  1.8.2.1  pgoyette 
    673  1.8.2.1  pgoyette 	# delete all address added to parent device when remove
    674  1.8.2.1  pgoyette 	# the config of parent interface
    675  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    676  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    677  1.8.2.1  pgoyette 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    678  1.8.2.1  pgoyette 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif shmif0
    679  1.8.2.1  pgoyette 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    680  1.8.2.1  pgoyette }
    681  1.8.2.1  pgoyette 
    682  1.8.2.1  pgoyette atf_test_case vlan_multicast cleanup
    683  1.8.2.1  pgoyette vlan_multicast_head()
    684  1.8.2.1  pgoyette {
    685  1.8.2.1  pgoyette 	atf_set "descr" "tests of multicast address adding and deleting"
    686  1.8.2.1  pgoyette 	atf_set "require.progs" "rump_server"
    687  1.8.2.1  pgoyette }
    688  1.8.2.1  pgoyette 
    689  1.8.2.1  pgoyette vlan_multicast_body()
    690  1.8.2.1  pgoyette {
    691  1.8.2.1  pgoyette 	rump_server_start $SOCK_LOCAL vlan
    692  1.8.2.1  pgoyette 
    693  1.8.2.1  pgoyette 	vlan_multicast_body_common inet
    694  1.8.2.1  pgoyette }
    695  1.8.2.1  pgoyette 
    696  1.8.2.1  pgoyette vlan_multicast_cleanup()
    697  1.8.2.1  pgoyette {
    698  1.8.2.1  pgoyette 	$DEBUG && dump
    699  1.8.2.1  pgoyette 	cleanup
    700  1.8.2.1  pgoyette }
    701  1.8.2.1  pgoyette 
    702  1.8.2.1  pgoyette atf_test_case vlan_multicast6 cleanup
    703  1.8.2.1  pgoyette vlan_multicast6_head()
    704  1.8.2.1  pgoyette {
    705  1.8.2.1  pgoyette 	atf_set "descr" "tests of multicast address adding and deleting with IPv6"
    706  1.8.2.1  pgoyette 	atf_set "require.progs" "rump_server"
    707  1.8.2.1  pgoyette }
    708  1.8.2.1  pgoyette 
    709  1.8.2.1  pgoyette vlan_multicast6_body()
    710  1.8.2.1  pgoyette {
    711  1.8.2.1  pgoyette 	rump_server_start $SOCK_LOCAL vlan netinet6
    712  1.8.2.1  pgoyette 
    713  1.8.2.1  pgoyette 	vlan_multicast_body_common inet6
    714  1.8.2.1  pgoyette }
    715  1.8.2.1  pgoyette 
    716  1.8.2.1  pgoyette vlan_multicast6_cleanup()
    717  1.8.2.1  pgoyette {
    718  1.8.2.1  pgoyette 	$DEBUG && dump
    719  1.8.2.1  pgoyette 	cleanup
    720  1.8.2.1  pgoyette }
    721  1.8.2.1  pgoyette 
    722      1.1     ozaki atf_init_test_cases()
    723      1.1     ozaki {
    724      1.1     ozaki 
    725      1.1     ozaki 	atf_add_test_case vlan_create_destroy
    726      1.1     ozaki 	atf_add_test_case vlan_basic
    727      1.2     ozaki 	atf_add_test_case vlan_vlanid
    728      1.2     ozaki 	atf_add_test_case vlan_configs
    729  1.8.2.1  pgoyette 	atf_add_test_case vlan_bridge
    730  1.8.2.1  pgoyette 	atf_add_test_case vlan_multicast
    731      1.2     ozaki 
    732      1.2     ozaki 	atf_add_test_case vlan_create_destroy6
    733      1.2     ozaki 	atf_add_test_case vlan_basic6
    734      1.2     ozaki 	atf_add_test_case vlan_vlanid6
    735      1.2     ozaki 	atf_add_test_case vlan_configs6
    736  1.8.2.1  pgoyette 	atf_add_test_case vlan_bridge6
    737  1.8.2.1  pgoyette 	atf_add_test_case vlan_multicast6
    738      1.1     ozaki }
    739