t_gif.sh revision 1.3 1 1.3 knakahar # $NetBSD: t_gif.sh,v 1.3 2015/12/08 05:56:18 knakahara Exp $
2 1.1 knakahar #
3 1.1 knakahar # Copyright (c) 2015 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 server="rump_server -v -lrumpnet -lrumpnet_net -lrumpnet_netinet \
29 1.1 knakahar -lrumpnet_netinet6 -lrumpnet_shmif -lrumpnet_gif"
30 1.3 knakahar HIJACKING="env LD_PRELOAD=/usr/lib/librumphijack.so RUMPHIJACK=sysctl=yes"
31 1.1 knakahar
32 1.1 knakahar SOCK1=unix://commsock1 # for ROUTER1
33 1.1 knakahar SOCK2=unix://commsock2 # for ROUTER2
34 1.1 knakahar ROUTER1_LANIP=192.168.1.1
35 1.1 knakahar ROUTER1_LANNET=192.168.1.0/24
36 1.1 knakahar ROUTER1_WANIP=10.0.0.1
37 1.1 knakahar ROUTER1_GIFIP=172.16.1.1
38 1.3 knakahar ROUTER1_WANIP_DUMMY=10.0.0.11
39 1.3 knakahar ROUTER1_GIFIP_DUMMY=172.16.11.1
40 1.3 knakahar ROUTER1_GIFIP_RECURSIVE1=172.16.101.1
41 1.3 knakahar ROUTER1_GIFIP_RECURSIVE2=172.16.201.1
42 1.1 knakahar ROUTER2_LANIP=192.168.2.1
43 1.1 knakahar ROUTER2_LANNET=192.168.2.0/24
44 1.1 knakahar ROUTER2_WANIP=10.0.0.2
45 1.1 knakahar ROUTER2_GIFIP=172.16.2.1
46 1.3 knakahar ROUTER2_WANIP_DUMMY=10.0.0.12
47 1.3 knakahar ROUTER2_GIFIP_DUMMY=172.16.12.1
48 1.3 knakahar ROUTER2_GIFIP_RECURSIVE1=172.16.102.1
49 1.3 knakahar ROUTER2_GIFIP_RECURSIVE2=172.16.202.1
50 1.1 knakahar
51 1.1 knakahar ROUTER1_LANIP6=fc00:1::1
52 1.1 knakahar ROUTER1_LANNET6=fc00:1::/64
53 1.1 knakahar ROUTER1_WANIP6=fc00::1
54 1.1 knakahar ROUTER1_GIFIP6=fc00:3::1
55 1.3 knakahar ROUTER1_WANIP6_DUMMY=fc00::11
56 1.3 knakahar ROUTER1_GIFIP6_DUMMY=fc00:13::1
57 1.3 knakahar ROUTER1_GIFIP6_RECURSIVE1=fc00:103::1
58 1.3 knakahar ROUTER1_GIFIP6_RECURSIVE2=fc00:203::1
59 1.1 knakahar ROUTER2_LANIP6=fc00:2::1
60 1.1 knakahar ROUTER2_LANNET6=fc00:2::/64
61 1.1 knakahar ROUTER2_WANIP6=fc00::2
62 1.1 knakahar ROUTER2_GIFIP6=fc00:4::1
63 1.3 knakahar ROUTER2_WANIP6_DUMMY=fc00::12
64 1.3 knakahar ROUTER2_GIFIP6_DUMMY=fc00:14::1
65 1.3 knakahar ROUTER2_GIFIP6_RECURSIVE1=fc00:104::1
66 1.3 knakahar ROUTER2_GIFIP6_RECURSIVE2=fc00:204::1
67 1.1 knakahar
68 1.1 knakahar TIMEOUT=5
69 1.1 knakahar
70 1.1 knakahar atf_test_case basicv4overv4 cleanup
71 1.1 knakahar atf_test_case basicv4overv6 cleanup
72 1.1 knakahar atf_test_case basicv6overv4 cleanup
73 1.1 knakahar atf_test_case basicv6overv6 cleanup
74 1.3 knakahar atf_test_case ioctlv4overv4 cleanup
75 1.3 knakahar atf_test_case ioctlv4overv6 cleanup
76 1.3 knakahar atf_test_case ioctlv6overv4 cleanup
77 1.3 knakahar atf_test_case ioctlv6overv6 cleanup
78 1.3 knakahar atf_test_case recursivev4overv4 cleanup
79 1.3 knakahar atf_test_case recursivev4overv6 cleanup
80 1.3 knakahar atf_test_case recursivev6overv4 cleanup
81 1.3 knakahar atf_test_case recursivev6overv6 cleanup
82 1.1 knakahar
83 1.1 knakahar basicv4overv4_head()
84 1.1 knakahar {
85 1.3 knakahar atf_set "descr" "Does IPv4 over IPv4 if_gif basic tests"
86 1.1 knakahar atf_set "require.progs" "rump_server"
87 1.1 knakahar }
88 1.1 knakahar
89 1.1 knakahar basicv4overv6_head()
90 1.1 knakahar {
91 1.3 knakahar atf_set "descr" "Does IPv4 over IPv6 if_gif basic tests"
92 1.1 knakahar atf_set "require.progs" "rump_server"
93 1.1 knakahar }
94 1.1 knakahar
95 1.1 knakahar basicv6overv4_head()
96 1.1 knakahar {
97 1.3 knakahar atf_set "descr" "Does IPv6 over IPv4 if_gif basic tests"
98 1.1 knakahar atf_set "require.progs" "rump_server"
99 1.1 knakahar }
100 1.1 knakahar
101 1.1 knakahar basicv6overv6_head()
102 1.1 knakahar {
103 1.3 knakahar atf_set "descr" "Does IPv6 over IPv6 if_gif basic tests"
104 1.3 knakahar atf_set "require.progs" "rump_server"
105 1.3 knakahar }
106 1.3 knakahar
107 1.3 knakahar ioctlv4overv4_head()
108 1.3 knakahar {
109 1.3 knakahar atf_set "descr" "Does IPv4 over IPv4 if_gif ioctl tests"
110 1.3 knakahar atf_set "require.progs" "rump_server"
111 1.3 knakahar }
112 1.3 knakahar
113 1.3 knakahar ioctlv4overv6_head()
114 1.3 knakahar {
115 1.3 knakahar atf_set "descr" "Does IPv4 over IPv6 if_gif ioctl tests"
116 1.3 knakahar atf_set "require.progs" "rump_server"
117 1.3 knakahar }
118 1.3 knakahar
119 1.3 knakahar ioctlv6overv4_head()
120 1.3 knakahar {
121 1.3 knakahar atf_set "descr" "Does IPv6 over IPv4 if_gif ioctl tests"
122 1.3 knakahar atf_set "require.progs" "rump_server"
123 1.3 knakahar }
124 1.3 knakahar
125 1.3 knakahar ioctlv6overv6_head()
126 1.3 knakahar {
127 1.3 knakahar atf_set "descr" "Does IPv6 over IPv6 if_gif ioctl tests"
128 1.3 knakahar atf_set "require.progs" "rump_server"
129 1.3 knakahar }
130 1.3 knakahar
131 1.3 knakahar recursivev4overv4_head()
132 1.3 knakahar {
133 1.3 knakahar atf_set "descr" "Does IPv4 over IPv4 if_gif recursive check tests"
134 1.3 knakahar atf_set "require.progs" "rump_server"
135 1.3 knakahar }
136 1.3 knakahar
137 1.3 knakahar recursivev4overv6_head()
138 1.3 knakahar {
139 1.3 knakahar atf_set "descr" "Does IPv4 over IPv6 if_gif recursive check tests"
140 1.3 knakahar atf_set "require.progs" "rump_server"
141 1.3 knakahar }
142 1.3 knakahar
143 1.3 knakahar recursivev6overv4_head()
144 1.3 knakahar {
145 1.3 knakahar atf_set "descr" "Does IPv6 over IPv4 if_gif recursive check tests"
146 1.3 knakahar atf_set "require.progs" "rump_server"
147 1.3 knakahar }
148 1.3 knakahar
149 1.3 knakahar recursivev6overv6_head()
150 1.3 knakahar {
151 1.3 knakahar atf_set "descr" "Does IPv6 over IPv6 if_gif recursive check tests"
152 1.1 knakahar atf_set "require.progs" "rump_server"
153 1.1 knakahar }
154 1.1 knakahar
155 1.1 knakahar setup_router()
156 1.1 knakahar {
157 1.1 knakahar sock=${1}
158 1.1 knakahar lan=${2}
159 1.1 knakahar lan_mode=${3}
160 1.1 knakahar wan=${4}
161 1.1 knakahar wan_mode=${5}
162 1.1 knakahar
163 1.1 knakahar export RUMP_SERVER=${sock}
164 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 create
165 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 linkstr bus0
166 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then
167 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 inet6 ${lan}
168 1.1 knakahar else
169 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 inet ${lan} netmask 0xffffff00
170 1.1 knakahar fi
171 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 up
172 1.1 knakahar rump.ifconfig shmif0
173 1.1 knakahar
174 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 create
175 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 linkstr bus1
176 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
177 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 inet6 ${wan}
178 1.1 knakahar else
179 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 inet ${wan} netmask 0xff000000
180 1.1 knakahar fi
181 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 up
182 1.1 knakahar rump.ifconfig shmif1
183 1.1 knakahar }
184 1.1 knakahar
185 1.1 knakahar test_router()
186 1.1 knakahar {
187 1.1 knakahar sock=${1}
188 1.1 knakahar lan=${2}
189 1.1 knakahar lan_mode=${3}
190 1.1 knakahar wan=${4}
191 1.1 knakahar wan_mode=${5}
192 1.1 knakahar
193 1.1 knakahar export RUMP_SERVER=${sock}
194 1.1 knakahar atf_check -s exit:0 -o match:shmif0 rump.ifconfig
195 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then
196 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lan}
197 1.1 knakahar else
198 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lan}
199 1.1 knakahar fi
200 1.1 knakahar
201 1.1 knakahar atf_check -s exit:0 -o match:shmif1 rump.ifconfig
202 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then
203 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${wan}
204 1.1 knakahar else
205 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${wan}
206 1.1 knakahar fi
207 1.1 knakahar }
208 1.1 knakahar
209 1.1 knakahar setup()
210 1.1 knakahar {
211 1.1 knakahar inner=${1}
212 1.1 knakahar outer=${2}
213 1.1 knakahar
214 1.1 knakahar atf_check -s exit:0 ${server} $SOCK1
215 1.1 knakahar atf_check -s exit:0 ${server} $SOCK2
216 1.1 knakahar
217 1.1 knakahar router1_lan=""
218 1.1 knakahar router1_lan_mode=""
219 1.1 knakahar router2_lan=""
220 1.1 knakahar router2_lan_mode=""
221 1.1 knakahar if [ ${inner} = "ipv6" ]; then
222 1.1 knakahar router1_lan=$ROUTER1_LANIP6
223 1.1 knakahar router1_lan_mode="ipv6"
224 1.1 knakahar router2_lan=$ROUTER2_LANIP6
225 1.1 knakahar router2_lan_mode="ipv6"
226 1.1 knakahar else
227 1.1 knakahar router1_lan=$ROUTER1_LANIP
228 1.1 knakahar router1_lan_mode="ipv4"
229 1.1 knakahar router2_lan=$ROUTER2_LANIP
230 1.1 knakahar router2_lan_mode="ipv4"
231 1.1 knakahar fi
232 1.1 knakahar
233 1.1 knakahar if [ ${outer} = "ipv6" ]; then
234 1.1 knakahar setup_router $SOCK1 ${router1_lan} ${router1_lan_mode} \
235 1.1 knakahar $ROUTER1_WANIP6 ipv6
236 1.1 knakahar setup_router $SOCK2 ${router2_lan} ${router2_lan_mode} \
237 1.1 knakahar $ROUTER2_WANIP6 ipv6
238 1.1 knakahar else
239 1.1 knakahar setup_router $SOCK1 ${router1_lan} ${router1_lan_mode} \
240 1.1 knakahar $ROUTER1_WANIP ipv4
241 1.1 knakahar setup_router $SOCK2 ${router2_lan} ${router2_lan_mode} \
242 1.1 knakahar $ROUTER2_WANIP ipv4
243 1.1 knakahar fi
244 1.1 knakahar }
245 1.1 knakahar
246 1.1 knakahar test_setup()
247 1.1 knakahar {
248 1.1 knakahar inner=${1}
249 1.1 knakahar outer=${2}
250 1.1 knakahar
251 1.1 knakahar router1_lan=""
252 1.1 knakahar router1_lan_mode=""
253 1.1 knakahar router2_lan=""
254 1.1 knakahar router2_lan_mode=""
255 1.1 knakahar if [ ${inner} = "ipv6" ]; then
256 1.1 knakahar router1_lan=$ROUTER1_LANIP6
257 1.1 knakahar router1_lan_mode="ipv6"
258 1.1 knakahar router2_lan=$ROUTER2_LANIP6
259 1.1 knakahar router2_lan_mode="ipv6"
260 1.1 knakahar else
261 1.1 knakahar router1_lan=$ROUTER1_LANIP
262 1.1 knakahar router1_lan_mode="ipv4"
263 1.1 knakahar router2_lan=$ROUTER2_LANIP
264 1.1 knakahar router2_lan_mode="ipv4"
265 1.1 knakahar fi
266 1.1 knakahar if [ ${outer} = "ipv6" ]; then
267 1.1 knakahar test_router $SOCK1 ${router1_lan} ${router1_lan_mode} \
268 1.1 knakahar $ROUTER1_WANIP6 ipv6
269 1.1 knakahar test_router $SOCK2 ${router2_lan} ${router2_lan_mode} \
270 1.1 knakahar $ROUTER2_WANIP6 ipv6
271 1.1 knakahar else
272 1.1 knakahar test_router $SOCK1 ${router1_lan} ${router1_lan_mode} \
273 1.1 knakahar $ROUTER1_WANIP ipv4
274 1.1 knakahar test_router $SOCK2 ${router2_lan} ${router2_lan_mode} \
275 1.1 knakahar $ROUTER2_WANIP ipv4
276 1.1 knakahar fi
277 1.1 knakahar }
278 1.1 knakahar
279 1.1 knakahar setup_if_gif()
280 1.1 knakahar {
281 1.1 knakahar sock=${1}
282 1.1 knakahar addr=${2}
283 1.1 knakahar remote=${3}
284 1.1 knakahar inner=${4}
285 1.1 knakahar src=${5}
286 1.1 knakahar dst=${6}
287 1.1 knakahar peernet=${7}
288 1.1 knakahar
289 1.1 knakahar export RUMP_SERVER=${sock}
290 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 create
291 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 tunnel ${src} ${dst}
292 1.1 knakahar if [ ${inner} = "ipv6" ]; then
293 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 inet6 ${addr}/128 ${remote}
294 1.1 knakahar atf_check -s exit:0 -o ignore rump.route add -inet6 ${peernet} ${addr}
295 1.1 knakahar else
296 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 inet ${addr}/32 ${remote}
297 1.1 knakahar atf_check -s exit:0 -o ignore rump.route add -inet ${peernet} ${addr}
298 1.1 knakahar fi
299 1.1 knakahar
300 1.1 knakahar rump.ifconfig gif0
301 1.1 knakahar rump.route -nL show
302 1.1 knakahar }
303 1.1 knakahar
304 1.1 knakahar setup_tunnel()
305 1.1 knakahar {
306 1.1 knakahar inner=${1}
307 1.1 knakahar outer=${2}
308 1.1 knakahar
309 1.1 knakahar addr=""
310 1.1 knakahar remote=""
311 1.1 knakahar src=""
312 1.1 knakahar dst=""
313 1.1 knakahar peernet=""
314 1.1 knakahar
315 1.1 knakahar if [ ${inner} = "ipv6" ]; then
316 1.1 knakahar addr=$ROUTER1_GIFIP6
317 1.1 knakahar remote=$ROUTER2_GIFIP6
318 1.1 knakahar peernet=$ROUTER2_LANNET6
319 1.1 knakahar else
320 1.1 knakahar addr=$ROUTER1_GIFIP
321 1.1 knakahar remote=$ROUTER2_GIFIP
322 1.1 knakahar peernet=$ROUTER2_LANNET
323 1.1 knakahar fi
324 1.1 knakahar if [ ${outer} = "ipv6" ]; then
325 1.1 knakahar src=$ROUTER1_WANIP6
326 1.1 knakahar dst=$ROUTER2_WANIP6
327 1.1 knakahar else
328 1.1 knakahar src=$ROUTER1_WANIP
329 1.1 knakahar dst=$ROUTER2_WANIP
330 1.1 knakahar fi
331 1.1 knakahar setup_if_gif $SOCK1 ${addr} ${remote} ${inner} \
332 1.1 knakahar ${src} ${dst} ${peernet}
333 1.1 knakahar
334 1.1 knakahar if [ $inner = "ipv6" ]; then
335 1.1 knakahar addr=$ROUTER2_GIFIP6
336 1.1 knakahar remote=$ROUTER1_GIFIP6
337 1.1 knakahar peernet=$ROUTER1_LANNET6
338 1.1 knakahar else
339 1.1 knakahar addr=$ROUTER2_GIFIP
340 1.1 knakahar remote=$ROUTER1_GIFIP
341 1.1 knakahar peernet=$ROUTER1_LANNET
342 1.1 knakahar fi
343 1.1 knakahar if [ $outer = "ipv6" ]; then
344 1.1 knakahar src=$ROUTER2_WANIP6
345 1.1 knakahar dst=$ROUTER1_WANIP6
346 1.1 knakahar else
347 1.1 knakahar src=$ROUTER2_WANIP
348 1.1 knakahar dst=$ROUTER1_WANIP
349 1.1 knakahar fi
350 1.1 knakahar setup_if_gif $SOCK2 ${addr} ${remote} ${inner} \
351 1.1 knakahar ${src} ${dst} ${peernet}
352 1.1 knakahar }
353 1.1 knakahar
354 1.1 knakahar test_setup_tunnel()
355 1.1 knakahar {
356 1.1 knakahar mode=${1}
357 1.1 knakahar
358 1.1 knakahar peernet=""
359 1.1 knakahar opt=""
360 1.2 knakahar if [ ${mode} = "ipv6" ]; then
361 1.1 knakahar peernet=$ROUTER2_LANNET6
362 1.1 knakahar opt="-inet6"
363 1.1 knakahar else
364 1.1 knakahar peernet=$ROUTER2_LANNET
365 1.1 knakahar opt="-inet"
366 1.1 knakahar fi
367 1.1 knakahar export RUMP_SERVER=$SOCK1
368 1.1 knakahar atf_check -s exit:0 -o match:gif0 rump.ifconfig
369 1.1 knakahar atf_check -s exit:0 -o match:gif0 rump.route -nL get ${opt} ${peernet}
370 1.1 knakahar
371 1.2 knakahar if [ ${mode} = "ipv6" ]; then
372 1.1 knakahar peernet=$ROUTER1_LANNET6
373 1.1 knakahar opt="-inet6"
374 1.1 knakahar else
375 1.1 knakahar peernet=$ROUTER1_LANNET
376 1.1 knakahar opt="-inet"
377 1.1 knakahar fi
378 1.1 knakahar export RUMP_SERVER=$SOCK2
379 1.1 knakahar atf_check -s exit:0 -o match:gif0 rump.ifconfig
380 1.1 knakahar atf_check -s exit:0 -o match:gif0 rump.route -nL get ${opt} ${peernet}
381 1.1 knakahar }
382 1.1 knakahar
383 1.1 knakahar teardown_tunnel()
384 1.1 knakahar {
385 1.1 knakahar export RUMP_SERVER=$SOCK1
386 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 deletetunnel
387 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 destroy
388 1.1 knakahar
389 1.1 knakahar export RUMP_SERVER=$SOCK2
390 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 deletetunnel
391 1.1 knakahar atf_check -s exit:0 rump.ifconfig gif0 destroy
392 1.1 knakahar }
393 1.1 knakahar
394 1.3 knakahar setup_dummy_if_gif()
395 1.3 knakahar {
396 1.3 knakahar sock=${1}
397 1.3 knakahar addr=${2}
398 1.3 knakahar remote=${3}
399 1.3 knakahar inner=${4}
400 1.3 knakahar src=${5}
401 1.3 knakahar dst=${6}
402 1.3 knakahar
403 1.3 knakahar export RUMP_SERVER=${sock}
404 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 create
405 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 tunnel ${src} ${dst}
406 1.3 knakahar if [ ${inner} = "ipv6" ]; then
407 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 inet6 ${addr}/128 ${remote}
408 1.3 knakahar else
409 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 inet ${addr}/32 ${remote}
410 1.3 knakahar fi
411 1.3 knakahar
412 1.3 knakahar rump.ifconfig gif1
413 1.3 knakahar }
414 1.3 knakahar
415 1.3 knakahar setup_dummy_tunnel()
416 1.3 knakahar {
417 1.3 knakahar inner=${1}
418 1.3 knakahar outer=${2}
419 1.3 knakahar
420 1.3 knakahar addr=""
421 1.3 knakahar remote=""
422 1.3 knakahar src=""
423 1.3 knakahar dst=""
424 1.3 knakahar
425 1.3 knakahar if [ ${inner} = "ipv6" ]; then
426 1.3 knakahar addr=$ROUTER1_GIFIP6_DUMMY
427 1.3 knakahar remote=$ROUTER2_GIFIP6_DUMMY
428 1.3 knakahar else
429 1.3 knakahar addr=$ROUTER1_GIFIP_DUMMY
430 1.3 knakahar remote=$ROUTER2_GIFIP_DUMMY
431 1.3 knakahar fi
432 1.3 knakahar if [ ${outer} = "ipv6" ]; then
433 1.3 knakahar src=$ROUTER1_WANIP6_DUMMY
434 1.3 knakahar dst=$ROUTER2_WANIP6_DUMMY
435 1.3 knakahar else
436 1.3 knakahar src=$ROUTER1_WANIP_DUMMY
437 1.3 knakahar dst=$ROUTER2_WANIP_DUMMY
438 1.3 knakahar fi
439 1.3 knakahar setup_dummy_if_gif $SOCK1 ${addr} ${remote} ${inner} \
440 1.3 knakahar ${src} ${dst}
441 1.3 knakahar
442 1.3 knakahar if [ $inner = "ipv6" ]; then
443 1.3 knakahar addr=$ROUTER2_GIFIP6_DUMMY
444 1.3 knakahar remote=$ROUTER1_GIFIP6_DUMMY
445 1.3 knakahar else
446 1.3 knakahar addr=$ROUTER2_GIFIP_DUMMY
447 1.3 knakahar remote=$ROUTER1_GIFIP_DUMMY
448 1.3 knakahar fi
449 1.3 knakahar if [ $outer = "ipv6" ]; then
450 1.3 knakahar src=$ROUTER2_WANIP6_DUMMY
451 1.3 knakahar dst=$ROUTER1_WANIP6_DUMMY
452 1.3 knakahar else
453 1.3 knakahar src=$ROUTER2_WANIP_DUMMY
454 1.3 knakahar dst=$ROUTER1_WANIP_DUMMY
455 1.3 knakahar fi
456 1.3 knakahar setup_dummy_if_gif $SOCK2 ${addr} ${remote} ${inner} \
457 1.3 knakahar ${src} ${dst}
458 1.3 knakahar }
459 1.3 knakahar
460 1.3 knakahar test_setup_dummy_tunnel()
461 1.3 knakahar {
462 1.3 knakahar export RUMP_SERVER=$SOCK1
463 1.3 knakahar atf_check -s exit:0 -o match:gif1 rump.ifconfig
464 1.3 knakahar
465 1.3 knakahar export RUMP_SERVER=$SOCK2
466 1.3 knakahar atf_check -s exit:0 -o match:gif1 rump.ifconfig
467 1.3 knakahar }
468 1.3 knakahar
469 1.3 knakahar teardown_dummy_tunnel()
470 1.3 knakahar {
471 1.3 knakahar export RUMP_SERVER=$SOCK1
472 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 deletetunnel
473 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 destroy
474 1.3 knakahar
475 1.3 knakahar export RUMP_SERVER=$SOCK2
476 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 deletetunnel
477 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 destroy
478 1.3 knakahar }
479 1.3 knakahar
480 1.3 knakahar setup_recursive_if_gif()
481 1.3 knakahar {
482 1.3 knakahar sock=${1}
483 1.3 knakahar gif=${2}
484 1.3 knakahar addr=${3}
485 1.3 knakahar remote=${4}
486 1.3 knakahar inner=${5}
487 1.3 knakahar src=${6}
488 1.3 knakahar dst=${7}
489 1.3 knakahar
490 1.3 knakahar export RUMP_SERVER=${sock}
491 1.3 knakahar atf_check -s exit:0 rump.ifconfig ${gif} create
492 1.3 knakahar atf_check -s exit:0 rump.ifconfig ${gif} tunnel ${src} ${dst}
493 1.3 knakahar if [ ${inner} = "ipv6" ]; then
494 1.3 knakahar atf_check -s exit:0 rump.ifconfig ${gif} inet6 ${addr}/128 ${remote}
495 1.3 knakahar else
496 1.3 knakahar atf_check -s exit:0 rump.ifconfig ${gif} inet ${addr}/32 ${remote}
497 1.3 knakahar fi
498 1.3 knakahar
499 1.3 knakahar rump.ifconfig ${gif}
500 1.3 knakahar }
501 1.3 knakahar
502 1.3 knakahar # test in ROUTER1 only
503 1.3 knakahar setup_recursive_tunnels()
504 1.3 knakahar {
505 1.3 knakahar mode=${1}
506 1.3 knakahar
507 1.3 knakahar addr=""
508 1.3 knakahar remote=""
509 1.3 knakahar src=""
510 1.3 knakahar dst=""
511 1.3 knakahar
512 1.3 knakahar if [ ${mode} = "ipv6" ]; then
513 1.3 knakahar addr=$ROUTER1_GIFIP6_RECURSIVE1
514 1.3 knakahar remote=$ROUTER2_GIFIP6_RECURSIVE1
515 1.3 knakahar src=$ROUTER1_GIFIP6
516 1.3 knakahar dst=$ROUTER2_GIFIP6
517 1.3 knakahar else
518 1.3 knakahar addr=$ROUTER1_GIFIP_RECURSIVE1
519 1.3 knakahar remote=$ROUTER2_GIFIP_RECURSIVE1
520 1.3 knakahar src=$ROUTER1_GIFIP
521 1.3 knakahar dst=$ROUTER2_GIFIP
522 1.3 knakahar fi
523 1.3 knakahar setup_recursive_if_gif $SOCK1 gif1 ${addr} ${remote} ${mode} \
524 1.3 knakahar ${src} ${dst}
525 1.3 knakahar
526 1.3 knakahar if [ ${mode} = "ipv6" ]; then
527 1.3 knakahar addr=$ROUTER1_GIFIP6_RECURSIVE2
528 1.3 knakahar remote=$ROUTER2_GIFIP6_RECURSIVE2
529 1.3 knakahar src=$ROUTER1_GIFIP6_RECURSIVE1
530 1.3 knakahar dst=$ROUTER2_GIFIP6_RECURSIVE1
531 1.3 knakahar else
532 1.3 knakahar addr=$ROUTER1_GIFIP_RECURSIVE2
533 1.3 knakahar remote=$ROUTER2_GIFIP_RECURSIVE2
534 1.3 knakahar src=$ROUTER1_GIFIP_RECURSIVE1
535 1.3 knakahar dst=$ROUTER2_GIFIP_RECURSIVE1
536 1.3 knakahar fi
537 1.3 knakahar setup_recursive_if_gif $SOCK1 gif2 ${addr} ${remote} ${mode} \
538 1.3 knakahar ${src} ${dst}
539 1.3 knakahar }
540 1.3 knakahar
541 1.3 knakahar # test in router1 only
542 1.3 knakahar test_recursive_check()
543 1.3 knakahar {
544 1.3 knakahar mode=$1
545 1.3 knakahar
546 1.3 knakahar export RUMP_SERVER=$SOCK1
547 1.3 knakahar if [ ${mode} = "ipv6" ]; then
548 1.3 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
549 1.3 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $ROUTER2_GIFIP6_RECURSIVE2
550 1.3 knakahar else
551 1.3 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
552 1.3 knakahar rump.ping -n -w $TIMEOUT -c 1 $ROUTER2_GIFIP_RECURSIVE2
553 1.3 knakahar fi
554 1.3 knakahar
555 1.3 knakahar atf_check -o match:'gif0: recursively called too many times' \
556 1.3 knakahar -x "$HIJACKING dmesg"
557 1.3 knakahar
558 1.3 knakahar $HIJACKING dmesg
559 1.3 knakahar }
560 1.3 knakahar
561 1.3 knakahar teardown_recursive_tunnels()
562 1.3 knakahar {
563 1.3 knakahar export RUMP_SERVER=$SOCK1
564 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 deletetunnel
565 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif1 destroy
566 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif2 deletetunnel
567 1.3 knakahar atf_check -s exit:0 rump.ifconfig gif2 destroy
568 1.3 knakahar }
569 1.3 knakahar
570 1.1 knakahar cleanup()
571 1.1 knakahar {
572 1.1 knakahar env RUMP_SERVER=$SOCK1 rump.halt
573 1.1 knakahar env RUMP_SERVER=$SOCK2 rump.halt
574 1.1 knakahar }
575 1.1 knakahar
576 1.1 knakahar dump_bus()
577 1.1 knakahar {
578 1.1 knakahar /usr/bin/shmif_dumpbus -p - bus0 2>/dev/null| /usr/sbin/tcpdump -n -e -r -
579 1.1 knakahar /usr/bin/shmif_dumpbus -p - bus1 2>/dev/null| /usr/sbin/tcpdump -n -e -r -
580 1.1 knakahar }
581 1.1 knakahar
582 1.1 knakahar test_ping_failure()
583 1.1 knakahar {
584 1.1 knakahar mode=$1
585 1.1 knakahar
586 1.1 knakahar export RUMP_SERVER=$SOCK1
587 1.1 knakahar if [ ${mode} = "ipv6" ]; then
588 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
589 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 -S $ROUTER1_LANIP6 \
590 1.1 knakahar $ROUTER2_LANIP6
591 1.1 knakahar else
592 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
593 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 -I $ROUTER1_LANIP \
594 1.1 knakahar $ROUTER2_LANIP
595 1.1 knakahar fi
596 1.1 knakahar
597 1.1 knakahar export RUMP_SERVER=$SOCK2
598 1.1 knakahar if [ ${mode} = "ipv6" ]; then
599 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
600 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 -S $ROUTER2_LANIP6 \
601 1.1 knakahar $ROUTER1_LANIP6
602 1.1 knakahar else
603 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
604 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 -I $ROUTER1_LANIP \
605 1.1 knakahar $ROUTER2_LANIP
606 1.1 knakahar fi
607 1.1 knakahar }
608 1.1 knakahar
609 1.1 knakahar test_ping_success()
610 1.1 knakahar {
611 1.1 knakahar mode=$1
612 1.1 knakahar
613 1.1 knakahar export RUMP_SERVER=$SOCK1
614 1.1 knakahar rump.ifconfig -v gif0
615 1.1 knakahar if [ ${mode} = "ipv6" ]; then
616 1.1 knakahar # XXX
617 1.1 knakahar # rump.ping6 rarely fails with the message that
618 1.1 knakahar # "failed to get receiving hop limit".
619 1.1 knakahar # This is a known issue being analyzed.
620 1.1 knakahar atf_check -s exit:0 -o ignore \
621 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 -S $ROUTER1_LANIP6 \
622 1.1 knakahar $ROUTER2_LANIP6
623 1.1 knakahar else
624 1.1 knakahar atf_check -s exit:0 -o ignore \
625 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 -I $ROUTER1_LANIP \
626 1.1 knakahar $ROUTER2_LANIP
627 1.1 knakahar fi
628 1.1 knakahar rump.ifconfig -v gif0
629 1.1 knakahar
630 1.1 knakahar export RUMP_SERVER=$SOCK2
631 1.1 knakahar rump.ifconfig -v gif0
632 1.1 knakahar if [ ${mode} = "ipv6" ]; then
633 1.1 knakahar atf_check -s exit:0 -o ignore \
634 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 -S $ROUTER2_LANIP6 \
635 1.1 knakahar $ROUTER1_LANIP6
636 1.1 knakahar else
637 1.1 knakahar atf_check -s exit:0 -o ignore \
638 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 -I $ROUTER2_LANIP \
639 1.1 knakahar $ROUTER1_LANIP
640 1.1 knakahar fi
641 1.1 knakahar rump.ifconfig -v gif0
642 1.1 knakahar }
643 1.1 knakahar
644 1.3 knakahar test_change_tunnel_duplicate()
645 1.3 knakahar {
646 1.3 knakahar mode=$1
647 1.3 knakahar
648 1.3 knakahar newsrc=""
649 1.3 knakahar newdst=""
650 1.3 knakahar if [ ${mode} = "ipv6" ]; then
651 1.3 knakahar newsrc=$ROUTER1_WANIP6_DUMMY
652 1.3 knakahar newdst=$ROUTER2_WANIP6_DUMMY
653 1.3 knakahar else
654 1.3 knakahar newsrc=$ROUTER1_WANIP_DUMMY
655 1.3 knakahar newdst=$ROUTER2_WANIP_DUMMY
656 1.3 knakahar fi
657 1.3 knakahar export RUMP_SERVER=$SOCK1
658 1.3 knakahar rump.ifconfig -v gif0
659 1.3 knakahar rump.ifconfig -v gif1
660 1.3 knakahar atf_check -s exit:0 -e match:SIOCSLIFPHYADDR \
661 1.3 knakahar rump.ifconfig gif0 tunnel ${newsrc} ${newdst}
662 1.3 knakahar rump.ifconfig -v gif0
663 1.3 knakahar rump.ifconfig -v gif1
664 1.3 knakahar
665 1.3 knakahar if [ ${mode} = "ipv6" ]; then
666 1.3 knakahar newsrc=$ROUTER2_WANIP6_DUMMY
667 1.3 knakahar newdst=$ROUTER1_WANIP6_DUMMY
668 1.3 knakahar else
669 1.3 knakahar newsrc=$ROUTER2_WANIP_DUMMY
670 1.3 knakahar newdst=$ROUTER1_WANIP_DUMMY
671 1.3 knakahar fi
672 1.3 knakahar export RUMP_SERVER=$SOCK2
673 1.3 knakahar rump.ifconfig -v gif0
674 1.3 knakahar rump.ifconfig -v gif1
675 1.3 knakahar atf_check -s exit:0 -e match:SIOCSLIFPHYADDR \
676 1.3 knakahar rump.ifconfig gif0 tunnel ${newsrc} ${newdst}
677 1.3 knakahar rump.ifconfig -v gif0
678 1.3 knakahar rump.ifconfig -v gif1
679 1.3 knakahar }
680 1.3 knakahar
681 1.3 knakahar test_change_tunnel_success()
682 1.3 knakahar {
683 1.3 knakahar mode=$1
684 1.3 knakahar
685 1.3 knakahar newsrc=""
686 1.3 knakahar newdst=""
687 1.3 knakahar if [ ${mode} = "ipv6" ]; then
688 1.3 knakahar newsrc=$ROUTER1_WANIP6_DUMMY
689 1.3 knakahar newdst=$ROUTER2_WANIP6_DUMMY
690 1.3 knakahar else
691 1.3 knakahar newsrc=$ROUTER1_WANIP_DUMMY
692 1.3 knakahar newdst=$ROUTER2_WANIP_DUMMY
693 1.3 knakahar fi
694 1.3 knakahar export RUMP_SERVER=$SOCK1
695 1.3 knakahar rump.ifconfig -v gif0
696 1.3 knakahar atf_check -s exit:0 \
697 1.3 knakahar rump.ifconfig gif0 tunnel ${newsrc} ${newdst}
698 1.3 knakahar rump.ifconfig -v gif0
699 1.3 knakahar
700 1.3 knakahar if [ ${mode} = "ipv6" ]; then
701 1.3 knakahar newsrc=$ROUTER2_WANIP6_DUMMY
702 1.3 knakahar newdst=$ROUTER1_WANIP6_DUMMY
703 1.3 knakahar else
704 1.3 knakahar newsrc=$ROUTER2_WANIP_DUMMY
705 1.3 knakahar newdst=$ROUTER1_WANIP_DUMMY
706 1.3 knakahar fi
707 1.3 knakahar export RUMP_SERVER=$SOCK2
708 1.3 knakahar rump.ifconfig -v gif0
709 1.3 knakahar atf_check -s exit:0 \
710 1.3 knakahar rump.ifconfig gif0 tunnel ${newsrc} ${newdst}
711 1.3 knakahar rump.ifconfig -v gif0
712 1.3 knakahar }
713 1.3 knakahar
714 1.1 knakahar basicv4overv4_body()
715 1.1 knakahar {
716 1.1 knakahar setup ipv4 ipv4
717 1.1 knakahar test_setup ipv4 ipv4
718 1.1 knakahar
719 1.1 knakahar # Enable once PR kern/49219 is fixed
720 1.1 knakahar #test_ping_failure
721 1.1 knakahar
722 1.1 knakahar setup_tunnel ipv4 ipv4
723 1.1 knakahar sleep 1
724 1.1 knakahar test_setup_tunnel ipv4
725 1.1 knakahar test_ping_success ipv4
726 1.1 knakahar
727 1.1 knakahar teardown_tunnel
728 1.1 knakahar test_ping_failure ipv4
729 1.1 knakahar }
730 1.1 knakahar
731 1.1 knakahar basicv4overv6_body()
732 1.1 knakahar {
733 1.1 knakahar setup ipv4 ipv6
734 1.1 knakahar test_setup ipv4 ipv6
735 1.1 knakahar
736 1.1 knakahar # Enable once PR kern/49219 is fixed
737 1.1 knakahar #test_ping_failure
738 1.1 knakahar
739 1.1 knakahar setup_tunnel ipv4 ipv6
740 1.1 knakahar sleep 1
741 1.1 knakahar test_setup_tunnel ipv4
742 1.1 knakahar test_ping_success ipv4
743 1.1 knakahar
744 1.1 knakahar teardown_tunnel
745 1.1 knakahar test_ping_failure ipv4
746 1.1 knakahar }
747 1.1 knakahar
748 1.1 knakahar basicv6overv4_body()
749 1.1 knakahar {
750 1.1 knakahar setup ipv6 ipv4
751 1.1 knakahar test_setup ipv6 ipv4
752 1.1 knakahar
753 1.1 knakahar # Enable once PR kern/49219 is fixed
754 1.1 knakahar #test_ping_failure
755 1.1 knakahar
756 1.1 knakahar setup_tunnel ipv6 ipv4
757 1.1 knakahar sleep 1
758 1.1 knakahar test_setup_tunnel ipv6
759 1.1 knakahar test_ping_success ipv6
760 1.1 knakahar
761 1.1 knakahar teardown_tunnel
762 1.1 knakahar test_ping_failure ipv6
763 1.1 knakahar }
764 1.1 knakahar
765 1.1 knakahar basicv6overv6_body()
766 1.1 knakahar {
767 1.1 knakahar setup ipv6 ipv6
768 1.1 knakahar test_setup ipv6 ipv6
769 1.1 knakahar
770 1.1 knakahar # Enable once PR kern/49219 is fixed
771 1.1 knakahar #test_ping_failure
772 1.1 knakahar
773 1.1 knakahar setup_tunnel ipv6 ipv6
774 1.1 knakahar sleep 1
775 1.1 knakahar test_setup_tunnel ipv6
776 1.1 knakahar test_ping_success ipv6
777 1.1 knakahar
778 1.1 knakahar teardown_tunnel
779 1.1 knakahar test_ping_failure ipv6
780 1.1 knakahar }
781 1.1 knakahar
782 1.1 knakahar basicv4overv4_cleanup()
783 1.1 knakahar {
784 1.1 knakahar dump_bus
785 1.1 knakahar cleanup
786 1.1 knakahar }
787 1.1 knakahar
788 1.1 knakahar basicv4overv6_cleanup()
789 1.1 knakahar {
790 1.1 knakahar dump_bus
791 1.1 knakahar cleanup
792 1.1 knakahar }
793 1.1 knakahar
794 1.1 knakahar basicv6overv4_cleanup()
795 1.1 knakahar {
796 1.1 knakahar dump_bus
797 1.1 knakahar cleanup
798 1.1 knakahar }
799 1.1 knakahar
800 1.1 knakahar basicv6overv6_cleanup()
801 1.1 knakahar {
802 1.1 knakahar dump_bus
803 1.1 knakahar cleanup
804 1.1 knakahar }
805 1.1 knakahar
806 1.3 knakahar ioctlv4overv4_body()
807 1.3 knakahar {
808 1.3 knakahar setup ipv4 ipv4
809 1.3 knakahar test_setup ipv4 ipv4
810 1.3 knakahar
811 1.3 knakahar # Enable once PR kern/49219 is fixed
812 1.3 knakahar #test_ping_failure
813 1.3 knakahar
814 1.3 knakahar setup_tunnel ipv4 ipv4
815 1.3 knakahar setup_dummy_tunnel ipv4 ipv4
816 1.3 knakahar sleep 1
817 1.3 knakahar test_setup_tunnel ipv4
818 1.3 knakahar test_setup_dummy_tunnel
819 1.3 knakahar test_ping_success ipv4
820 1.3 knakahar
821 1.3 knakahar test_change_tunnel_duplicate ipv4
822 1.3 knakahar
823 1.3 knakahar teardown_dummy_tunnel
824 1.3 knakahar test_change_tunnel_success ipv4
825 1.3 knakahar
826 1.3 knakahar teardown_tunnel
827 1.3 knakahar test_ping_failure ipv4
828 1.3 knakahar }
829 1.3 knakahar
830 1.3 knakahar ioctlv4overv6_body()
831 1.3 knakahar {
832 1.3 knakahar setup ipv4 ipv6
833 1.3 knakahar test_setup ipv4 ipv6
834 1.3 knakahar
835 1.3 knakahar # Enable once PR kern/49219 is fixed
836 1.3 knakahar #test_ping_failure
837 1.3 knakahar
838 1.3 knakahar setup_tunnel ipv4 ipv6
839 1.3 knakahar setup_dummy_tunnel ipv4 ipv6
840 1.3 knakahar sleep 1
841 1.3 knakahar test_setup_tunnel ipv4
842 1.3 knakahar test_setup_dummy_tunnel
843 1.3 knakahar test_ping_success ipv4
844 1.3 knakahar
845 1.3 knakahar test_change_tunnel_duplicate ipv6
846 1.3 knakahar
847 1.3 knakahar teardown_dummy_tunnel
848 1.3 knakahar test_change_tunnel_success ipv6
849 1.3 knakahar
850 1.3 knakahar teardown_tunnel
851 1.3 knakahar test_ping_failure ipv4
852 1.3 knakahar }
853 1.3 knakahar
854 1.3 knakahar ioctlv6overv4_body()
855 1.3 knakahar {
856 1.3 knakahar setup ipv6 ipv4
857 1.3 knakahar test_setup ipv6 ipv4
858 1.3 knakahar
859 1.3 knakahar # Enable once PR kern/49219 is fixed
860 1.3 knakahar #test_ping_failure
861 1.3 knakahar
862 1.3 knakahar setup_tunnel ipv6 ipv4
863 1.3 knakahar setup_dummy_tunnel ipv6 ipv4
864 1.3 knakahar sleep 1
865 1.3 knakahar test_setup_tunnel ipv6
866 1.3 knakahar test_setup_dummy_tunnel
867 1.3 knakahar test_ping_success ipv6
868 1.3 knakahar
869 1.3 knakahar test_change_tunnel_duplicate ipv4
870 1.3 knakahar
871 1.3 knakahar teardown_dummy_tunnel
872 1.3 knakahar test_change_tunnel_success ipv4
873 1.3 knakahar
874 1.3 knakahar teardown_tunnel
875 1.3 knakahar test_ping_failure ipv6
876 1.3 knakahar }
877 1.3 knakahar
878 1.3 knakahar ioctlv6overv6_body()
879 1.3 knakahar {
880 1.3 knakahar setup ipv6 ipv6
881 1.3 knakahar test_setup ipv6 ipv6
882 1.3 knakahar
883 1.3 knakahar # Enable once PR kern/49219 is fixed
884 1.3 knakahar #test_ping_failure
885 1.3 knakahar
886 1.3 knakahar setup_tunnel ipv6 ipv6
887 1.3 knakahar setup_dummy_tunnel ipv6 ipv6
888 1.3 knakahar sleep 1
889 1.3 knakahar test_setup_tunnel ipv6
890 1.3 knakahar test_setup_dummy_tunnel
891 1.3 knakahar test_ping_success ipv6
892 1.3 knakahar
893 1.3 knakahar test_change_tunnel_duplicate ipv6
894 1.3 knakahar
895 1.3 knakahar teardown_dummy_tunnel
896 1.3 knakahar test_change_tunnel_success ipv6
897 1.3 knakahar
898 1.3 knakahar teardown_tunnel
899 1.3 knakahar test_ping_failure ipv6
900 1.3 knakahar }
901 1.3 knakahar
902 1.3 knakahar ioctlv4overv4_cleanup()
903 1.3 knakahar {
904 1.3 knakahar dump_bus
905 1.3 knakahar cleanup
906 1.3 knakahar }
907 1.3 knakahar
908 1.3 knakahar ioctlv4overv6_cleanup()
909 1.3 knakahar {
910 1.3 knakahar dump_bus
911 1.3 knakahar cleanup
912 1.3 knakahar }
913 1.3 knakahar
914 1.3 knakahar ioctlv6overv4_cleanup()
915 1.3 knakahar {
916 1.3 knakahar dump_bus
917 1.3 knakahar cleanup
918 1.3 knakahar }
919 1.3 knakahar
920 1.3 knakahar ioctlv6overv6_cleanup()
921 1.3 knakahar {
922 1.3 knakahar dump_bus
923 1.3 knakahar cleanup
924 1.3 knakahar }
925 1.3 knakahar
926 1.3 knakahar recursivev4overv4_body()
927 1.3 knakahar {
928 1.3 knakahar setup ipv4 ipv4
929 1.3 knakahar test_setup ipv4 ipv4
930 1.3 knakahar
931 1.3 knakahar # Enable once PR kern/49219 is fixed
932 1.3 knakahar #test_ping_failure
933 1.3 knakahar
934 1.3 knakahar setup_tunnel ipv4 ipv4
935 1.3 knakahar setup_recursive_tunnels ipv4
936 1.3 knakahar sleep 1
937 1.3 knakahar
938 1.3 knakahar test_recursive_check ipv4
939 1.3 knakahar
940 1.3 knakahar teardown_recursive_tunnels
941 1.3 knakahar teardown_tunnel
942 1.3 knakahar }
943 1.3 knakahar
944 1.3 knakahar recursivev4overv6_body()
945 1.3 knakahar {
946 1.3 knakahar setup ipv4 ipv6
947 1.3 knakahar test_setup ipv4 ipv6
948 1.3 knakahar
949 1.3 knakahar # Enable once PR kern/49219 is fixed
950 1.3 knakahar #test_ping_failure
951 1.3 knakahar
952 1.3 knakahar setup_tunnel ipv4 ipv6
953 1.3 knakahar setup_recursive_tunnels ipv4
954 1.3 knakahar sleep 1
955 1.3 knakahar
956 1.3 knakahar test_recursive_check ipv4
957 1.3 knakahar
958 1.3 knakahar teardown_recursive_tunnels
959 1.3 knakahar teardown_tunnel
960 1.3 knakahar }
961 1.3 knakahar
962 1.3 knakahar recursivev6overv4_body()
963 1.3 knakahar {
964 1.3 knakahar setup ipv6 ipv4
965 1.3 knakahar test_setup ipv6 ipv4
966 1.3 knakahar
967 1.3 knakahar # Enable once PR kern/49219 is fixed
968 1.3 knakahar #test_ping_failure
969 1.3 knakahar
970 1.3 knakahar setup_tunnel ipv6 ipv4
971 1.3 knakahar setup_recursive_tunnels ipv6
972 1.3 knakahar sleep 1
973 1.3 knakahar
974 1.3 knakahar test_recursive_check ipv6
975 1.3 knakahar
976 1.3 knakahar teardown_recursive_tunnels
977 1.3 knakahar teardown_tunnel
978 1.3 knakahar }
979 1.3 knakahar
980 1.3 knakahar recursivev6overv6_body()
981 1.3 knakahar {
982 1.3 knakahar setup ipv6 ipv6
983 1.3 knakahar test_setup ipv6 ipv6
984 1.3 knakahar
985 1.3 knakahar # Enable once PR kern/49219 is fixed
986 1.3 knakahar #test_ping_failure
987 1.3 knakahar
988 1.3 knakahar setup_tunnel ipv6 ipv6
989 1.3 knakahar setup_recursive_tunnels ipv6
990 1.3 knakahar sleep 1
991 1.3 knakahar
992 1.3 knakahar test_recursive_check ipv6
993 1.3 knakahar
994 1.3 knakahar teardown_recursive_tunnels
995 1.3 knakahar teardown_tunnel
996 1.3 knakahar test_ping_failure ipv6
997 1.3 knakahar }
998 1.3 knakahar
999 1.3 knakahar recursivev4overv4_cleanup()
1000 1.3 knakahar {
1001 1.3 knakahar dump_bus
1002 1.3 knakahar cleanup
1003 1.3 knakahar }
1004 1.3 knakahar
1005 1.3 knakahar recursivev4overv6_cleanup()
1006 1.3 knakahar {
1007 1.3 knakahar dump_bus
1008 1.3 knakahar cleanup
1009 1.3 knakahar }
1010 1.3 knakahar
1011 1.3 knakahar recursivev6overv4_cleanup()
1012 1.3 knakahar {
1013 1.3 knakahar dump_bus
1014 1.3 knakahar cleanup
1015 1.3 knakahar }
1016 1.3 knakahar
1017 1.3 knakahar recursivev6overv6_cleanup()
1018 1.3 knakahar {
1019 1.3 knakahar dump_bus
1020 1.3 knakahar cleanup
1021 1.3 knakahar }
1022 1.3 knakahar
1023 1.1 knakahar atf_init_test_cases()
1024 1.1 knakahar {
1025 1.1 knakahar atf_add_test_case basicv4overv4
1026 1.1 knakahar atf_add_test_case basicv4overv6
1027 1.1 knakahar atf_add_test_case basicv6overv4
1028 1.1 knakahar atf_add_test_case basicv6overv6
1029 1.3 knakahar
1030 1.3 knakahar atf_add_test_case ioctlv4overv4
1031 1.3 knakahar atf_add_test_case ioctlv4overv6
1032 1.3 knakahar atf_add_test_case ioctlv6overv4
1033 1.3 knakahar atf_add_test_case ioctlv6overv6
1034 1.3 knakahar
1035 1.3 knakahar atf_add_test_case recursivev4overv4
1036 1.3 knakahar atf_add_test_case recursivev4overv6
1037 1.3 knakahar atf_add_test_case recursivev6overv4
1038 1.3 knakahar atf_add_test_case recursivev6overv6
1039 1.1 knakahar }
1040