t_l2tp.sh revision 1.1 1 1.1 knakahar # $NetBSD: t_l2tp.sh,v 1.1 2017/02/16 08:44:47 knakahara Exp $
2 1.1 knakahar #
3 1.1 knakahar # Copyright (c) 2017 Internet Initiative Japan Inc.
4 1.1 knakahar # All rights reserved.
5 1.1 knakahar #
6 1.1 knakahar # Redistribution and use in source and binary forms, with or without
7 1.1 knakahar # modification, are permitted provided that the following conditions
8 1.1 knakahar # are met:
9 1.1 knakahar # 1. Redistributions of source code must retain the above copyright
10 1.1 knakahar # notice, this list of conditions and the following disclaimer.
11 1.1 knakahar # 2. Redistributions in binary form must reproduce the above copyright
12 1.1 knakahar # notice, this list of conditions and the following disclaimer in the
13 1.1 knakahar # documentation and/or other materials provided with the distribution.
14 1.1 knakahar #
15 1.1 knakahar # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 1.1 knakahar # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 1.1 knakahar # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 1.1 knakahar # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 1.1 knakahar # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 1.1 knakahar # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 1.1 knakahar # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 1.1 knakahar # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 1.1 knakahar # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 1.1 knakahar # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.1 knakahar # POSSIBILITY OF SUCH DAMAGE.
26 1.1 knakahar #
27 1.1 knakahar
28 1.1 knakahar LAC1SOCK=unix://commsock1
29 1.1 knakahar LAC2SOCK=unix://commsock2
30 1.1 knakahar CLIENT1SOCK=unix://commsock3
31 1.1 knakahar CLIENT2SOCK=unix://commsock4
32 1.1 knakahar
33 1.1 knakahar WAN_LINK=bus0
34 1.1 knakahar LAC1_LAN_LINK=bus1
35 1.1 knakahar LAC2_LAN_LINK=bus2
36 1.1 knakahar
37 1.1 knakahar LAC1_WANIP=10.0.0.1
38 1.1 knakahar LAC1_SESSION=1234
39 1.1 knakahar CLIENT1_LANIP=192.168.1.1
40 1.1 knakahar LAC2_WANIP=10.0.0.2
41 1.1 knakahar LAC2_SESSION=4321
42 1.1 knakahar CLIENT2_LANIP=192.168.1.2
43 1.1 knakahar
44 1.1 knakahar LAC1_WANIP6=fc00::1
45 1.1 knakahar CLIENT1_LANIP6=fc00:1::1
46 1.1 knakahar LAC2_WANIP6=fc00::2
47 1.1 knakahar CLIENT2_LANIP6=fc00:1::2
48 1.1 knakahar
49 1.1 knakahar TIMEOUT=5
50 1.1 knakahar DEBUG=${DEBUG:-false}
51 1.1 knakahar
52 1.1 knakahar setup_lac()
53 1.1 knakahar {
54 1.1 knakahar sock=${1}
55 1.1 knakahar lanlink=${2}
56 1.1 knakahar wan=${3}
57 1.1 knakahar wan_mode=${4}
58 1.1 knakahar
59 1.1 knakahar
60 1.1 knakahar rump_server_add_iface ${sock} shmif0 ${lanlink}
61 1.1 knakahar rump_server_add_iface ${sock} shmif1 ${WAN_LINK}
62 1.1 knakahar
63 1.1 knakahar export RUMP_SERVER=${sock}
64 1.1 knakahar
65 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
66 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 inet6 ${wan}
67 1.1 knakahar else
68 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 inet ${wan} netmask 0xff000000
69 1.1 knakahar fi
70 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 up
71 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 up
72 1.1 knakahar
73 1.1 knakahar unset RUMP_SERVER
74 1.1 knakahar }
75 1.1 knakahar
76 1.1 knakahar test_lac()
77 1.1 knakahar {
78 1.1 knakahar sock=${1}
79 1.1 knakahar wan=${2}
80 1.1 knakahar wan_mode=${3}
81 1.1 knakahar
82 1.1 knakahar export RUMP_SERVER=${sock}
83 1.1 knakahar
84 1.1 knakahar atf_check -s exit:0 -o match:shmif0 rump.ifconfig
85 1.1 knakahar atf_check -s exit:0 -o match:shmif1 rump.ifconfig
86 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
87 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${wan}
88 1.1 knakahar else
89 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${wan}
90 1.1 knakahar fi
91 1.1 knakahar
92 1.1 knakahar unset RUMP_SERVER
93 1.1 knakahar }
94 1.1 knakahar
95 1.1 knakahar setup_client()
96 1.1 knakahar {
97 1.1 knakahar sock=${1}
98 1.1 knakahar lanlink=${2}
99 1.1 knakahar lan=${3}
100 1.1 knakahar lan_mode=${4}
101 1.1 knakahar
102 1.1 knakahar rump_server_add_iface ${sock} shmif0 ${lanlink}
103 1.1 knakahar
104 1.1 knakahar export RUMP_SERVER=${sock}
105 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then
106 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 inet6 ${lan}
107 1.1 knakahar else
108 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 inet ${lan} netmask 0xffffff00
109 1.1 knakahar fi
110 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 up
111 1.1 knakahar
112 1.1 knakahar unset RUMP_SERVER
113 1.1 knakahar }
114 1.1 knakahar
115 1.1 knakahar test_client()
116 1.1 knakahar {
117 1.1 knakahar sock=${1}
118 1.1 knakahar lan=${2}
119 1.1 knakahar lan_mode=${3}
120 1.1 knakahar
121 1.1 knakahar export RUMP_SERVER=${sock}
122 1.1 knakahar
123 1.1 knakahar atf_check -s exit:0 -o match:shmif0 rump.ifconfig
124 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then
125 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lan}
126 1.1 knakahar else
127 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lan}
128 1.1 knakahar fi
129 1.1 knakahar
130 1.1 knakahar unset RUMP_SERVER
131 1.1 knakahar }
132 1.1 knakahar
133 1.1 knakahar setup()
134 1.1 knakahar {
135 1.1 knakahar lan_mode=${1}
136 1.1 knakahar wan_mode=${2}
137 1.1 knakahar
138 1.1 knakahar rump_server_start $LAC1SOCK netinet6 bridge l2tp
139 1.1 knakahar rump_server_start $LAC2SOCK netinet6 bridge l2tp
140 1.1 knakahar rump_server_start $CLIENT1SOCK netinet6 bridge l2tp
141 1.1 knakahar rump_server_start $CLIENT2SOCK netinet6 bridge l2tp
142 1.1 knakahar
143 1.1 knakahar client1_lan=""
144 1.1 knakahar client2_lan=""
145 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then
146 1.1 knakahar client1_lan=${CLIENT1_LANIP6}
147 1.1 knakahar client2_lan=${CLIENT2_LANIP6}
148 1.1 knakahar else
149 1.1 knakahar client1_lan=${CLIENT1_LANIP}
150 1.1 knakahar client2_lan=${CLIENT2_LANIP}
151 1.1 knakahar fi
152 1.1 knakahar
153 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
154 1.1 knakahar setup_lac $LAC1SOCK $LAC1_LAN_LINK $LAC1_WANIP6 ${wan_mode}
155 1.1 knakahar setup_lac $LAC2SOCK $LAC2_LAN_LINK $LAC2_WANIP6 ${wan_mode}
156 1.1 knakahar setup_client $CLIENT1SOCK $LAC1_LAN_LINK \
157 1.1 knakahar ${client1_lan} ${lan_mode}
158 1.1 knakahar setup_client $CLIENT2SOCK $LAC2_LAN_LINK \
159 1.1 knakahar ${client2_lan} ${lan_mode}
160 1.1 knakahar else
161 1.1 knakahar setup_lac $LAC1SOCK $LAC1_LAN_LINK $LAC1_WANIP ${wan_mode}
162 1.1 knakahar setup_lac $LAC2SOCK $LAC2_LAN_LINK $LAC2_WANIP ${wan_mode}
163 1.1 knakahar setup_client $CLIENT1SOCK $LAC1_LAN_LINK \
164 1.1 knakahar ${client1_lan} ${lan_mode}
165 1.1 knakahar setup_client $CLIENT2SOCK $LAC2_LAN_LINK \
166 1.1 knakahar ${client2_lan} ${lan_mode}
167 1.1 knakahar fi
168 1.1 knakahar }
169 1.1 knakahar
170 1.1 knakahar test_setup()
171 1.1 knakahar {
172 1.1 knakahar lan_mode=${1}
173 1.1 knakahar wan_mode=${2}
174 1.1 knakahar
175 1.1 knakahar client1_lan=""
176 1.1 knakahar client2_lan=""
177 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then
178 1.1 knakahar client1_lan=$CLIENT1_LANIP6
179 1.1 knakahar client2_lan=$CLIENT2_LANIP6
180 1.1 knakahar else
181 1.1 knakahar client1_lan=$CLIENT1_LANIP
182 1.1 knakahar client2_lan=$CLIENT2_LANIP
183 1.1 knakahar fi
184 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
185 1.1 knakahar test_lac ${LAC1SOCK} $LAC1_WANIP6 ${wan_mode}
186 1.1 knakahar test_lac ${LAC2SOCK} $LAC2_WANIP6 ${wan_mode}
187 1.1 knakahar test_client ${CLIENT1SOCK} ${client1_lan} ${lan_mode}
188 1.1 knakahar test_client ${CLIENT2SOCK} ${client2_lan} ${lan_mode}
189 1.1 knakahar else
190 1.1 knakahar test_lac ${LAC1SOCK} $LAC1_WANIP ${wan_mode}
191 1.1 knakahar test_lac ${LAC2SOCK} $LAC2_WANIP ${wan_mode}
192 1.1 knakahar test_client ${CLIENT1SOCK} ${client1_lan} ${lan_mode}
193 1.1 knakahar test_client ${CLIENT2SOCK} ${client2_lan} ${lan_mode}
194 1.1 knakahar fi
195 1.1 knakahar }
196 1.1 knakahar
197 1.1 knakahar setup_if_l2tp()
198 1.1 knakahar {
199 1.1 knakahar sock=${1}
200 1.1 knakahar src=${2}
201 1.1 knakahar dst=${3}
202 1.1 knakahar src_session=${4}
203 1.1 knakahar dst_session=${5}
204 1.1 knakahar
205 1.1 knakahar export RUMP_SERVER=${sock}
206 1.1 knakahar
207 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 create
208 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 tunnel ${src} ${dst}
209 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 session ${src_session} ${dst_session}
210 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 up
211 1.1 knakahar
212 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 create
213 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 up
214 1.1 knakahar export LD_PRELOAD=/usr/lib/librumphijack.so
215 1.1 knakahar atf_check -s exit:0 brconfig bridge0 add shmif0
216 1.1 knakahar atf_check -s exit:0 brconfig bridge0 add l2tp0
217 1.1 knakahar unset LD_PRELOAD
218 1.1 knakahar
219 1.1 knakahar $DEBUG && rump.ifconfig -v l2tp0
220 1.1 knakahar $DEBUG && rump.ifconfig -v bridge0
221 1.1 knakahar
222 1.1 knakahar unset RUMP_SERVER
223 1.1 knakahar }
224 1.1 knakahar
225 1.1 knakahar setup_tunnel()
226 1.1 knakahar {
227 1.1 knakahar wan_mode=${1}
228 1.1 knakahar
229 1.1 knakahar src=""
230 1.1 knakahar dst=""
231 1.1 knakahar src_session=""
232 1.1 knakahar dst_session=""
233 1.1 knakahar
234 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
235 1.1 knakahar src=$LAC1_WANIP6
236 1.1 knakahar dst=$LAC2_WANIP6
237 1.1 knakahar else
238 1.1 knakahar src=$LAC1_WANIP
239 1.1 knakahar dst=$LAC2_WANIP
240 1.1 knakahar fi
241 1.1 knakahar src_session=${LAC1_SESSION}
242 1.1 knakahar dst_session=${LAC2_SESSION}
243 1.1 knakahar setup_if_l2tp $LAC1SOCK ${src} ${dst} ${src_session} ${dst_session}
244 1.1 knakahar
245 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
246 1.1 knakahar src=$LAC2_WANIP6
247 1.1 knakahar dst=$LAC1_WANIP6
248 1.1 knakahar else
249 1.1 knakahar src=$LAC2_WANIP
250 1.1 knakahar dst=$LAC1_WANIP
251 1.1 knakahar fi
252 1.1 knakahar src_session=${LAC2_SESSION}
253 1.1 knakahar dst_session=${LAC1_SESSION}
254 1.1 knakahar setup_if_l2tp $LAC2SOCK ${src} ${dst} ${src_session} ${dst_session}
255 1.1 knakahar }
256 1.1 knakahar
257 1.1 knakahar test_setup_tunnel()
258 1.1 knakahar {
259 1.1 knakahar mode=${1}
260 1.1 knakahar
261 1.1 knakahar if [ ${mode} = "ipv6" ]; then
262 1.1 knakahar lac1_wan=$LAC1_WANIP6
263 1.1 knakahar lac2_wan=$LAC2_WANIP6
264 1.1 knakahar else
265 1.1 knakahar lac1_wan=$LAC1_WANIP
266 1.1 knakahar lac2_wan=$LAC2_WANIP
267 1.1 knakahar fi
268 1.1 knakahar export RUMP_SERVER=$LAC1SOCK
269 1.1 knakahar atf_check -s exit:0 -o match:l2tp0 rump.ifconfig
270 1.1 knakahar if [ ${mode} = "ipv6" ]; then
271 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lac2_wan}
272 1.1 knakahar else
273 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lac2_wan}
274 1.1 knakahar fi
275 1.1 knakahar
276 1.1 knakahar export RUMP_SERVER=$LAC2SOCK
277 1.1 knakahar atf_check -s exit:0 -o match:l2tp0 rump.ifconfig
278 1.1 knakahar if [ ${mode} = "ipv6" ]; then
279 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lac1_wan}
280 1.1 knakahar else
281 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lac1_wan}
282 1.1 knakahar fi
283 1.1 knakahar
284 1.1 knakahar unset RUMP_SERVER
285 1.1 knakahar }
286 1.1 knakahar
287 1.1 knakahar teardown_tunnel()
288 1.1 knakahar {
289 1.1 knakahar export RUMP_SERVER=$LAC1SOCK
290 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 destroy
291 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 deletetunnel
292 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 destroy
293 1.1 knakahar
294 1.1 knakahar export RUMP_SERVER=$LAC2SOCK
295 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 destroy
296 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 deletetunnel
297 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 destroy
298 1.1 knakahar
299 1.1 knakahar unset RUMP_SERVER
300 1.1 knakahar }
301 1.1 knakahar
302 1.1 knakahar test_ping_failure()
303 1.1 knakahar {
304 1.1 knakahar mode=$1
305 1.1 knakahar
306 1.1 knakahar export RUMP_SERVER=$CLIENT1SOCK
307 1.1 knakahar if [ ${mode} = "ipv6" ]; then
308 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
309 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT2_LANIP6
310 1.1 knakahar else
311 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
312 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT2_LANIP
313 1.1 knakahar fi
314 1.1 knakahar
315 1.1 knakahar export RUMP_SERVER=$CLIENT2SOCK
316 1.1 knakahar if [ ${mode} = "ipv6" ]; then
317 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
318 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT1_LANIP6
319 1.1 knakahar else
320 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
321 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT1_LANIP
322 1.1 knakahar fi
323 1.1 knakahar
324 1.1 knakahar unset RUMP_SERVER
325 1.1 knakahar }
326 1.1 knakahar
327 1.1 knakahar test_ping_success()
328 1.1 knakahar {
329 1.1 knakahar mode=$1
330 1.1 knakahar
331 1.1 knakahar export RUMP_SERVER=$CLIENT1SOCK
332 1.1 knakahar if [ ${mode} = "ipv6" ]; then
333 1.1 knakahar # XXX
334 1.1 knakahar # rump.ping6 rarely fails with the message that
335 1.1 knakahar # "failed to get receiving hop limit".
336 1.1 knakahar # This is a known issue being analyzed.
337 1.1 knakahar atf_check -s exit:0 -o ignore \
338 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT2_LANIP6
339 1.1 knakahar else
340 1.1 knakahar atf_check -s exit:0 -o ignore \
341 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT2_LANIP
342 1.1 knakahar fi
343 1.1 knakahar export RUMP_SERVER=$LAC1SOCK
344 1.1 knakahar $DEBUG && rump.ifconfig -v l2tp0
345 1.1 knakahar $DEBUG && rump.ifconfig -v bridge0
346 1.1 knakahar $DEBUG && rump.ifconfig -v shmif0
347 1.1 knakahar
348 1.1 knakahar export RUMP_SERVER=$CLIENT2SOCK
349 1.1 knakahar if [ ${mode} = "ipv6" ]; then
350 1.1 knakahar atf_check -s exit:0 -o ignore \
351 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT1_LANIP6
352 1.1 knakahar else
353 1.1 knakahar atf_check -s exit:0 -o ignore \
354 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT1_LANIP
355 1.1 knakahar fi
356 1.1 knakahar export RUMP_SERVER=$LAC2SOCK
357 1.1 knakahar $DEBUG && rump.ifconfig -v l2tp0
358 1.1 knakahar $DEBUG && rump.ifconfig -v bridge0
359 1.1 knakahar $DEBUG && rump.ifconfig -v shmif0
360 1.1 knakahar
361 1.1 knakahar unset RUMP_SERVER
362 1.1 knakahar }
363 1.1 knakahar
364 1.1 knakahar basic_setup()
365 1.1 knakahar {
366 1.1 knakahar lan_mode=$1
367 1.1 knakahar wan_mode=$2
368 1.1 knakahar
369 1.1 knakahar setup ${lan_mode} ${wan_mode}
370 1.1 knakahar test_setup ${lan_mode} ${wan_mode}
371 1.1 knakahar
372 1.1 knakahar # Enable once PR kern/49219 is fixed
373 1.1 knakahar #test_ping_failure
374 1.1 knakahar
375 1.1 knakahar setup_tunnel ${wan_mode}
376 1.1 knakahar sleep 1
377 1.1 knakahar test_setup_tunnel ${wan_mode}
378 1.1 knakahar }
379 1.1 knakahar
380 1.1 knakahar basic_test()
381 1.1 knakahar {
382 1.1 knakahar lan_mode=$1
383 1.1 knakahar wan_mode=$2 # not use
384 1.1 knakahar
385 1.1 knakahar test_ping_success ${lan_mode}
386 1.1 knakahar }
387 1.1 knakahar
388 1.1 knakahar basic_teardown()
389 1.1 knakahar {
390 1.1 knakahar lan_mode=$1
391 1.1 knakahar wan_mode=$2 # not use
392 1.1 knakahar
393 1.1 knakahar teardown_tunnel
394 1.1 knakahar test_ping_failure ${lan_mode}
395 1.1 knakahar }
396 1.1 knakahar
397 1.1 knakahar add_test()
398 1.1 knakahar {
399 1.1 knakahar category=$1
400 1.1 knakahar desc=$2
401 1.1 knakahar lan_mode=$3
402 1.1 knakahar wan_mode=$4
403 1.1 knakahar
404 1.1 knakahar name="${category}${lan_mode}over${wan_mode}"
405 1.1 knakahar fulldesc="Does ${lan_mode} over ${wan_mode} if_l2tp ${desc}"
406 1.1 knakahar
407 1.1 knakahar atf_test_case ${name} cleanup
408 1.1 knakahar eval "${name}_head() { \
409 1.1 knakahar atf_set \"descr\" \"${fulldesc}\"; \
410 1.1 knakahar atf_set \"require.progs\" \"rump_server\"; \
411 1.1 knakahar }; \
412 1.1 knakahar ${name}_body() { \
413 1.1 knakahar ${category}_setup ${lan_mode} ${wan_mode}; \
414 1.1 knakahar ${category}_test ${lan_mode} ${wan_mode}; \
415 1.1 knakahar ${category}_teardown ${lan_mode} ${wan_mode}; \
416 1.1 knakahar rump_server_destroy_ifaces; \
417 1.1 knakahar }; \
418 1.1 knakahar ${name}_cleanup() { \
419 1.1 knakahar $DEBUG && dump; \
420 1.1 knakahar cleanup; \
421 1.1 knakahar }"
422 1.1 knakahar atf_add_test_case ${name}
423 1.1 knakahar }
424 1.1 knakahar
425 1.1 knakahar add_test_allproto()
426 1.1 knakahar {
427 1.1 knakahar category=$1
428 1.1 knakahar desc=$2
429 1.1 knakahar
430 1.1 knakahar add_test ${category} "${desc}" ipv4 ipv4
431 1.1 knakahar add_test ${category} "${desc}" ipv4 ipv6
432 1.1 knakahar add_test ${category} "${desc}" ipv6 ipv4
433 1.1 knakahar add_test ${category} "${desc}" ipv6 ipv6
434 1.1 knakahar }
435 1.1 knakahar
436 1.1 knakahar atf_init_test_cases()
437 1.1 knakahar {
438 1.1 knakahar add_test_allproto basic "basic tests"
439 1.1 knakahar # add_test_allproto recursive "recursive check tests"
440 1.1 knakahar }
441