xref: /freebsd/tests/sys/net/if_vlan.sh (revision c46af893cd7aaff322b6f867539bc8fe5bcde6f9)
1fcd69db2SKristof Provost
2fcd69db2SKristof Provost. $(atf_get_srcdir)/../common/vnet.subr
3fcd69db2SKristof Provost
4fcd69db2SKristof Provostatf_test_case "basic" "cleanup"
5fcd69db2SKristof Provostbasic_head()
6fcd69db2SKristof Provost{
7fcd69db2SKristof Provost	atf_set descr 'Basic VLAN test'
8fcd69db2SKristof Provost	atf_set require.user root
9fcd69db2SKristof Provost}
10fcd69db2SKristof Provost
11fcd69db2SKristof Provostbasic_body()
12fcd69db2SKristof Provost{
13fcd69db2SKristof Provost	vnet_init
14fcd69db2SKristof Provost
15fcd69db2SKristof Provost	epair_vlan=$(vnet_mkepair)
16fcd69db2SKristof Provost
17fcd69db2SKristof Provost	vnet_mkjail alcatraz ${epair_vlan}a
18fcd69db2SKristof Provost	vnet_mkjail singsing ${epair_vlan}b
19fcd69db2SKristof Provost
20fcd69db2SKristof Provost	vlan0=$(jexec alcatraz ifconfig vlan create vlandev ${epair_vlan}a \
21fcd69db2SKristof Provost		vlan 42)
22fcd69db2SKristof Provost	jexec alcatraz ifconfig ${epair_vlan}a up
23fcd69db2SKristof Provost	jexec alcatraz ifconfig ${vlan0} 10.0.0.1/24 up
24fcd69db2SKristof Provost
2576df3c57SZhenlei Huang	vlan1=$(jexec singsing ifconfig vlan create)
2676df3c57SZhenlei Huang
2776df3c57SZhenlei Huang	# Test associating the physical interface
2876df3c57SZhenlei Huang	atf_check -s exit:0 \
2976df3c57SZhenlei Huang	    jexec singsing ifconfig ${vlan1} vlandev ${epair_vlan}b vlan 42
3076df3c57SZhenlei Huang
31fcd69db2SKristof Provost	jexec singsing ifconfig ${epair_vlan}b up
32fcd69db2SKristof Provost	jexec singsing ifconfig ${vlan1} 10.0.0.2/24 up
33fcd69db2SKristof Provost
34fcd69db2SKristof Provost	atf_check -s exit:0 -o ignore jexec singsing ping -c 1 10.0.0.1
35cfee1417SKristof Provost
36cfee1417SKristof Provost	# Test changing the vlan ID
37cfee1417SKristof Provost	atf_check -s exit:0 \
38cfee1417SKristof Provost	    jexec singsing ifconfig ${vlan1} vlandev ${epair_vlan}b vlan 43
39cfee1417SKristof Provost	atf_check -s exit:2 -o ignore jexec singsing ping -c 1 10.0.0.1
40cfee1417SKristof Provost
41cfee1417SKristof Provost	# And change back
42cfee1417SKristof Provost	# Test changing the vlan ID
43cfee1417SKristof Provost	atf_check -s exit:0 \
4476df3c57SZhenlei Huang	    jexec singsing ifconfig ${vlan1} vlan 42 vlandev ${epair_vlan}b
45cfee1417SKristof Provost	atf_check -s exit:0 -o ignore jexec singsing ping -c 1 10.0.0.1
46fcd69db2SKristof Provost}
47fcd69db2SKristof Provost
48fcd69db2SKristof Provostbasic_cleanup()
49fcd69db2SKristof Provost{
50fcd69db2SKristof Provost	vnet_cleanup
51fcd69db2SKristof Provost}
52fcd69db2SKristof Provost
53c7cffd65SAlexander V. Chernikov# Simple Q-in-Q (802.1Q over 802.1ad)
54c7cffd65SAlexander V. Chernikov
55c7cffd65SAlexander V. Chernikovatf_test_case "qinq_simple" "cleanup"
56c7cffd65SAlexander V. Chernikovqinq_simple_head()
57c7cffd65SAlexander V. Chernikov{
58c7cffd65SAlexander V. Chernikov	atf_set descr 'Simple Q-in-Q test (802.1Q over 802.1ad)'
59c7cffd65SAlexander V. Chernikov	atf_set require.user root
60c7cffd65SAlexander V. Chernikov}
61c7cffd65SAlexander V. Chernikov
62c7cffd65SAlexander V. Chernikovqinq_simple_body()
63c7cffd65SAlexander V. Chernikov{
64c7cffd65SAlexander V. Chernikov	vnet_init
65c7cffd65SAlexander V. Chernikov
66c7cffd65SAlexander V. Chernikov	epair_qinq=$(vnet_mkepair)
67c7cffd65SAlexander V. Chernikov
68c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq0 ${epair_qinq}a
69c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq1 ${epair_qinq}b
70c7cffd65SAlexander V. Chernikov
71c7cffd65SAlexander V. Chernikov	vlan5a=$(jexec jqinq0 ifconfig vlan create \
72c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}a vlan 5 vlanproto 802.1ad)
73c7cffd65SAlexander V. Chernikov	vlan42a=$(jexec jqinq0 ifconfig vlan create \
74c7cffd65SAlexander V. Chernikov		vlandev ${vlan5a} vlan 42 vlanproto 802.1q)
75c7cffd65SAlexander V. Chernikov	jexec jqinq0 ifconfig ${epair_qinq}a up
76c7cffd65SAlexander V. Chernikov	jexec jqinq0 ifconfig ${vlan5a} up
77c7cffd65SAlexander V. Chernikov	jexec jqinq0 ifconfig ${vlan42a} 10.5.42.1/24 up
78c7cffd65SAlexander V. Chernikov
79c7cffd65SAlexander V. Chernikov	vlan5b=$(jexec jqinq1 ifconfig vlan create \
80c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}b vlan 5 vlanproto 802.1ad)
81c7cffd65SAlexander V. Chernikov	vlan42b=$(jexec jqinq1 ifconfig vlan create \
82c7cffd65SAlexander V. Chernikov		vlandev ${vlan5b} vlan 42 vlanproto 802.1q)
83c7cffd65SAlexander V. Chernikov	jexec jqinq1 ifconfig ${epair_qinq}b up
84c7cffd65SAlexander V. Chernikov	jexec jqinq1 ifconfig ${vlan5b} up
85c7cffd65SAlexander V. Chernikov	jexec jqinq1 ifconfig ${vlan42b} 10.5.42.2/24 up
86c7cffd65SAlexander V. Chernikov
87c7cffd65SAlexander V. Chernikov	atf_check -s exit:0 -o ignore jexec jqinq1 ping -c 1 10.5.42.1
88c7cffd65SAlexander V. Chernikov}
89c7cffd65SAlexander V. Chernikov
90c7cffd65SAlexander V. Chernikovqinq_simple_cleanup()
91c7cffd65SAlexander V. Chernikov{
92c7cffd65SAlexander V. Chernikov	vnet_cleanup
93c7cffd65SAlexander V. Chernikov}
94c7cffd65SAlexander V. Chernikov
95c7cffd65SAlexander V. Chernikov# Deep Q-in-Q (802.1Q over 802.1ad over 802.1ad)
96c7cffd65SAlexander V. Chernikov
97c7cffd65SAlexander V. Chernikovatf_test_case "qinq_deep" "cleanup"
98c7cffd65SAlexander V. Chernikovqinq_deep_head()
99c7cffd65SAlexander V. Chernikov{
100c7cffd65SAlexander V. Chernikov	atf_set descr 'Deep Q-in-Q test (802.1Q over 802.1ad over 802.1ad)'
101c7cffd65SAlexander V. Chernikov	atf_set require.user root
102c7cffd65SAlexander V. Chernikov}
103c7cffd65SAlexander V. Chernikov
104c7cffd65SAlexander V. Chernikovqinq_deep_body()
105c7cffd65SAlexander V. Chernikov{
106c7cffd65SAlexander V. Chernikov	vnet_init
107c7cffd65SAlexander V. Chernikov
108c7cffd65SAlexander V. Chernikov	epair_qinq=$(vnet_mkepair)
109c7cffd65SAlexander V. Chernikov
110c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq2 ${epair_qinq}a
111c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq3 ${epair_qinq}b
112c7cffd65SAlexander V. Chernikov
113c7cffd65SAlexander V. Chernikov	vlan5a=$(jexec jqinq2 ifconfig vlan create \
114c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}a vlan 5 vlanproto 802.1ad)
115c7cffd65SAlexander V. Chernikov	vlan6a=$(jexec jqinq2 ifconfig vlan create \
116c7cffd65SAlexander V. Chernikov		vlandev ${vlan5a} vlan 6 vlanproto 802.1ad)
117c7cffd65SAlexander V. Chernikov	vlan42a=$(jexec jqinq2 ifconfig vlan create \
118c7cffd65SAlexander V. Chernikov		vlandev ${vlan6a} vlan 42 vlanproto 802.1q)
119c7cffd65SAlexander V. Chernikov	jexec jqinq2 ifconfig ${epair_qinq}a up
120c7cffd65SAlexander V. Chernikov	jexec jqinq2 ifconfig ${vlan5a} up
121c7cffd65SAlexander V. Chernikov	jexec jqinq2 ifconfig ${vlan6a} up
122c7cffd65SAlexander V. Chernikov	jexec jqinq2 ifconfig ${vlan42a} 10.6.42.1/24 up
123c7cffd65SAlexander V. Chernikov
124c7cffd65SAlexander V. Chernikov	vlan5b=$(jexec jqinq3 ifconfig vlan create \
125c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}b vlan 5 vlanproto 802.1ad)
126c7cffd65SAlexander V. Chernikov	vlan6b=$(jexec jqinq3 ifconfig vlan create \
127c7cffd65SAlexander V. Chernikov		vlandev ${vlan5b} vlan 6 vlanproto 802.1ad)
128c7cffd65SAlexander V. Chernikov	vlan42b=$(jexec jqinq3 ifconfig vlan create \
129c7cffd65SAlexander V. Chernikov		vlandev ${vlan6b} vlan 42 vlanproto 802.1q)
130c7cffd65SAlexander V. Chernikov	jexec jqinq3 ifconfig ${epair_qinq}b up
131c7cffd65SAlexander V. Chernikov	jexec jqinq3 ifconfig ${vlan5b} up
132c7cffd65SAlexander V. Chernikov	jexec jqinq3 ifconfig ${vlan6b} up
133c7cffd65SAlexander V. Chernikov	jexec jqinq3 ifconfig ${vlan42b} 10.6.42.2/24 up
134c7cffd65SAlexander V. Chernikov
135c7cffd65SAlexander V. Chernikov	atf_check -s exit:0 -o ignore jexec jqinq3 ping -c 1 10.6.42.1
136c7cffd65SAlexander V. Chernikov}
137c7cffd65SAlexander V. Chernikov
138c7cffd65SAlexander V. Chernikovqinq_deep_cleanup()
139c7cffd65SAlexander V. Chernikov{
140c7cffd65SAlexander V. Chernikov	vnet_cleanup
141c7cffd65SAlexander V. Chernikov}
142c7cffd65SAlexander V. Chernikov
143c7cffd65SAlexander V. Chernikov# Legacy Q-in-Q (802.1Q over 802.1Q)
144c7cffd65SAlexander V. Chernikov
145c7cffd65SAlexander V. Chernikovatf_test_case "qinq_legacy" "cleanup"
146c7cffd65SAlexander V. Chernikovqinq_legacy_head()
147c7cffd65SAlexander V. Chernikov{
148c7cffd65SAlexander V. Chernikov	atf_set descr 'Legacy Q-in-Q test (802.1Q over 802.1Q)'
149c7cffd65SAlexander V. Chernikov	atf_set require.user root
150c7cffd65SAlexander V. Chernikov}
151c7cffd65SAlexander V. Chernikov
152c7cffd65SAlexander V. Chernikovqinq_legacy_body()
153c7cffd65SAlexander V. Chernikov{
154c7cffd65SAlexander V. Chernikov	vnet_init
155c7cffd65SAlexander V. Chernikov
156c7cffd65SAlexander V. Chernikov	epair_qinq=$(vnet_mkepair)
157c7cffd65SAlexander V. Chernikov
158c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq4 ${epair_qinq}a
159c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq5 ${epair_qinq}b
160c7cffd65SAlexander V. Chernikov
161c7cffd65SAlexander V. Chernikov	vlan5a=$(jexec jqinq4 ifconfig vlan create \
162c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}a vlan 5)
163c7cffd65SAlexander V. Chernikov	vlan42a=$(jexec jqinq4 ifconfig vlan create \
164c7cffd65SAlexander V. Chernikov		vlandev ${vlan5a} vlan 42)
165c7cffd65SAlexander V. Chernikov	jexec jqinq4 ifconfig ${epair_qinq}a up
166c7cffd65SAlexander V. Chernikov	jexec jqinq4 ifconfig ${vlan5a} up
167c7cffd65SAlexander V. Chernikov	jexec jqinq4 ifconfig ${vlan42a} 10.5.42.1/24 up
168c7cffd65SAlexander V. Chernikov
169c7cffd65SAlexander V. Chernikov	vlan5b=$(jexec jqinq5 ifconfig vlan create \
170c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}b vlan 5)
171c7cffd65SAlexander V. Chernikov	vlan42b=$(jexec jqinq5 ifconfig vlan create \
172c7cffd65SAlexander V. Chernikov		vlandev ${vlan5b} vlan 42)
173c7cffd65SAlexander V. Chernikov	jexec jqinq5 ifconfig ${epair_qinq}b up
174c7cffd65SAlexander V. Chernikov	jexec jqinq5 ifconfig ${vlan5b} up
175c7cffd65SAlexander V. Chernikov	jexec jqinq5 ifconfig ${vlan42b} 10.5.42.2/24 up
176c7cffd65SAlexander V. Chernikov
177c7cffd65SAlexander V. Chernikov	atf_check -s exit:0 -o ignore jexec jqinq5 ping -c 1 10.5.42.1
178c7cffd65SAlexander V. Chernikov}
179c7cffd65SAlexander V. Chernikov
180c7cffd65SAlexander V. Chernikovqinq_legacy_cleanup()
181c7cffd65SAlexander V. Chernikov{
182c7cffd65SAlexander V. Chernikov	vnet_cleanup
183c7cffd65SAlexander V. Chernikov}
184c7cffd65SAlexander V. Chernikov
185c7cffd65SAlexander V. Chernikov# Simple Q-in-Q with dot notation
186c7cffd65SAlexander V. Chernikov
187c7cffd65SAlexander V. Chernikovatf_test_case "qinq_dot" "cleanup"
188c7cffd65SAlexander V. Chernikovqinq_dot_head()
189c7cffd65SAlexander V. Chernikov{
190c7cffd65SAlexander V. Chernikov	atf_set descr 'Simple Q-in-Q test with dot notation'
191c7cffd65SAlexander V. Chernikov	atf_set require.user root
192c7cffd65SAlexander V. Chernikov}
193c7cffd65SAlexander V. Chernikov
194c7cffd65SAlexander V. Chernikovqinq_dot_body()
195c7cffd65SAlexander V. Chernikov{
196c7cffd65SAlexander V. Chernikov	vnet_init
197c7cffd65SAlexander V. Chernikov
198c7cffd65SAlexander V. Chernikov	epair_qinq=$(vnet_mkepair)
199c7cffd65SAlexander V. Chernikov
200c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq6 ${epair_qinq}a
201c7cffd65SAlexander V. Chernikov	vnet_mkjail jqinq7 ${epair_qinq}b
202c7cffd65SAlexander V. Chernikov
203c7cffd65SAlexander V. Chernikov	jexec jqinq6 ifconfig vlan5 create \
204c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}a vlan 5 vlanproto 802.1ad
205c7cffd65SAlexander V. Chernikov	jexec jqinq6 ifconfig vlan5.42 create \
206c7cffd65SAlexander V. Chernikov		vlanproto 802.1q
207c7cffd65SAlexander V. Chernikov	jexec jqinq6 ifconfig ${epair_qinq}a up
208c7cffd65SAlexander V. Chernikov	jexec jqinq6 ifconfig vlan5 up
209c7cffd65SAlexander V. Chernikov	jexec jqinq6 ifconfig vlan5.42 10.5.42.1/24 up
210c7cffd65SAlexander V. Chernikov
211c7cffd65SAlexander V. Chernikov	vlan5b=$(jexec jqinq7 ifconfig vlan create \
212c7cffd65SAlexander V. Chernikov		vlandev ${epair_qinq}b vlan 5 vlanproto 802.1ad)
213c7cffd65SAlexander V. Chernikov	vlan42b=$(jexec jqinq7 ifconfig vlan create \
214c7cffd65SAlexander V. Chernikov		vlandev ${vlan5b} vlan 42 vlanproto 802.1q)
215c7cffd65SAlexander V. Chernikov	jexec jqinq7 ifconfig ${epair_qinq}b up
216c7cffd65SAlexander V. Chernikov	jexec jqinq7 ifconfig ${vlan5b} up
217c7cffd65SAlexander V. Chernikov	jexec jqinq7 ifconfig ${vlan42b} 10.5.42.2/24 up
218c7cffd65SAlexander V. Chernikov
219c7cffd65SAlexander V. Chernikov	atf_check -s exit:0 -o ignore jexec jqinq7 ping -c 1 10.5.42.1
220c7cffd65SAlexander V. Chernikov}
221c7cffd65SAlexander V. Chernikov
222c7cffd65SAlexander V. Chernikovqinq_dot_cleanup()
223c7cffd65SAlexander V. Chernikov{
224c7cffd65SAlexander V. Chernikov	vnet_cleanup
225c7cffd65SAlexander V. Chernikov}
226c7cffd65SAlexander V. Chernikov
22792c23f6dSKristof Provostatf_test_case "qinq_setflags" "cleanup"
22892c23f6dSKristof Provostqinq_setflags_head()
22992c23f6dSKristof Provost{
23092c23f6dSKristof Provost	atf_set descr 'Test setting flags on a QinQ device'
23192c23f6dSKristof Provost	atf_set require.user root
23292c23f6dSKristof Provost}
23392c23f6dSKristof Provost
23492c23f6dSKristof Provostqinq_setflags_body()
23592c23f6dSKristof Provost{
23692c23f6dSKristof Provost	vnet_init
23792c23f6dSKristof Provost
23892c23f6dSKristof Provost	epair=$(vnet_mkepair)
23992c23f6dSKristof Provost
24092c23f6dSKristof Provost	ifconfig ${epair}a up
24192c23f6dSKristof Provost	vlan1=$(ifconfig vlan create)
24292c23f6dSKristof Provost	ifconfig $vlan1 vlan 1 vlandev ${epair}a
24392c23f6dSKristof Provost	vlan2=$(ifconfig vlan create)
24492c23f6dSKristof Provost	ifconfig $vlan2 vlan 2 vlandev $vlan1
24592c23f6dSKristof Provost
24692c23f6dSKristof Provost	# This panics, incorrect locking
24792c23f6dSKristof Provost	ifconfig $vlan2 promisc
24892c23f6dSKristof Provost}
24992c23f6dSKristof Provost
25092c23f6dSKristof Provostqinq_setflags_cleanup()
25192c23f6dSKristof Provost{
25292c23f6dSKristof Provost	vnet_cleanup
25392c23f6dSKristof Provost}
25492c23f6dSKristof Provost
2553e87f800SKristof Provostatf_test_case "bpf_pcp" "cleanup"
2563e87f800SKristof Provostbpf_pcp_head()
2573e87f800SKristof Provost{
2583e87f800SKristof Provost	atf_set descr 'Set VLAN PCP through BPF'
2593e87f800SKristof Provost	atf_set require.user root
260*c46af893SJose Luis Duran	atf_set require.progs python3 scapy
2613e87f800SKristof Provost}
2623e87f800SKristof Provost
2633e87f800SKristof Provostbpf_pcp_body()
2643e87f800SKristof Provost{
2653e87f800SKristof Provost	vnet_init
2663e87f800SKristof Provost
2673e87f800SKristof Provost	epair=$(vnet_mkepair)
2683e87f800SKristof Provost
2693e87f800SKristof Provost	ifconfig ${epair}a up
2703e87f800SKristof Provost
2713e87f800SKristof Provost	vnet_mkjail alcatraz ${epair}b
2723e87f800SKristof Provost	vlan=$(jexec alcatraz ifconfig vlan create)
2733e87f800SKristof Provost	jexec alcatraz ifconfig ${vlan} vlan 42 vlandev ${epair}b
2743e87f800SKristof Provost	jexec alcatraz ifconfig ${vlan} up
2753e87f800SKristof Provost	jexec alcatraz ifconfig ${epair}b up
2763e87f800SKristof Provost
27731566b98SKristof Provost	jexec alcatraz sysctl net.link.vlan.mtag_pcp=1
2783e87f800SKristof Provost
2793e87f800SKristof Provost	jexec alcatraz dhclient ${vlan} &
2803e87f800SKristof Provost	atf_check -s exit:1 -o ignore -e ignore $(atf_get_srcdir)/pcp.py \
2813e87f800SKristof Provost		--expect-pcp 6 \
2823e87f800SKristof Provost		--recvif ${epair}a
2833e87f800SKristof Provost
2843e87f800SKristof Provost	jexec alcatraz killall dhclient
2853e87f800SKristof Provost	sleep 1
2863e87f800SKristof Provost
2873e87f800SKristof Provost	jexec alcatraz dhclient -c $(atf_get_srcdir)/dhclient_pcp.conf ${vlan} &
2883e87f800SKristof Provost	atf_check -s exit:0 -o ignore -e ignore $(atf_get_srcdir)/pcp.py \
2893e87f800SKristof Provost		--expect-pcp 6 \
2903e87f800SKristof Provost		--recvif ${epair}a
2913e87f800SKristof Provost}
2923e87f800SKristof Provost
2933e87f800SKristof Provostbpf_pcp_cleanup()
2943e87f800SKristof Provost{
2953e87f800SKristof Provost	sysctl net.link.vlan.mtag_pcp=0
2963e87f800SKristof Provost	jexec alcatraz killall dhclient
2973e87f800SKristof Provost	vnet_cleanup
2983e87f800SKristof Provost}
2993e87f800SKristof Provost
300bdd12889SKristof Provostatf_test_case "conflict_id" "cleanup"
301bdd12889SKristof Provostconflict_id_head()
302bdd12889SKristof Provost{
303bdd12889SKristof Provost	atf_set descr 'Test conflicting VLAN IDs, PR #279195'
304bdd12889SKristof Provost	atf_set require.user root
305bdd12889SKristof Provost}
306bdd12889SKristof Provost
307bdd12889SKristof Provostconflict_id_body()
308bdd12889SKristof Provost{
309bdd12889SKristof Provost	vnet_init
310bdd12889SKristof Provost
311bdd12889SKristof Provost	epair=$(vnet_mkepair)
312bdd12889SKristof Provost
313bdd12889SKristof Provost	vnet_mkjail alcatraz ${epair}b
314bdd12889SKristof Provost	vlan_a=$(jexec alcatraz ifconfig vlan create)
315bdd12889SKristof Provost	vlan_b=$(jexec alcatraz ifconfig vlan create)
316bdd12889SKristof Provost
317bdd12889SKristof Provost	jexec alcatraz ifconfig ${vlan_a} vlan 100 vlandev ${epair}b
318bdd12889SKristof Provost	jexec alcatraz ifconfig ${vlan_b} vlan 101 vlandev ${epair}b
319bdd12889SKristof Provost
320bdd12889SKristof Provost	atf_check -s exit:1 -o ignore -e ignore \
321bdd12889SKristof Provost	    jexec alcatraz ifconfig ${vlan_a} vlan 101
322bdd12889SKristof Provost
323bdd12889SKristof Provost	atf_check -s exit:0 -o match:"vlan: 100" \
324bdd12889SKristof Provost	    jexec alcatraz ifconfig ${vlan_a}
325bdd12889SKristof Provost
326bdd12889SKristof Provost	atf_check -s exit:0 -o ignore -e ignore \
327bdd12889SKristof Provost	    jexec alcatraz ifconfig ${vlan_a} vlan 100
328bdd12889SKristof Provost}
329bdd12889SKristof Provost
330bdd12889SKristof Provostconflict_id_cleanup()
331bdd12889SKristof Provost{
332bdd12889SKristof Provost	vnet_cleanup
333bdd12889SKristof Provost
334bdd12889SKristof Provost}
335bdd12889SKristof Provost
336fcd69db2SKristof Provostatf_init_test_cases()
337fcd69db2SKristof Provost{
338fcd69db2SKristof Provost	atf_add_test_case "basic"
339c7cffd65SAlexander V. Chernikov	atf_add_test_case "qinq_simple"
340c7cffd65SAlexander V. Chernikov	atf_add_test_case "qinq_deep"
341c7cffd65SAlexander V. Chernikov	atf_add_test_case "qinq_legacy"
342c7cffd65SAlexander V. Chernikov	atf_add_test_case "qinq_dot"
34392c23f6dSKristof Provost	atf_add_test_case "qinq_setflags"
3443e87f800SKristof Provost	atf_add_test_case "bpf_pcp"
345bdd12889SKristof Provost	atf_add_test_case "conflict_id"
346fcd69db2SKristof Provost}
347