Home | History | Annotate | Line # | Download | only in if_vlan
t_vlan.sh revision 1.12
      1  1.12  knakahar #	$NetBSD: t_vlan.sh,v 1.12 2018/11/14 05:07:48 knakahara 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.10  yamaguch 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.10  yamaguch IP6_MCADDR0=ff11::10
     41  1.10  yamaguch ETH_IP_MCADDR0=01:00:5e:00:00:0a
     42  1.10  yamaguch 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.12  knakahar 	# unset U/L bit to detect a bug fixed by if_vlan.c:r1.132
    453  1.12  knakahar 	atf_check -s exit:0 rump.ifconfig shmif0 link b0:a0:75:00:01:00 active
    454  1.12  knakahar 	atf_check -s exit:0 rump.ifconfig shmif1 link b0:a0:75:00:01:01 active
    455   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    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
    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 rump.ifconfig vlan0 -vlanif shmif0
    462   1.2     ozaki 
    463   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    464   1.2     ozaki 	atf_check -s exit:0 -e ignore rump.ifconfig vlan0 -vlanif shmif1
    465   1.2     ozaki 	atf_check -s exit:0 -e ignore rump.ifconfig vlan0 -vlanif shmif2
    466   1.2     ozaki 
    467   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    468   1.2     ozaki 
    469   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    470   1.2     ozaki 	atf_check -s exit:0 -e match:'Invalid argument' \
    471   1.2     ozaki 	    rump.ifconfig vlan0 mtu 1497
    472   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 mtu 1496
    473   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 mtu 42
    474   1.2     ozaki 	atf_check -s exit:0 -e match:'Invalid argument' \
    475   1.2     ozaki 	    rump.ifconfig vlan0 mtu 41
    476   1.2     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif
    477   1.4   msaitoh 
    478   1.4   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan1 create
    479   1.4   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    480   1.4   msaitoh 	atf_check -s not-exit:0 -e match:'File exists' \
    481   1.4   msaitoh 	    rump.ifconfig vlan1 vlan 10 vlanif shmif0
    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 vlan1 -vlanif shmif1
    485   1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 10 vlanif shmif1
    486   1.5   msaitoh 
    487   1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif shmif0
    488   1.5   msaitoh 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    489   1.2     ozaki }
    490   1.2     ozaki 
    491   1.2     ozaki atf_test_case vlan_configs cleanup
    492   1.2     ozaki vlan_configs_head()
    493   1.2     ozaki {
    494   1.2     ozaki 	atf_set "descr" "tests of configuration except vlan id"
    495   1.2     ozaki 	atf_set "require.progs" "rump_server"
    496   1.2     ozaki }
    497   1.2     ozaki 
    498   1.2     ozaki vlan_configs_body()
    499   1.2     ozaki {
    500   1.2     ozaki 
    501   1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan
    502   1.2     ozaki 
    503   1.2     ozaki 	vlan_configs_body_common
    504   1.2     ozaki 
    505   1.2     ozaki }
    506   1.2     ozaki 
    507   1.2     ozaki vlan_configs_cleanup()
    508   1.2     ozaki {
    509   1.2     ozaki 
    510   1.2     ozaki 	$DEBUG && dump
    511   1.2     ozaki 	cleanup
    512   1.2     ozaki }
    513   1.2     ozaki 
    514   1.2     ozaki atf_test_case vlan_configs6 cleanup
    515   1.2     ozaki vlan_configs6_head()
    516   1.2     ozaki {
    517   1.2     ozaki 	atf_set "descr" "tests of configuration except vlan id using IPv6"
    518   1.2     ozaki 	atf_set "require.progs" "rump_server"
    519   1.2     ozaki }
    520   1.2     ozaki 
    521   1.2     ozaki vlan_configs6_body()
    522   1.2     ozaki {
    523   1.2     ozaki 	rump_server_start $SOCK_LOCAL vlan netinet6
    524   1.2     ozaki 
    525   1.2     ozaki 	vlan_configs_body_common
    526   1.2     ozaki }
    527   1.2     ozaki 
    528   1.2     ozaki vlan_configs6_cleanup()
    529   1.2     ozaki {
    530   1.2     ozaki 	$DEBUG && dump
    531   1.2     ozaki 	cleanup
    532   1.2     ozaki }
    533   1.2     ozaki 
    534   1.9     ozaki vlan_bridge_body_common()
    535   1.9     ozaki {
    536   1.9     ozaki 
    537   1.9     ozaki 	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS
    538   1.9     ozaki 
    539   1.9     ozaki 	export RUMP_SERVER=$SOCK_LOCAL
    540   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
    541   1.9     ozaki 
    542   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 create
    543   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    544   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 up
    545   1.9     ozaki 	$DEBUG && rump.ifconfig vlan0
    546   1.9     ozaki 
    547   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig bridge0 create
    548   1.9     ozaki 	# Adjust to the MTU of a vlan on a shmif
    549   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig bridge0 mtu 1496
    550   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig bridge0 up
    551   1.9     ozaki 	# Test brconfig add
    552   1.9     ozaki 	atf_check -s exit:0 $HIJACKING brconfig bridge0 add vlan0
    553   1.9     ozaki 	$DEBUG && brconfig bridge0
    554   1.9     ozaki 	# Test brconfig delete
    555   1.9     ozaki 	atf_check -s exit:0 $HIJACKING brconfig bridge0 delete vlan0
    556   1.9     ozaki 
    557   1.9     ozaki 	atf_check -s exit:0 $HIJACKING brconfig bridge0 add vlan0
    558   1.9     ozaki 	# Test vlan destruction with bridge
    559   1.9     ozaki 	atf_check -s exit:0 rump.ifconfig vlan0 destroy
    560   1.9     ozaki 
    561   1.9     ozaki 	rump_server_destroy_ifaces
    562   1.9     ozaki }
    563   1.9     ozaki 
    564   1.9     ozaki atf_test_case vlan_bridge cleanup
    565   1.9     ozaki vlan_bridge_head()
    566   1.9     ozaki {
    567   1.9     ozaki 
    568   1.9     ozaki 	atf_set "descr" "tests of vlan interfaces with bridges (IPv4)"
    569   1.9     ozaki 	atf_set "require.progs" "rump_server"
    570   1.9     ozaki }
    571   1.9     ozaki 
    572   1.9     ozaki vlan_bridge_body()
    573   1.9     ozaki {
    574   1.9     ozaki 
    575   1.9     ozaki 	rump_server_start $SOCK_LOCAL vlan bridge
    576   1.9     ozaki 	vlan_bridge_body_common
    577   1.9     ozaki }
    578   1.9     ozaki 
    579   1.9     ozaki vlan_bridge_cleanup()
    580   1.9     ozaki {
    581   1.9     ozaki 
    582   1.9     ozaki 	$DEBUG && dump
    583   1.9     ozaki 	cleanup
    584   1.9     ozaki }
    585   1.9     ozaki 
    586   1.9     ozaki atf_test_case vlan_bridge6 cleanup
    587   1.9     ozaki vlan_bridge6_head()
    588   1.9     ozaki {
    589   1.9     ozaki 
    590   1.9     ozaki 	atf_set "descr" "tests of vlan interfaces with bridges (IPv6)"
    591   1.9     ozaki 	atf_set "require.progs" "rump_server"
    592   1.9     ozaki }
    593   1.9     ozaki 
    594   1.9     ozaki vlan_bridge6_body()
    595   1.9     ozaki {
    596   1.9     ozaki 
    597   1.9     ozaki 	rump_server_start $SOCK_LOCAL vlan netinet6 bridge
    598   1.9     ozaki 	vlan_bridge_body_common
    599   1.9     ozaki }
    600   1.9     ozaki 
    601   1.9     ozaki vlan_bridge6_cleanup()
    602   1.9     ozaki {
    603   1.9     ozaki 
    604   1.9     ozaki 	$DEBUG && dump
    605   1.9     ozaki 	cleanup
    606   1.9     ozaki }
    607   1.9     ozaki 
    608  1.10  yamaguch vlan_multicast_body_common()
    609  1.10  yamaguch {
    610  1.10  yamaguch 
    611  1.10  yamaguch 	local af="inet"
    612  1.10  yamaguch 	local local0=$IP_LOCAL0
    613  1.10  yamaguch 	local local1=$IP_LOCAL1
    614  1.10  yamaguch 	local mcaddr=$IP_MCADDR0
    615  1.10  yamaguch 	local eth_mcaddr=$ETH_IP_MCADDR0
    616  1.10  yamaguch 	local prefix=24
    617  1.10  yamaguch 	local siocXmulti="$(atf_get_srcdir)/siocXmulti"
    618  1.10  yamaguch 
    619  1.10  yamaguch 	if [ x"$1" =  x"inet6" ]; then
    620  1.10  yamaguch 		af="inet6"
    621  1.10  yamaguch 		prefix=64
    622  1.10  yamaguch 		local0=$IP6_LOCAL0
    623  1.10  yamaguch 		local1=$IP6_LOCAL1
    624  1.10  yamaguch 		mcaddr=$IP6_MCADDR0
    625  1.10  yamaguch 		eth_mcaddr=$ETH_IP6_MCADDR0
    626  1.10  yamaguch 	fi
    627  1.10  yamaguch 
    628  1.10  yamaguch 	export RUMP_SERVER=$SOCK_LOCAL
    629  1.10  yamaguch 
    630  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig shmif0 create
    631  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig shmif0 linkstr net0 up
    632  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan0 create
    633  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
    634  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan0 $af $local0/$prefix up
    635  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan1 create
    636  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan1 vlan 11 vlanif shmif0
    637  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan1 $af $local1/$prefix up
    638  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig -w 10
    639  1.10  yamaguch 
    640  1.10  yamaguch 	# check the initial state
    641  1.10  yamaguch 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    642  1.10  yamaguch 
    643  1.10  yamaguch 	# add a multicast address
    644  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    645  1.10  yamaguch 	atf_check -s exit:0 -o match:"$eth_mcaddr" $HIJACKING ifmcstat
    646  1.10  yamaguch 
    647  1.10  yamaguch 	# delete the address
    648  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    649  1.10  yamaguch 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    650  1.10  yamaguch 
    651  1.10  yamaguch 	# delete a non-existing address
    652  1.10  yamaguch 	atf_check -s not-exit:0 -e ignore $HIJACKING $siocXmulti del vlan0 $mcaddr
    653  1.10  yamaguch 
    654  1.10  yamaguch 	# add an address to different interfaces
    655  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    656  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan1 $mcaddr
    657  1.10  yamaguch 	atf_check -s exit:0 -o match:"${eth_mcaddr}: 2" $HIJACKING ifmcstat
    658  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    659  1.10  yamaguch 
    660  1.10  yamaguch 	# delete the address with invalid interface
    661  1.11  yamaguch 	atf_check -s not-exit:0 -e match:"Invalid argument" \
    662  1.10  yamaguch 	    $HIJACKING $siocXmulti del vlan0 $mcaddr
    663  1.10  yamaguch 
    664  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan1 $mcaddr
    665  1.10  yamaguch 
    666  1.10  yamaguch 	# add and delete a same address more than once
    667  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    668  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    669  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    670  1.10  yamaguch 	atf_check -s exit:0 -o match:"${eth_mcaddr}: 3" $HIJACKING ifmcstat
    671  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    672  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    673  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti del vlan0 $mcaddr
    674  1.10  yamaguch 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    675  1.10  yamaguch 
    676  1.10  yamaguch 	# delete all address added to parent device when remove
    677  1.10  yamaguch 	# the config of parent interface
    678  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    679  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    680  1.10  yamaguch 	atf_check -s exit:0 $HIJACKING $siocXmulti add vlan0 $mcaddr
    681  1.10  yamaguch 	atf_check -s exit:0 rump.ifconfig vlan0 -vlanif shmif0
    682  1.10  yamaguch 	atf_check -s exit:0 -o not-match:"$eth_mcaddr" $HIJACKING ifmcstat
    683  1.10  yamaguch }
    684  1.10  yamaguch 
    685  1.10  yamaguch atf_test_case vlan_multicast cleanup
    686  1.10  yamaguch vlan_multicast_head()
    687  1.10  yamaguch {
    688  1.10  yamaguch 	atf_set "descr" "tests of multicast address adding and deleting"
    689  1.10  yamaguch 	atf_set "require.progs" "rump_server"
    690  1.10  yamaguch }
    691  1.10  yamaguch 
    692  1.10  yamaguch vlan_multicast_body()
    693  1.10  yamaguch {
    694  1.10  yamaguch 	rump_server_start $SOCK_LOCAL vlan
    695  1.10  yamaguch 
    696  1.10  yamaguch 	vlan_multicast_body_common inet
    697  1.10  yamaguch }
    698  1.10  yamaguch 
    699  1.10  yamaguch vlan_multicast_cleanup()
    700  1.10  yamaguch {
    701  1.10  yamaguch 	$DEBUG && dump
    702  1.10  yamaguch 	cleanup
    703  1.10  yamaguch }
    704  1.10  yamaguch 
    705  1.10  yamaguch atf_test_case vlan_multicast6 cleanup
    706  1.10  yamaguch vlan_multicast6_head()
    707  1.10  yamaguch {
    708  1.10  yamaguch 	atf_set "descr" "tests of multicast address adding and deleting with IPv6"
    709  1.10  yamaguch 	atf_set "require.progs" "rump_server"
    710  1.10  yamaguch }
    711  1.10  yamaguch 
    712  1.10  yamaguch vlan_multicast6_body()
    713  1.10  yamaguch {
    714  1.10  yamaguch 	rump_server_start $SOCK_LOCAL vlan netinet6
    715  1.10  yamaguch 
    716  1.10  yamaguch 	vlan_multicast_body_common inet6
    717  1.10  yamaguch }
    718  1.10  yamaguch 
    719  1.10  yamaguch vlan_multicast6_cleanup()
    720  1.10  yamaguch {
    721  1.10  yamaguch 	$DEBUG && dump
    722  1.10  yamaguch 	cleanup
    723  1.10  yamaguch }
    724  1.10  yamaguch 
    725   1.1     ozaki atf_init_test_cases()
    726   1.1     ozaki {
    727   1.1     ozaki 
    728   1.1     ozaki 	atf_add_test_case vlan_create_destroy
    729   1.1     ozaki 	atf_add_test_case vlan_basic
    730   1.2     ozaki 	atf_add_test_case vlan_vlanid
    731   1.2     ozaki 	atf_add_test_case vlan_configs
    732   1.9     ozaki 	atf_add_test_case vlan_bridge
    733  1.10  yamaguch 	atf_add_test_case vlan_multicast
    734   1.2     ozaki 
    735   1.2     ozaki 	atf_add_test_case vlan_create_destroy6
    736   1.2     ozaki 	atf_add_test_case vlan_basic6
    737   1.2     ozaki 	atf_add_test_case vlan_vlanid6
    738   1.2     ozaki 	atf_add_test_case vlan_configs6
    739   1.9     ozaki 	atf_add_test_case vlan_bridge6
    740  1.10  yamaguch 	atf_add_test_case vlan_multicast6
    741   1.1     ozaki }
    742