xref: /freebsd/contrib/netbsd-tests/net/if_vlan/t_vlan.sh (revision 1a36faad54665288ed4eb839d2a4699ae2ead45e)
1*63d1fd59SEnji Cooper#	$NetBSD: t_vlan.sh,v 1.1 2016/11/26 03:19:49 ozaki-r Exp $
2*63d1fd59SEnji Cooper#
3*63d1fd59SEnji Cooper# Copyright (c) 2016 Internet Initiative Japan Inc.
4*63d1fd59SEnji Cooper# All rights reserved.
5*63d1fd59SEnji Cooper#
6*63d1fd59SEnji Cooper# Redistribution and use in source and binary forms, with or without
7*63d1fd59SEnji Cooper# modification, are permitted provided that the following conditions
8*63d1fd59SEnji Cooper# are met:
9*63d1fd59SEnji Cooper# 1. Redistributions of source code must retain the above copyright
10*63d1fd59SEnji Cooper#    notice, this list of conditions and the following disclaimer.
11*63d1fd59SEnji Cooper# 2. Redistributions in binary form must reproduce the above copyright
12*63d1fd59SEnji Cooper#    notice, this list of conditions and the following disclaimer in the
13*63d1fd59SEnji Cooper#    documentation and/or other materials provided with the distribution.
14*63d1fd59SEnji Cooper#
15*63d1fd59SEnji Cooper# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16*63d1fd59SEnji Cooper# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17*63d1fd59SEnji Cooper# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18*63d1fd59SEnji Cooper# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19*63d1fd59SEnji Cooper# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20*63d1fd59SEnji Cooper# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21*63d1fd59SEnji Cooper# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22*63d1fd59SEnji Cooper# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23*63d1fd59SEnji Cooper# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24*63d1fd59SEnji Cooper# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25*63d1fd59SEnji Cooper# POSSIBILITY OF SUCH DAMAGE.
26*63d1fd59SEnji Cooper#
27*63d1fd59SEnji Cooper
28*63d1fd59SEnji CooperBUS=bus
29*63d1fd59SEnji CooperSOCK_LOCAL=unix://commsock1
30*63d1fd59SEnji CooperSOCK_REMOTE=unix://commsock2
31*63d1fd59SEnji CooperIP_LOCAL=10.0.0.1
32*63d1fd59SEnji CooperIP_REMOTE=10.0.0.2
33*63d1fd59SEnji Cooper
34*63d1fd59SEnji CooperDEBUG=${DEBUG:-false}
35*63d1fd59SEnji Cooper
36*63d1fd59SEnji Cooperatf_test_case vlan_create_destroy cleanup
37*63d1fd59SEnji Coopervlan_create_destroy_head()
38*63d1fd59SEnji Cooper{
39*63d1fd59SEnji Cooper
40*63d1fd59SEnji Cooper	atf_set "descr" "tests of creation and deletion of vlan interface"
41*63d1fd59SEnji Cooper	atf_set "require.progs" "rump_server"
42*63d1fd59SEnji Cooper}
43*63d1fd59SEnji Cooper
44*63d1fd59SEnji Coopervlan_create_destroy_body()
45*63d1fd59SEnji Cooper{
46*63d1fd59SEnji Cooper
47*63d1fd59SEnji Cooper	rump_server_start $SOCK_LOCAL vlan
48*63d1fd59SEnji Cooper
49*63d1fd59SEnji Cooper	export RUMP_SERVER=${SOCK_LOCAL}
50*63d1fd59SEnji Cooper
51*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 create
52*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 up
53*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 down
54*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 destroy
55*63d1fd59SEnji Cooper}
56*63d1fd59SEnji Cooper
57*63d1fd59SEnji Coopervlan_create_destroy_cleanup()
58*63d1fd59SEnji Cooper{
59*63d1fd59SEnji Cooper
60*63d1fd59SEnji Cooper	$DEBUG && dump
61*63d1fd59SEnji Cooper	cleanup
62*63d1fd59SEnji Cooper}
63*63d1fd59SEnji Cooper
64*63d1fd59SEnji Cooperatf_test_case vlan_basic cleanup
65*63d1fd59SEnji Coopervlan_basic_head()
66*63d1fd59SEnji Cooper{
67*63d1fd59SEnji Cooper
68*63d1fd59SEnji Cooper	atf_set "descr" "tests of communications over vlan interfaces"
69*63d1fd59SEnji Cooper	atf_set "require.progs" "rump_server"
70*63d1fd59SEnji Cooper}
71*63d1fd59SEnji Cooper
72*63d1fd59SEnji Coopervlan_basic_body()
73*63d1fd59SEnji Cooper{
74*63d1fd59SEnji Cooper
75*63d1fd59SEnji Cooper	rump_server_start $SOCK_LOCAL vlan
76*63d1fd59SEnji Cooper	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS
77*63d1fd59SEnji Cooper	rump_server_start $SOCK_REMOTE vlan
78*63d1fd59SEnji Cooper	rump_server_add_iface $SOCK_REMOTE shmif0 $BUS
79*63d1fd59SEnji Cooper
80*63d1fd59SEnji Cooper	export RUMP_SERVER=$SOCK_LOCAL
81*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig shmif0 up
82*63d1fd59SEnji Cooper	export RUMP_SERVER=$SOCK_REMOTE
83*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig shmif0 up
84*63d1fd59SEnji Cooper
85*63d1fd59SEnji Cooper	export RUMP_SERVER=$SOCK_LOCAL
86*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 create
87*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
88*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 $IP_LOCAL/24
89*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 up
90*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig -w 10
91*63d1fd59SEnji Cooper
92*63d1fd59SEnji Cooper	export RUMP_SERVER=$SOCK_REMOTE
93*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 create
94*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 vlan 10 vlanif shmif0
95*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 $IP_REMOTE/24
96*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig vlan0 up
97*63d1fd59SEnji Cooper	atf_check -s exit:0 rump.ifconfig -w 10
98*63d1fd59SEnji Cooper
99*63d1fd59SEnji Cooper	export RUMP_SERVER=$SOCK_LOCAL
100*63d1fd59SEnji Cooper	atf_check -s exit:0 -o ignore rump.ping -n -w 1 -c 1 $IP_REMOTE
101*63d1fd59SEnji Cooper}
102*63d1fd59SEnji Cooper
103*63d1fd59SEnji Coopervlan_basic_cleanup()
104*63d1fd59SEnji Cooper{
105*63d1fd59SEnji Cooper
106*63d1fd59SEnji Cooper	$DEBUG && dump
107*63d1fd59SEnji Cooper	cleanup
108*63d1fd59SEnji Cooper}
109*63d1fd59SEnji Cooper
110*63d1fd59SEnji Cooperatf_init_test_cases()
111*63d1fd59SEnji Cooper{
112*63d1fd59SEnji Cooper
113*63d1fd59SEnji Cooper	atf_add_test_case vlan_create_destroy
114*63d1fd59SEnji Cooper	atf_add_test_case vlan_basic
115*63d1fd59SEnji Cooper}
116