t_lagg.sh revision 1.5 1 1.5 yamaguch # $NetBSD: t_lagg.sh,v 1.5 2021/11/02 01:57:16 yamaguchi Exp $
2 1.1 yamaguch #
3 1.1 yamaguch # Copyright (c) 2021 Internet Initiative Japan Inc.
4 1.1 yamaguch # All rights reserved.
5 1.1 yamaguch #
6 1.1 yamaguch # Redistribution and use in source and binary forms, with or without
7 1.1 yamaguch # modification, are permitted provided that the following conditions
8 1.1 yamaguch # are met:
9 1.1 yamaguch # 1. Redistributions of source code must retain the above copyright
10 1.1 yamaguch # notice, this list of conditions and the following disclaimer.
11 1.1 yamaguch # 2. Redistributions in binary form must reproduce the above copyright
12 1.1 yamaguch # notice, this list of conditions and the following disclaimer in the
13 1.1 yamaguch # documentation and/or other materials provided with the distribution.
14 1.1 yamaguch #
15 1.1 yamaguch # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 1.1 yamaguch # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 1.1 yamaguch # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 1.1 yamaguch # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 1.1 yamaguch # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 1.1 yamaguch # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 1.1 yamaguch # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 1.1 yamaguch # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 1.1 yamaguch # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 1.1 yamaguch # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.1 yamaguch # POSSIBILITY OF SUCH DAMAGE.
26 1.1 yamaguch #
27 1.1 yamaguch
28 1.1 yamaguch SOCK_HOST0=unix://commsock0
29 1.1 yamaguch SOCK_HOST1=unix://commsock1
30 1.1 yamaguch SOCK_HOST2=unix://commsock2
31 1.1 yamaguch BUS0=bus0
32 1.1 yamaguch BUS1=bus1
33 1.1 yamaguch BUS2=bus2
34 1.1 yamaguch IP4ADDR0=192.168.0.1
35 1.1 yamaguch IP4ADDR1=192.168.0.2
36 1.1 yamaguch IP4ADDR2=192.168.1.1
37 1.1 yamaguch IP4ADDR3=192.168.1.2
38 1.1 yamaguch IP6ADDR0=fc00::1
39 1.1 yamaguch IP6ADDR1=fc00::2
40 1.1 yamaguch IP6ADDR2=fc00:1::1
41 1.1 yamaguch IP6ADDR3=fc00:1::2
42 1.1 yamaguch WAITTIME=20
43 1.1 yamaguch
44 1.1 yamaguch DEBUG=${DEBUG:-false}
45 1.1 yamaguch
46 1.1 yamaguch wait_state()
47 1.1 yamaguch {
48 1.1 yamaguch local state=$1
49 1.1 yamaguch local if_lagg=$2
50 1.1 yamaguch local if_port=$3
51 1.1 yamaguch
52 1.1 yamaguch local n=$WAITTIME
53 1.1 yamaguch local cmd_grep="grep -q ${state}"
54 1.1 yamaguch
55 1.1 yamaguch if [ x"$if_port" != x"" ]; then
56 1.1 yamaguch cmd_grep="grep $if_port | $cmd_grep"
57 1.1 yamaguch fi
58 1.1 yamaguch
59 1.1 yamaguch for i in $(seq $n); do
60 1.1 yamaguch rump.ifconfig $if_lagg | eval $cmd_grep
61 1.1 yamaguch if [ $? = 0 ] ; then
62 1.1 yamaguch $DEBUG && echo "wait for $i seconds."
63 1.1 yamaguch return 0
64 1.1 yamaguch fi
65 1.1 yamaguch
66 1.1 yamaguch sleep 1
67 1.1 yamaguch done
68 1.1 yamaguch
69 1.1 yamaguch $DEBUG && rump.ifconfig -v $if_lagg
70 1.1 yamaguch atf_fail "Couldn't be ${state} for $n seconds."
71 1.1 yamaguch }
72 1.1 yamaguch wait_for_distributing()
73 1.1 yamaguch {
74 1.1 yamaguch
75 1.1 yamaguch wait_state "DISTRIBUTING" $*
76 1.1 yamaguch }
77 1.1 yamaguch
78 1.1 yamaguch expected_inactive()
79 1.1 yamaguch {
80 1.1 yamaguch local if_lagg=$1
81 1.1 yamaguch local if_port=$2
82 1.1 yamaguch
83 1.1 yamaguch sleep 3 # wait a little
84 1.1 yamaguch atf_check -s exit:0 -o not-match:"${if_port}.*ACTIVE" \
85 1.1 yamaguch rump.ifconfig ${if_lagg}
86 1.1 yamaguch }
87 1.1 yamaguch
88 1.3 yamaguch setup_l2tp_ipv4tunnel()
89 1.3 yamaguch {
90 1.3 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
91 1.3 yamaguch
92 1.3 yamaguch local a_addr0=10.0.0.1
93 1.3 yamaguch local a_addr1=10.0.0.2
94 1.3 yamaguch local b_addr0=10.0.1.1
95 1.3 yamaguch local b_addr1=10.0.1.2
96 1.3 yamaguch local c_addr0=10.0.2.1
97 1.3 yamaguch local c_addr1=10.0.2.2
98 1.3 yamaguch
99 1.3 yamaguch local a_session0=1001
100 1.3 yamaguch local a_session1=1002
101 1.3 yamaguch local b_session0=1011
102 1.3 yamaguch local b_session1=1012
103 1.3 yamaguch local c_session0=1021
104 1.3 yamaguch local c_session1=1022
105 1.3 yamaguch
106 1.3 yamaguch rump_server_add_iface $SOCK_HOST0 l2tp0
107 1.3 yamaguch rump_server_add_iface $SOCK_HOST0 l2tp1
108 1.3 yamaguch rump_server_add_iface $SOCK_HOST0 l2tp2
109 1.3 yamaguch rump_server_add_iface $SOCK_HOST1 l2tp0
110 1.3 yamaguch rump_server_add_iface $SOCK_HOST1 l2tp1
111 1.3 yamaguch rump_server_add_iface $SOCK_HOST1 l2tp2
112 1.3 yamaguch
113 1.3 yamaguch
114 1.3 yamaguch export RUMP_SERVER=$SOCK_HOST0
115 1.3 yamaguch $atf_ifconfig shmif0 $a_addr0/24
116 1.3 yamaguch $atf_ifconfig l2tp0 tunnel $a_addr0 $a_addr1
117 1.3 yamaguch $atf_ifconfig l2tp0 session $a_session0 $a_session1
118 1.3 yamaguch
119 1.3 yamaguch $atf_ifconfig shmif1 $b_addr0/24
120 1.3 yamaguch $atf_ifconfig l2tp1 tunnel $b_addr0 $b_addr1
121 1.3 yamaguch $atf_ifconfig l2tp1 session $b_session0 $b_session1
122 1.3 yamaguch
123 1.3 yamaguch $atf_ifconfig shmif2 $c_addr0/24
124 1.3 yamaguch $atf_ifconfig l2tp2 tunnel $c_addr0 $c_addr1
125 1.3 yamaguch $atf_ifconfig l2tp2 session $c_session0 $c_session1
126 1.3 yamaguch
127 1.3 yamaguch export RUMP_SERVER=$SOCK_HOST1
128 1.3 yamaguch $atf_ifconfig shmif0 $a_addr1/24
129 1.3 yamaguch $atf_ifconfig l2tp0 tunnel $a_addr1 $a_addr0
130 1.3 yamaguch $atf_ifconfig l2tp0 session $a_session1 $a_session0
131 1.3 yamaguch
132 1.3 yamaguch $atf_ifconfig shmif1 $b_addr1/24
133 1.3 yamaguch $atf_ifconfig l2tp1 tunnel $b_addr1 $b_addr0
134 1.3 yamaguch $atf_ifconfig l2tp1 session $b_session1 $b_session0
135 1.3 yamaguch
136 1.3 yamaguch $atf_ifconfig shmif2 $c_addr1/24
137 1.3 yamaguch $atf_ifconfig l2tp2 tunnel $c_addr1 $c_addr0
138 1.3 yamaguch $atf_ifconfig l2tp2 session $c_session1 $c_session0
139 1.3 yamaguch }
140 1.3 yamaguch
141 1.1 yamaguch atf_test_case lagg_ifconfig cleanup
142 1.1 yamaguch lagg_ifconfig_head()
143 1.1 yamaguch {
144 1.1 yamaguch
145 1.1 yamaguch atf_set "descr" "tests for create, destroy, and ioctl of lagg(4)"
146 1.1 yamaguch atf_set "require.progs" "rump_server"
147 1.1 yamaguch }
148 1.1 yamaguch
149 1.1 yamaguch lagg_ifconfig_body()
150 1.1 yamaguch {
151 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
152 1.1 yamaguch
153 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg
154 1.1 yamaguch
155 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
156 1.1 yamaguch $atf_ifconfig lagg0 create
157 1.1 yamaguch $atf_ifconfig lagg0 destroy
158 1.1 yamaguch
159 1.1 yamaguch $atf_ifconfig lagg0 create
160 1.1 yamaguch $atf_ifconfig shmif0 create
161 1.1 yamaguch
162 1.1 yamaguch $atf_ifconfig lagg0 laggproto none
163 1.1 yamaguch atf_check -s exit:0 -o match:'laggproto none' \
164 1.1 yamaguch rump.ifconfig lagg0
165 1.1 yamaguch
166 1.1 yamaguch # cannot add a port while protocol is none
167 1.1 yamaguch atf_check -s not-exit:0 -e ignore \
168 1.1 yamaguch rump.ifconfig lagg0 laggport shmif0
169 1.1 yamaguch
170 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
171 1.1 yamaguch atf_check -s exit:0 -o match:'laggproto lacp' \
172 1.1 yamaguch rump.ifconfig lagg0
173 1.1 yamaguch
174 1.1 yamaguch # add a port and an added port
175 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
176 1.1 yamaguch atf_check -s not-exit:0 -e ignore \
177 1.1 yamaguch rump.ifconfig lagg0 laggport shmif0
178 1.1 yamaguch
179 1.1 yamaguch # remove an added port and a removed port
180 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0
181 1.1 yamaguch atf_check -s not-exit:0 -e ignore \
182 1.1 yamaguch rump.ifconfig lagg0 -laggport shmif0
183 1.1 yamaguch
184 1.1 yamaguch # re-add a removed port
185 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
186 1.1 yamaguch
187 1.1 yamaguch # detach protocol even if the I/F has ports
188 1.1 yamaguch $atf_ifconfig lagg0 laggproto none
189 1.1 yamaguch
190 1.1 yamaguch # destroy the interface while grouping ports
191 1.1 yamaguch $atf_ifconfig lagg0 destroy
192 1.1 yamaguch
193 1.1 yamaguch $atf_ifconfig lagg0 create
194 1.1 yamaguch $atf_ifconfig shmif1 create
195 1.1 yamaguch
196 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
197 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
198 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1
199 1.1 yamaguch
200 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0
201 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
202 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif1
203 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1
204 1.1 yamaguch
205 1.1 yamaguch # destroy a LAGed port
206 1.1 yamaguch atf_check -s exit:0 -o match:shmif0 rump.ifconfig lagg0
207 1.1 yamaguch atf_check -s exit:0 -o match:shmif1 rump.ifconfig lagg0
208 1.1 yamaguch $atf_ifconfig shmif0 destroy
209 1.1 yamaguch $atf_ifconfig shmif1 destroy
210 1.1 yamaguch
211 1.1 yamaguch $atf_ifconfig lagg0 laggproto none
212 1.1 yamaguch atf_check -s exit:0 -o ignore rump.ifconfig lagg0
213 1.1 yamaguch }
214 1.1 yamaguch
215 1.1 yamaguch lagg_ifconfig_cleanup()
216 1.1 yamaguch {
217 1.1 yamaguch $DEBG && dump
218 1.1 yamaguch cleanup
219 1.1 yamaguch }
220 1.1 yamaguch
221 1.1 yamaguch atf_test_case lagg_macaddr cleanup
222 1.1 yamaguch lagg_macaddr_head()
223 1.1 yamaguch {
224 1.1 yamaguch atf_set "descr" "tests for a MAC address to assign to lagg(4)"
225 1.1 yamaguch atf_set "require.progs" "rump_server"
226 1.1 yamaguch }
227 1.1 yamaguch
228 1.1 yamaguch lagg_macaddr_body()
229 1.1 yamaguch {
230 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
231 1.1 yamaguch
232 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg
233 1.1 yamaguch
234 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
235 1.1 yamaguch $atf_ifconfig lagg0 create
236 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
237 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
238 1.1 yamaguch
239 1.1 yamaguch maddr=$(get_macaddr $SOCK_HOST0 lagg0)
240 1.1 yamaguch maddr0=$(get_macaddr $SOCK_HOST0 shmif0)
241 1.1 yamaguch maddr1=$(get_macaddr $SOCK_HOST0 shmif1)
242 1.1 yamaguch
243 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
244 1.1 yamaguch
245 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
246 1.1 yamaguch atf_check -s exit:0 -o match:$maddr0 rump.ifconfig lagg0
247 1.1 yamaguch
248 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1
249 1.1 yamaguch atf_check -s exit:0 -o match:$maddr0 rump.ifconfig lagg0
250 1.1 yamaguch atf_check -s exit:0 -o match:$maddr0 rump.ifconfig shmif1
251 1.1 yamaguch
252 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0
253 1.1 yamaguch atf_check -s exit:0 -o match:$maddr1 rump.ifconfig lagg0
254 1.1 yamaguch atf_check -s exit:0 -o match:$maddr0 rump.ifconfig shmif0
255 1.1 yamaguch
256 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
257 1.1 yamaguch atf_check -s exit:0 -o match:$maddr1 rump.ifconfig lagg0
258 1.1 yamaguch atf_check -s exit:0 -o match:$maddr1 rump.ifconfig shmif0
259 1.1 yamaguch
260 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0
261 1.1 yamaguch atf_check -s exit:0 -o match:$maddr0 rump.ifconfig shmif0
262 1.1 yamaguch
263 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif1
264 1.1 yamaguch atf_check -s exit:0 -o match:$maddr rump.ifconfig lagg0
265 1.1 yamaguch }
266 1.1 yamaguch
267 1.1 yamaguch lagg_macaddr_cleanup()
268 1.1 yamaguch {
269 1.1 yamaguch $DEBUG && dump
270 1.1 yamaguch cleanup
271 1.1 yamaguch }
272 1.1 yamaguch
273 1.1 yamaguch atf_test_case lagg_ipv6lla cleanup
274 1.1 yamaguch lagg_ipv6lla_head()
275 1.1 yamaguch {
276 1.1 yamaguch atf_set "descr" "tests for a IPV6 LLA to assign to lagg(4)"
277 1.1 yamaguch atf_set "require.progs" "rump_server"
278 1.1 yamaguch }
279 1.1 yamaguch
280 1.1 yamaguch lagg_ipv6lla_body()
281 1.1 yamaguch {
282 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
283 1.1 yamaguch
284 1.1 yamaguch rump_server_start $SOCK_HOST0 netinet6 lagg
285 1.1 yamaguch
286 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
287 1.1 yamaguch $atf_ifconfig lagg0 create
288 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
289 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
290 1.1 yamaguch
291 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
292 1.1 yamaguch
293 1.1 yamaguch $atf_ifconfig shmif0 up
294 1.1 yamaguch atf_check -s exit:0 -o match:'inet6 fe80:' rump.ifconfig shmif0
295 1.1 yamaguch
296 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport shmif0
297 1.1 yamaguch atf_check -s exit:0 -o not-match:'inet6 fe80:' rump.ifconfig shmif0
298 1.1 yamaguch
299 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1
300 1.1 yamaguch $atf_ifconfig shmif1 up
301 1.1 yamaguch atf_check -s exit:0 -o not-match:'inet6 fe80:' rump.ifconfig shmif1
302 1.1 yamaguch
303 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0
304 1.1 yamaguch atf_check -s exit:0 -o match:'inet6 fe80:' rump.ifconfig shmif0
305 1.1 yamaguch
306 1.1 yamaguch $atf_ifconfig shmif1 down
307 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif1
308 1.1 yamaguch atf_check -s exit:0 -o not-match:'inet fe80:' rump.ifconfig shmif1
309 1.1 yamaguch }
310 1.1 yamaguch
311 1.1 yamaguch lagg_ipv6lla_cleanup()
312 1.1 yamaguch {
313 1.1 yamaguch $DEBUG && dump
314 1.1 yamaguch cleanup
315 1.1 yamaguch }
316 1.1 yamaguch
317 1.1 yamaguch atf_test_case lagg_lacp_basic cleanup
318 1.1 yamaguch lagg_lacp_basic_head()
319 1.1 yamaguch {
320 1.1 yamaguch
321 1.1 yamaguch atf_set "descr" "tests for LACP basic functions"
322 1.1 yamaguch atf_set "require.progs" "rump_server"
323 1.1 yamaguch }
324 1.1 yamaguch
325 1.1 yamaguch lagg_lacp_basic_body()
326 1.1 yamaguch {
327 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
328 1.1 yamaguch
329 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg
330 1.1 yamaguch rump_server_start $SOCK_HOST1 lagg
331 1.1 yamaguch rump_server_start $SOCK_HOST2 lagg
332 1.1 yamaguch
333 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
334 1.1 yamaguch
335 1.1 yamaguch # added running interface
336 1.1 yamaguch $atf_ifconfig shmif0 create
337 1.1 yamaguch $atf_ifconfig shmif0 linkstr $BUS0
338 1.1 yamaguch
339 1.1 yamaguch $atf_ifconfig shmif1 create
340 1.1 yamaguch $atf_ifconfig shmif1 linkstr $BUS1
341 1.1 yamaguch
342 1.1 yamaguch $atf_ifconfig lagg0 create
343 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
344 1.1 yamaguch
345 1.1 yamaguch $atf_ifconfig shmif0 up
346 1.1 yamaguch $atf_ifconfig shmif1 up
347 1.1 yamaguch $atf_ifconfig lagg0 up
348 1.1 yamaguch
349 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
350 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1
351 1.1 yamaguch $atf_ifconfig -w 10
352 1.1 yamaguch
353 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0
354 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif1
355 1.1 yamaguch $atf_ifconfig lagg0 down
356 1.1 yamaguch
357 1.1 yamaguch # add the same interfaces again
358 1.1 yamaguch $atf_ifconfig lagg0 up
359 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
360 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1
361 1.1 yamaguch
362 1.1 yamaguch # detach and re-attach protocol
363 1.1 yamaguch $atf_ifconfig lagg0 laggproto none
364 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp \
365 1.1 yamaguch laggport shmif0 laggport shmif1
366 1.1 yamaguch
367 1.1 yamaguch $atf_ifconfig lagg0 -laggport shmif0 -laggport shmif1
368 1.1 yamaguch $atf_ifconfig lagg0 destroy
369 1.1 yamaguch $atf_ifconfig shmif0 destroy
370 1.1 yamaguch $atf_ifconfig shmif1 destroy
371 1.1 yamaguch
372 1.1 yamaguch # tests for a loopback condition
373 1.1 yamaguch $atf_ifconfig shmif0 create
374 1.1 yamaguch $atf_ifconfig shmif0 linkstr $BUS0
375 1.1 yamaguch $atf_ifconfig shmif1 create
376 1.1 yamaguch $atf_ifconfig shmif1 linkstr $BUS0
377 1.1 yamaguch $atf_ifconfig lagg0 create
378 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp \
379 1.1 yamaguch laggport shmif0 laggport shmif1
380 1.1 yamaguch $atf_ifconfig shmif0 up
381 1.1 yamaguch $atf_ifconfig shmif1 up
382 1.1 yamaguch $atf_ifconfig lagg0 up
383 1.1 yamaguch
384 1.1 yamaguch expected_inactive lagg0
385 1.1 yamaguch
386 1.1 yamaguch $atf_ifconfig shmif0 down
387 1.1 yamaguch $atf_ifconfig shmif0 destroy
388 1.1 yamaguch $atf_ifconfig shmif1 down
389 1.1 yamaguch $atf_ifconfig shmif1 destroy
390 1.1 yamaguch $atf_ifconfig lagg0 down
391 1.1 yamaguch $atf_ifconfig lagg0 destroy
392 1.1 yamaguch
393 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
394 1.1 yamaguch $atf_ifconfig shmif0 create
395 1.1 yamaguch $atf_ifconfig shmif0 linkstr $BUS0
396 1.1 yamaguch $atf_ifconfig shmif0 up
397 1.1 yamaguch
398 1.1 yamaguch $atf_ifconfig shmif1 create
399 1.1 yamaguch $atf_ifconfig shmif1 linkstr $BUS1
400 1.1 yamaguch $atf_ifconfig shmif1 up
401 1.1 yamaguch
402 1.1 yamaguch $atf_ifconfig shmif2 create
403 1.1 yamaguch $atf_ifconfig shmif2 linkstr $BUS2
404 1.1 yamaguch $atf_ifconfig shmif2 up
405 1.1 yamaguch
406 1.1 yamaguch $atf_ifconfig lagg0 create
407 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport shmif0 \
408 1.1 yamaguch laggport shmif1 laggport shmif2
409 1.1 yamaguch $atf_ifconfig lagg0 up
410 1.1 yamaguch
411 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
412 1.1 yamaguch $atf_ifconfig shmif0 create
413 1.1 yamaguch $atf_ifconfig shmif0 linkstr $BUS0
414 1.1 yamaguch $atf_ifconfig shmif0 up
415 1.1 yamaguch
416 1.1 yamaguch $atf_ifconfig shmif1 create
417 1.1 yamaguch $atf_ifconfig shmif1 linkstr $BUS1
418 1.1 yamaguch $atf_ifconfig shmif1 up
419 1.1 yamaguch
420 1.1 yamaguch $atf_ifconfig lagg0 create
421 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
422 1.1 yamaguch $atf_ifconfig lagg1 create
423 1.1 yamaguch $atf_ifconfig lagg1 laggproto lacp
424 1.1 yamaguch
425 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0
426 1.1 yamaguch $atf_ifconfig lagg0 up
427 1.1 yamaguch wait_for_distributing lagg0 shmif0
428 1.1 yamaguch
429 1.1 yamaguch $atf_ifconfig lagg1 laggport shmif1
430 1.1 yamaguch $atf_ifconfig lagg1 up
431 1.1 yamaguch
432 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST2
433 1.1 yamaguch $atf_ifconfig shmif0 create
434 1.1 yamaguch $atf_ifconfig shmif0 linkstr $BUS2
435 1.1 yamaguch $atf_ifconfig shmif0 up
436 1.1 yamaguch
437 1.1 yamaguch $atf_ifconfig lagg0 create
438 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport shmif0
439 1.1 yamaguch $atf_ifconfig lagg0 up
440 1.1 yamaguch
441 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
442 1.1 yamaguch wait_for_distributing lagg0 shmif0
443 1.1 yamaguch expected_inactive lagg0 shmif1
444 1.1 yamaguch expected_inactive lagg0 shmif2
445 1.1 yamaguch }
446 1.1 yamaguch
447 1.1 yamaguch lagg_lacp_basic_cleanup()
448 1.1 yamaguch {
449 1.1 yamaguch
450 1.1 yamaguch $DEBUG && dump
451 1.1 yamaguch cleanup
452 1.1 yamaguch }
453 1.1 yamaguch
454 1.1 yamaguch lagg_lacp_ping()
455 1.1 yamaguch {
456 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
457 1.1 yamaguch
458 1.1 yamaguch local af=$1
459 1.3 yamaguch local l2proto=$2
460 1.1 yamaguch local atf_ping="atf_check -s exit:0 -o ignore rump.ping -c 1"
461 1.1 yamaguch local ping=rump.ping
462 1.1 yamaguch local rumplib=""
463 1.1 yamaguch local pfx=24
464 1.1 yamaguch local addr_host0=$IP4ADDR0
465 1.1 yamaguch local addr_host1=$IP4ADDR1
466 1.1 yamaguch
467 1.1 yamaguch case $af in
468 1.1 yamaguch "inet")
469 1.1 yamaguch # do nothing
470 1.1 yamaguch ;;
471 1.1 yamaguch "inet6")
472 1.1 yamaguch atf_ping="atf_check -s exit:0 -o ignore rump.ping6 -c 1"
473 1.1 yamaguch rumplib="netinet6"
474 1.1 yamaguch pfx=64
475 1.1 yamaguch addr_host0=$IP6ADDR0
476 1.1 yamaguch addr_host1=$IP6ADDR1
477 1.1 yamaguch ;;
478 1.1 yamaguch esac
479 1.1 yamaguch
480 1.3 yamaguch case $l2proto in
481 1.3 yamaguch "ether")
482 1.3 yamaguch iface0=shmif0
483 1.3 yamaguch iface1=shmif1
484 1.3 yamaguch iface2=shmif2
485 1.3 yamaguch ;;
486 1.3 yamaguch "l2tp")
487 1.3 yamaguch rumplib="$rumplib l2tp"
488 1.3 yamaguch iface0=l2tp0
489 1.3 yamaguch iface1=l2tp1
490 1.3 yamaguch iface2=l2tp2
491 1.3 yamaguch ;;
492 1.3 yamaguch esac
493 1.3 yamaguch
494 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg $rumplib
495 1.1 yamaguch rump_server_start $SOCK_HOST1 lagg $rumplib
496 1.1 yamaguch
497 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
498 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
499 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif2 $BUS2
500 1.1 yamaguch
501 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif0 $BUS0
502 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif1 $BUS1
503 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif2 $BUS2
504 1.1 yamaguch
505 1.3 yamaguch if [ x"$l2proto" = x"l2tp" ];then
506 1.3 yamaguch setup_l2tp_ipv4tunnel
507 1.3 yamaguch fi
508 1.3 yamaguch
509 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
510 1.1 yamaguch $atf_ifconfig lagg0 create
511 1.3 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport $iface0
512 1.1 yamaguch $atf_ifconfig lagg0 $af $addr_host0/$pfx
513 1.3 yamaguch $atf_ifconfig $iface0 up
514 1.1 yamaguch $atf_ifconfig lagg0 up
515 1.1 yamaguch
516 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
517 1.1 yamaguch $atf_ifconfig lagg0 create
518 1.3 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport $iface0
519 1.1 yamaguch $atf_ifconfig lagg0 $af $addr_host1/$pfx
520 1.3 yamaguch $atf_ifconfig $iface0 up
521 1.1 yamaguch $atf_ifconfig lagg0 up
522 1.1 yamaguch
523 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
524 1.1 yamaguch wait_for_distributing lagg0
525 1.1 yamaguch $atf_ifconfig -w 10
526 1.1 yamaguch
527 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
528 1.1 yamaguch wait_for_distributing lagg0
529 1.1 yamaguch $atf_ifconfig -w 10
530 1.1 yamaguch
531 1.1 yamaguch $atf_ping $addr_host0
532 1.1 yamaguch
533 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
534 1.3 yamaguch $atf_ifconfig $iface1 up
535 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface1 laggport $iface2
536 1.3 yamaguch $atf_ifconfig $iface2 up
537 1.1 yamaguch
538 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
539 1.3 yamaguch $atf_ifconfig $iface1 up
540 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface1 laggport $iface2
541 1.3 yamaguch $atf_ifconfig $iface2 up
542 1.1 yamaguch
543 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
544 1.3 yamaguch wait_for_distributing lagg0 $iface1
545 1.3 yamaguch wait_for_distributing lagg0 $iface2
546 1.1 yamaguch
547 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
548 1.3 yamaguch wait_for_distributing lagg0 $iface1
549 1.3 yamaguch wait_for_distributing lagg0 $iface2
550 1.1 yamaguch
551 1.1 yamaguch $atf_ping $addr_host0
552 1.1 yamaguch }
553 1.1 yamaguch
554 1.1 yamaguch atf_test_case lagg_lacp_ipv4 cleanup
555 1.1 yamaguch lagg_lacp_ipv4_head()
556 1.1 yamaguch {
557 1.1 yamaguch
558 1.1 yamaguch atf_set "descr" "tests for IPv4 with LACP"
559 1.1 yamaguch atf_set "require.progs" "rump_server"
560 1.1 yamaguch }
561 1.1 yamaguch
562 1.1 yamaguch lagg_lacp_ipv4_body()
563 1.1 yamaguch {
564 1.1 yamaguch
565 1.3 yamaguch lagg_lacp_ping "inet" "ether"
566 1.1 yamaguch }
567 1.1 yamaguch
568 1.1 yamaguch lagg_lacp_ipv4_cleanup()
569 1.1 yamaguch {
570 1.1 yamaguch
571 1.1 yamaguch $DEBUG && dump
572 1.1 yamaguch cleanup
573 1.1 yamaguch }
574 1.1 yamaguch
575 1.2 yamaguch atf_test_case lagg_lacp_ipv6 cleanup
576 1.1 yamaguch lagg_lacp_ipv6_head()
577 1.1 yamaguch {
578 1.1 yamaguch
579 1.1 yamaguch atf_set "descr" "tests for IPv6 with LACP"
580 1.1 yamaguch atf_set "require.progs" "rump_server"
581 1.1 yamaguch }
582 1.1 yamaguch
583 1.1 yamaguch lagg_lacp_ipv6_body()
584 1.1 yamaguch {
585 1.1 yamaguch
586 1.3 yamaguch lagg_lacp_ping "inet6" "ether"
587 1.1 yamaguch }
588 1.1 yamaguch
589 1.1 yamaguch lagg_lacp_ipv6_cleanup()
590 1.1 yamaguch {
591 1.1 yamaguch
592 1.1 yamaguch $DEBUG && dump
593 1.1 yamaguch cleanup
594 1.1 yamaguch }
595 1.1 yamaguch
596 1.3 yamaguch atf_test_case lagg_lacp_l2tp_ipv4 cleanup
597 1.3 yamaguch lagg_lacp_l2tp_ipv4_head()
598 1.3 yamaguch {
599 1.3 yamaguch
600 1.3 yamaguch atf_set "descr" "tests for LACP over l2tp by using IPv4"
601 1.3 yamaguch atf_set "require.progs" "rump_server"
602 1.3 yamaguch }
603 1.3 yamaguch
604 1.3 yamaguch lagg_lacp_l2tp_ipv4_body()
605 1.3 yamaguch {
606 1.3 yamaguch
607 1.3 yamaguch lagg_lacp_ping "inet" "l2tp"
608 1.3 yamaguch }
609 1.3 yamaguch
610 1.3 yamaguch lagg_lacp_l2tp_ipv4_cleanup()
611 1.3 yamaguch {
612 1.3 yamaguch
613 1.3 yamaguch $DEBUG && dump
614 1.3 yamaguch cleanup
615 1.3 yamaguch }
616 1.3 yamaguch
617 1.3 yamaguch atf_test_case lagg_lacp_l2tp_ipv6 cleanup
618 1.3 yamaguch lagg_lacp_l2tp_ipv6_head()
619 1.3 yamaguch {
620 1.3 yamaguch
621 1.3 yamaguch atf_set "descr" "tests for LACP over l2tp using IPv6"
622 1.3 yamaguch atf_set "require.progs" "rump_server"
623 1.3 yamaguch }
624 1.3 yamaguch
625 1.3 yamaguch lagg_lacp_l2tp_ipv6_body()
626 1.3 yamaguch {
627 1.3 yamaguch
628 1.3 yamaguch lagg_lacp_ping "inet6" "l2tp"
629 1.3 yamaguch }
630 1.3 yamaguch
631 1.3 yamaguch lagg_lacp_l2tp_ipv6_cleanup()
632 1.3 yamaguch {
633 1.3 yamaguch
634 1.3 yamaguch $DEBUG && dump
635 1.3 yamaguch cleanup
636 1.3 yamaguch }
637 1.3 yamaguch
638 1.1 yamaguch lagg_lacp_vlan()
639 1.1 yamaguch {
640 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
641 1.1 yamaguch
642 1.1 yamaguch local af=$1
643 1.5 yamaguch local l2proto=$2
644 1.1 yamaguch local atf_ping="atf_check -s exit:0 -o ignore rump.ping -c 1"
645 1.1 yamaguch local rumplib="vlan"
646 1.1 yamaguch local pfx=24
647 1.1 yamaguch local vlan0_addr_host0=$IP4ADDR0
648 1.1 yamaguch local host0addr0=$IP4ADDR0
649 1.1 yamaguch local host1addr0=$IP4ADDR1
650 1.1 yamaguch local host0addr1=$IP4ADDR2
651 1.1 yamaguch local host1addr1=$IP4ADDR3
652 1.1 yamaguch
653 1.1 yamaguch case $af in
654 1.1 yamaguch "inet")
655 1.1 yamaguch # do nothing
656 1.1 yamaguch ;;
657 1.1 yamaguch "inet6")
658 1.1 yamaguch atf_ping="atf_check -s exit:0 -o ignore rump.ping6 -c 1"
659 1.4 yamaguch rumplib="$rumplib netinet6"
660 1.1 yamaguch pfx=64
661 1.1 yamaguch host0addr0=$IP6ADDR0
662 1.1 yamaguch host1addr0=$IP6ADDR1
663 1.1 yamaguch host0addr1=$IP6ADDR2
664 1.1 yamaguch host1addr1=$IP6ADDR3
665 1.1 yamaguch ;;
666 1.1 yamaguch esac
667 1.1 yamaguch
668 1.5 yamaguch case $l2proto in
669 1.5 yamaguch "ether")
670 1.5 yamaguch iface0=shmif0
671 1.5 yamaguch iface1=shmif1
672 1.5 yamaguch iface2=shmif2
673 1.5 yamaguch ;;
674 1.5 yamaguch "l2tp")
675 1.5 yamaguch rumplib="$rumplib l2tp"
676 1.5 yamaguch iface0=l2tp0
677 1.5 yamaguch iface1=l2tp1
678 1.5 yamaguch iface2=l2tp2
679 1.5 yamaguch esac
680 1.5 yamaguch
681 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg $rumplib
682 1.1 yamaguch rump_server_start $SOCK_HOST1 lagg $rumplib
683 1.1 yamaguch
684 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
685 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
686 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif2 $BUS2
687 1.1 yamaguch
688 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif0 $BUS0
689 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif1 $BUS1
690 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif2 $BUS2
691 1.1 yamaguch
692 1.5 yamaguch if [ x"$l2proto" = x"l2tp" ]; then
693 1.5 yamaguch setup_l2tp_ipv4tunnel
694 1.5 yamaguch fi
695 1.5 yamaguch
696 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
697 1.1 yamaguch $atf_ifconfig lagg0 create
698 1.5 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport $iface0
699 1.5 yamaguch $atf_ifconfig $iface0 up
700 1.1 yamaguch $atf_ifconfig lagg0 up
701 1.1 yamaguch
702 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
703 1.1 yamaguch $atf_ifconfig lagg0 create
704 1.5 yamaguch $atf_ifconfig lagg0 laggproto lacp laggport $iface0
705 1.5 yamaguch $atf_ifconfig $iface0 up
706 1.1 yamaguch $atf_ifconfig lagg0 up
707 1.1 yamaguch
708 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
709 1.1 yamaguch wait_for_distributing lagg0
710 1.1 yamaguch
711 1.1 yamaguch $atf_ifconfig vlan0 create
712 1.1 yamaguch $atf_ifconfig vlan0 vlan 10 vlanif lagg0
713 1.1 yamaguch $atf_ifconfig vlan0 $af $host0addr0/$pfx
714 1.1 yamaguch $atf_ifconfig vlan0 up
715 1.1 yamaguch
716 1.1 yamaguch $atf_ifconfig vlan1 create
717 1.1 yamaguch $atf_ifconfig vlan1 vlan 11 vlanif lagg0
718 1.1 yamaguch $atf_ifconfig vlan1 $af $host0addr1/$pfx
719 1.1 yamaguch $atf_ifconfig vlan1 up
720 1.1 yamaguch
721 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
722 1.1 yamaguch $atf_ifconfig vlan0 create
723 1.1 yamaguch $atf_ifconfig vlan0 vlan 10 vlanif lagg0
724 1.1 yamaguch $atf_ifconfig vlan0 $af $host1addr0/$pfx
725 1.1 yamaguch $atf_ifconfig vlan0 up
726 1.1 yamaguch
727 1.1 yamaguch $atf_ifconfig vlan1 create
728 1.1 yamaguch $atf_ifconfig vlan1 vlan 11 vlanif lagg0
729 1.1 yamaguch $atf_ifconfig vlan1 $af $host1addr1/$pfx
730 1.1 yamaguch $atf_ifconfig vlan1 up
731 1.1 yamaguch
732 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
733 1.1 yamaguch $atf_ifconfig -w 10
734 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
735 1.1 yamaguch $atf_ifconfig -w 10
736 1.1 yamaguch
737 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
738 1.1 yamaguch $atf_ping $host1addr0
739 1.1 yamaguch $atf_ping $host1addr1
740 1.1 yamaguch
741 1.5 yamaguch $atf_ifconfig lagg0 laggport $iface1
742 1.5 yamaguch $atf_ifconfig $iface1 up
743 1.1 yamaguch
744 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
745 1.5 yamaguch $atf_ifconfig lagg0 laggport $iface1
746 1.5 yamaguch $atf_ifconfig $iface1 up
747 1.1 yamaguch
748 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
749 1.5 yamaguch wait_for_distributing lagg0 $iface1
750 1.1 yamaguch
751 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
752 1.5 yamaguch wait_for_distributing lagg0 $iface1
753 1.1 yamaguch
754 1.1 yamaguch $atf_ping $host0addr0
755 1.1 yamaguch $atf_ping $host0addr1
756 1.1 yamaguch }
757 1.1 yamaguch
758 1.1 yamaguch atf_test_case lagg_lacp_vlan_ipv4 cleanup
759 1.1 yamaguch lagg_lacp_vlan_ipv4_head()
760 1.1 yamaguch {
761 1.1 yamaguch
762 1.1 yamaguch atf_set "descr" "tests for IPv4 VLAN frames over LACP LAG"
763 1.1 yamaguch atf_set "require.progs" "rump_server"
764 1.1 yamaguch }
765 1.1 yamaguch
766 1.1 yamaguch lagg_lacp_vlan_ipv4_body()
767 1.1 yamaguch {
768 1.1 yamaguch
769 1.5 yamaguch lagg_lacp_vlan "inet" "ether"
770 1.1 yamaguch }
771 1.1 yamaguch
772 1.1 yamaguch lagg_lacp_vlan_ipv4_cleanup()
773 1.1 yamaguch {
774 1.1 yamaguch $DEBUG && dump
775 1.1 yamaguch cleanup
776 1.1 yamaguch }
777 1.1 yamaguch
778 1.1 yamaguch atf_test_case lagg_lacp_vlan_ipv6 cleanup
779 1.1 yamaguch lagg_lacp_vlan_ipv6_head()
780 1.1 yamaguch {
781 1.1 yamaguch
782 1.1 yamaguch atf_set "descr" "tests for IPv6 VLAN frames over LACP LAG"
783 1.1 yamaguch atf_set "require.progs" "rump_server"
784 1.1 yamaguch }
785 1.1 yamaguch
786 1.1 yamaguch lagg_lacp_vlan_ipv6_body()
787 1.1 yamaguch {
788 1.1 yamaguch
789 1.5 yamaguch lagg_lacp_vlan "inet6" "ether"
790 1.1 yamaguch }
791 1.1 yamaguch
792 1.1 yamaguch lagg_lacp_vlan_ipv6_cleanup()
793 1.1 yamaguch {
794 1.1 yamaguch $DEBUG && dump
795 1.1 yamaguch cleanup
796 1.1 yamaguch }
797 1.1 yamaguch
798 1.5 yamaguch atf_test_case lagg_lacp_vlanl2tp_ipv4 cleanup
799 1.5 yamaguch lagg_lacp_vlanl2tp_ipv4_head()
800 1.5 yamaguch {
801 1.5 yamaguch
802 1.5 yamaguch atf_set "descr" "tests for IPv4 VLAN frames over LACP L2TP LAG"
803 1.5 yamaguch atf_set "require.progs" "rump_server"
804 1.5 yamaguch }
805 1.5 yamaguch
806 1.5 yamaguch lagg_lacp_vlanl2tp_ipv4_body()
807 1.5 yamaguch {
808 1.5 yamaguch
809 1.5 yamaguch lagg_lacp_vlan "inet" "l2tp"
810 1.5 yamaguch }
811 1.5 yamaguch
812 1.5 yamaguch lagg_lacp_vlanl2tp_ipv4_cleanup()
813 1.5 yamaguch {
814 1.5 yamaguch
815 1.5 yamaguch $DEBUG && dump
816 1.5 yamaguch cleanup
817 1.5 yamaguch }
818 1.5 yamaguch
819 1.5 yamaguch atf_test_case lagg_lacp_vlanl2tp_ipv6 cleanup
820 1.5 yamaguch lagg_lacp_vlanl2tp_ipv6_head()
821 1.5 yamaguch {
822 1.5 yamaguch
823 1.5 yamaguch atf_set "descr" "tests for IPv6 VLAN frames over LACP L2TP LAG"
824 1.5 yamaguch atf_set "require.progs" "rump_server"
825 1.5 yamaguch }
826 1.5 yamaguch
827 1.5 yamaguch lagg_lacp_vlanl2tp_ipv6_body()
828 1.5 yamaguch {
829 1.5 yamaguch
830 1.5 yamaguch lagg_lacp_vlan "inet6" "l2tp"
831 1.5 yamaguch }
832 1.5 yamaguch
833 1.5 yamaguch lagg_lacp_vlanl2tp_ipv6_cleanup()
834 1.5 yamaguch {
835 1.5 yamaguch
836 1.5 yamaguch $DEBUG && dump
837 1.5 yamaguch cleanup
838 1.5 yamaguch }
839 1.5 yamaguch
840 1.1 yamaguch atf_test_case lagg_lacp_portpri cleanup
841 1.1 yamaguch lagg_lacp_portpri_head()
842 1.1 yamaguch {
843 1.1 yamaguch
844 1.1 yamaguch atf_set "descr" "tests for LACP port priority"
845 1.1 yamaguch atf_set "require.progs" "rump_server"
846 1.1 yamaguch }
847 1.1 yamaguch
848 1.1 yamaguch lagg_lacp_portpri_body()
849 1.1 yamaguch {
850 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
851 1.1 yamaguch
852 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg
853 1.1 yamaguch rump_server_start $SOCK_HOST1 lagg
854 1.1 yamaguch
855 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
856 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
857 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif2 $BUS2
858 1.1 yamaguch
859 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif0 $BUS0
860 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif1 $BUS1
861 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif2 $BUS2
862 1.1 yamaguch
863 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
864 1.1 yamaguch $atf_ifconfig lagg0 create
865 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
866 1.1 yamaguch $atf_ifconfig lagg0 lagglacp maxports 2
867 1.1 yamaguch
868 1.1 yamaguch $atf_ifconfig shmif0 up
869 1.1 yamaguch $atf_ifconfig shmif1 up
870 1.1 yamaguch $atf_ifconfig shmif2 up
871 1.1 yamaguch
872 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0 pri 1000
873 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1 pri 2000
874 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif2 pri 3000
875 1.1 yamaguch $atf_ifconfig lagg0 up
876 1.1 yamaguch
877 1.1 yamaguch atf_check -s exit:0 -o match:'shmif0 pri=1000' rump.ifconfig lagg0
878 1.1 yamaguch atf_check -s exit:0 -o match:'shmif1 pri=2000' rump.ifconfig lagg0
879 1.1 yamaguch atf_check -s exit:0 -o match:'shmif2 pri=3000' rump.ifconfig lagg0
880 1.1 yamaguch
881 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
882 1.1 yamaguch $atf_ifconfig lagg0 create
883 1.1 yamaguch $atf_ifconfig lagg0 laggproto lacp
884 1.1 yamaguch
885 1.1 yamaguch $atf_ifconfig shmif0 up
886 1.1 yamaguch $atf_ifconfig shmif1 up
887 1.1 yamaguch $atf_ifconfig shmif2 up
888 1.1 yamaguch
889 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif0 pri 300
890 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif1 pri 200
891 1.1 yamaguch $atf_ifconfig lagg0 laggport shmif2 pri 100
892 1.1 yamaguch $atf_ifconfig lagg0 up
893 1.1 yamaguch
894 1.1 yamaguch atf_check -s exit:0 -o match:'shmif0 pri=300' rump.ifconfig lagg0
895 1.1 yamaguch atf_check -s exit:0 -o match:'shmif1 pri=200' rump.ifconfig lagg0
896 1.1 yamaguch atf_check -s exit:0 -o match:'shmif2 pri=100' rump.ifconfig lagg0
897 1.1 yamaguch
898 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
899 1.1 yamaguch wait_for_distributing lagg0 shmif0
900 1.1 yamaguch wait_for_distributing lagg0 shmif1
901 1.1 yamaguch wait_state "STANDBY" lagg0 shmif2
902 1.1 yamaguch
903 1.1 yamaguch $atf_ifconfig shmif0 down
904 1.1 yamaguch wait_for_distributing lagg0 shmif2
905 1.1 yamaguch
906 1.1 yamaguch $atf_ifconfig shmif0 up
907 1.1 yamaguch wait_for_distributing lagg0 shmif0
908 1.1 yamaguch
909 1.1 yamaguch $atf_ifconfig lagg0 laggportpri shmif0 5000
910 1.1 yamaguch $atf_ifconfig lagg0 laggportpri shmif1 5000
911 1.1 yamaguch $atf_ifconfig lagg0 laggportpri shmif2 5000
912 1.1 yamaguch
913 1.1 yamaguch atf_check -s exit:0 -o match:'shmif0 pri=5000' rump.ifconfig lagg0
914 1.1 yamaguch atf_check -s exit:0 -o match:'shmif1 pri=5000' rump.ifconfig lagg0
915 1.1 yamaguch atf_check -s exit:0 -o match:'shmif2 pri=5000' rump.ifconfig lagg0
916 1.1 yamaguch
917 1.1 yamaguch wait_state "STANDBY" lagg0 shmif0
918 1.1 yamaguch wait_for_distributing lagg0 shmif1
919 1.1 yamaguch wait_for_distributing lagg0 shmif2
920 1.1 yamaguch }
921 1.1 yamaguch
922 1.1 yamaguch lagg_lacp_portpri_cleanup()
923 1.1 yamaguch {
924 1.1 yamaguch
925 1.1 yamaguch $DEBUG && dump
926 1.1 yamaguch cleanup
927 1.1 yamaguch }
928 1.1 yamaguch
929 1.1 yamaguch lagg_failover()
930 1.1 yamaguch {
931 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
932 1.1 yamaguch
933 1.1 yamaguch local af=$1
934 1.3 yamaguch local l2proto=$2
935 1.1 yamaguch local ping="rump.ping -c 1"
936 1.1 yamaguch local rumplib=""
937 1.1 yamaguch local pfx=24
938 1.1 yamaguch local addr_host0=$IP4ADDR0
939 1.1 yamaguch local addr_host1=$IP4ADDR1
940 1.1 yamaguch
941 1.1 yamaguch case $af in
942 1.1 yamaguch "inet")
943 1.1 yamaguch # do nothing
944 1.1 yamaguch ;;
945 1.1 yamaguch "inet6")
946 1.1 yamaguch ping="rump.ping6 -c 1"
947 1.1 yamaguch rumplib="netinet6"
948 1.1 yamaguch pfx=64
949 1.1 yamaguch addr_host0=$IP6ADDR0
950 1.1 yamaguch addr_host1=$IP6ADDR1
951 1.1 yamaguch ;;
952 1.1 yamaguch esac
953 1.1 yamaguch
954 1.3 yamaguch case $l2proto in
955 1.3 yamaguch "ether")
956 1.3 yamaguch iface0="shmif0"
957 1.3 yamaguch iface1="shmif1"
958 1.3 yamaguch iface2="shmif2"
959 1.3 yamaguch ;;
960 1.3 yamaguch "l2tp")
961 1.3 yamaguch rumplib="$rumplib l2tp"
962 1.3 yamaguch iface0="l2tp0"
963 1.3 yamaguch iface1="l2tp1"
964 1.3 yamaguch iface2="l2tp2"
965 1.3 yamaguch ;;
966 1.3 yamaguch esac
967 1.3 yamaguch
968 1.1 yamaguch local atf_ping="atf_check -s exit:0 -o ignore ${ping}"
969 1.1 yamaguch
970 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg $rumplib
971 1.1 yamaguch rump_server_start $SOCK_HOST1 lagg $rumplib
972 1.1 yamaguch
973 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
974 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
975 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif2 $BUS2
976 1.1 yamaguch
977 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif0 $BUS0
978 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif1 $BUS1
979 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif2 $BUS2
980 1.1 yamaguch
981 1.3 yamaguch if [ x"$l2proto" = x"l2tp" ]; then
982 1.3 yamaguch setup_l2tp_ipv4tunnel
983 1.3 yamaguch fi
984 1.3 yamaguch
985 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
986 1.1 yamaguch $atf_ifconfig lagg0 create
987 1.1 yamaguch $atf_ifconfig lagg0 laggproto failover
988 1.1 yamaguch
989 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface0 pri 1000
990 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface1 pri 2000
991 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface2 pri 3000
992 1.1 yamaguch $atf_ifconfig lagg0 $af $addr_host0/$pfx
993 1.1 yamaguch
994 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
995 1.1 yamaguch $atf_ifconfig lagg0 create
996 1.1 yamaguch $atf_ifconfig lagg0 laggproto failover
997 1.1 yamaguch
998 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface0 pri 1000
999 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface1 pri 3000
1000 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface2 pri 2000
1001 1.1 yamaguch $atf_ifconfig lagg0 $af $addr_host1/$pfx
1002 1.1 yamaguch
1003 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1004 1.3 yamaguch $atf_ifconfig $iface0 up
1005 1.3 yamaguch $atf_ifconfig $iface1 up
1006 1.3 yamaguch $atf_ifconfig $iface2 up
1007 1.1 yamaguch $atf_ifconfig lagg0 up
1008 1.1 yamaguch
1009 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1010 1.3 yamaguch $atf_ifconfig $iface0 up
1011 1.3 yamaguch $atf_ifconfig $iface1 up
1012 1.3 yamaguch $atf_ifconfig $iface2 up
1013 1.1 yamaguch $atf_ifconfig lagg0 up
1014 1.1 yamaguch
1015 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1016 1.1 yamaguch $atf_ifconfig -w 10
1017 1.3 yamaguch wait_for_distributing lagg0 $iface0
1018 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface0
1019 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface1
1020 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface2
1021 1.1 yamaguch
1022 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1023 1.1 yamaguch $atf_ifconfig -w 10
1024 1.3 yamaguch wait_for_distributing lagg0 $iface0
1025 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface0
1026 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface1
1027 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface2
1028 1.1 yamaguch
1029 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1030 1.1 yamaguch $atf_ping $addr_host1
1031 1.1 yamaguch
1032 1.3 yamaguch $atf_ifconfig $iface0 down
1033 1.3 yamaguch wait_for_distributing lagg0 $iface1
1034 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface1
1035 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface2
1036 1.1 yamaguch
1037 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1038 1.3 yamaguch $atf_ifconfig $iface0 down
1039 1.3 yamaguch wait_for_distributing lagg0 $iface2
1040 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface2
1041 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface1
1042 1.1 yamaguch
1043 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1044 1.1 yamaguch $atf_ping $addr_host1
1045 1.1 yamaguch
1046 1.1 yamaguch $atf_ifconfig lagg0 laggfailover -rx-all
1047 1.3 yamaguch atf_check -s exit:0 -o not-match:'$iface2.+COLLECTING' rump.ifconfig lagg0
1048 1.1 yamaguch
1049 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1050 1.1 yamaguch $atf_ifconfig lagg0 laggfailover -rx-all
1051 1.3 yamaguch atf_check -s exit:0 -o not-match:'$iface1.+COLLECTING' rump.ifconfig lagg0
1052 1.1 yamaguch
1053 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1054 1.1 yamaguch atf_check -s not-exit:0 -o ignore -e ignore $ping -c 1 $addr_host1
1055 1.1 yamaguch }
1056 1.1 yamaguch
1057 1.1 yamaguch atf_test_case lagg_failover_ipv4 cleanup
1058 1.1 yamaguch lagg_failover_ipv4_head()
1059 1.1 yamaguch {
1060 1.1 yamaguch
1061 1.1 yamaguch atf_set "descr" "tests for failover using IPv4"
1062 1.1 yamaguch atf_set "require.progs" "rump_server"
1063 1.1 yamaguch }
1064 1.1 yamaguch
1065 1.1 yamaguch lagg_failover_ipv4_body()
1066 1.1 yamaguch {
1067 1.1 yamaguch
1068 1.3 yamaguch lagg_failover "inet" "ether"
1069 1.1 yamaguch }
1070 1.1 yamaguch
1071 1.1 yamaguch lagg_failover_ipv4_cleanup()
1072 1.1 yamaguch {
1073 1.1 yamaguch
1074 1.1 yamaguch $DEBUG && dump
1075 1.1 yamaguch cleanup
1076 1.1 yamaguch }
1077 1.1 yamaguch
1078 1.1 yamaguch atf_test_case lagg_failover_ipv6 cleanup
1079 1.1 yamaguch lagg_failover_ipv6_head()
1080 1.1 yamaguch {
1081 1.1 yamaguch
1082 1.1 yamaguch atf_set "descr" "tests for failover using IPv6"
1083 1.1 yamaguch atf_set "require.progs" "rump_server"
1084 1.1 yamaguch }
1085 1.1 yamaguch
1086 1.1 yamaguch lagg_failover_ipv6_body()
1087 1.1 yamaguch {
1088 1.1 yamaguch
1089 1.3 yamaguch lagg_failover "inet6" "ether"
1090 1.1 yamaguch }
1091 1.1 yamaguch
1092 1.1 yamaguch lagg_failover_ipv6_cleanup()
1093 1.1 yamaguch {
1094 1.1 yamaguch
1095 1.1 yamaguch $DEBUG && dump
1096 1.1 yamaguch cleanup
1097 1.1 yamaguch }
1098 1.1 yamaguch
1099 1.3 yamaguch atf_test_case lagg_failover_l2tp_ipv4 cleanup
1100 1.3 yamaguch lagg_failover_l2tp_ipv4_head()
1101 1.3 yamaguch {
1102 1.3 yamaguch
1103 1.3 yamaguch atf_set "descr" "tests for failover over l2tp using IPv4"
1104 1.3 yamaguch atf_set "require.progs" "rump_server"
1105 1.3 yamaguch }
1106 1.3 yamaguch
1107 1.3 yamaguch lagg_failover_l2tp_ipv4_body()
1108 1.3 yamaguch {
1109 1.3 yamaguch
1110 1.3 yamaguch lagg_failover "inet" "l2tp"
1111 1.3 yamaguch }
1112 1.3 yamaguch
1113 1.3 yamaguch lagg_failover_l2tp_ipv4_cleanup()
1114 1.3 yamaguch {
1115 1.3 yamaguch $DEBUG && dump
1116 1.3 yamaguch cleanup
1117 1.3 yamaguch }
1118 1.3 yamaguch
1119 1.3 yamaguch atf_test_case lagg_failover_l2tp_ipv6 cleanup
1120 1.3 yamaguch lagg_failover_l2tp_ipv6_head()
1121 1.3 yamaguch {
1122 1.3 yamaguch
1123 1.3 yamaguch atf_set "descr" "tests for failover over l2tp using IPv6"
1124 1.3 yamaguch atf_set "require.progs" "rump_server"
1125 1.3 yamaguch }
1126 1.3 yamaguch
1127 1.3 yamaguch lagg_failover_l2tp_ipv6_body()
1128 1.3 yamaguch {
1129 1.3 yamaguch
1130 1.3 yamaguch lagg_failover "inet6" "l2tp"
1131 1.3 yamaguch }
1132 1.3 yamaguch
1133 1.3 yamaguch lagg_failover_l2tp_ipv6_cleanup()
1134 1.3 yamaguch {
1135 1.3 yamaguch $DEBUG && dump
1136 1.3 yamaguch cleanup
1137 1.3 yamaguch }
1138 1.3 yamaguch
1139 1.1 yamaguch lagg_loadbalance()
1140 1.1 yamaguch {
1141 1.1 yamaguch local atf_ifconfig="atf_check -s exit:0 rump.ifconfig"
1142 1.1 yamaguch
1143 1.1 yamaguch local af=$1
1144 1.3 yamaguch local l2proto=$2
1145 1.1 yamaguch local ping="rump.ping -c 1"
1146 1.1 yamaguch local rumplib=""
1147 1.1 yamaguch local pfx=24
1148 1.1 yamaguch local addr_host0=$IP4ADDR0
1149 1.1 yamaguch local addr_host1=$IP4ADDR1
1150 1.1 yamaguch
1151 1.1 yamaguch case $af in
1152 1.1 yamaguch "inet")
1153 1.1 yamaguch # do nothing
1154 1.1 yamaguch ;;
1155 1.1 yamaguch "inet6")
1156 1.1 yamaguch ping="rump.ping6 -c 1"
1157 1.1 yamaguch rumplib="netinet6"
1158 1.1 yamaguch pfx=64
1159 1.1 yamaguch addr_host0=$IP6ADDR0
1160 1.1 yamaguch addr_host1=$IP6ADDR1
1161 1.1 yamaguch ;;
1162 1.1 yamaguch esac
1163 1.1 yamaguch
1164 1.3 yamaguch case $l2proto in
1165 1.3 yamaguch "ether")
1166 1.3 yamaguch iface0=shmif0
1167 1.3 yamaguch iface1=shmif1
1168 1.3 yamaguch iface2=shmif2
1169 1.3 yamaguch ;;
1170 1.3 yamaguch "l2tp")
1171 1.3 yamaguch rumplib="$rumplib l2tp"
1172 1.3 yamaguch iface0=l2tp0
1173 1.3 yamaguch iface1=l2tp1
1174 1.3 yamaguch iface2=l2tp2
1175 1.3 yamaguch ;;
1176 1.3 yamaguch esac
1177 1.3 yamaguch
1178 1.1 yamaguch local atf_ping="atf_check -s exit:0 -o ignore ${ping}"
1179 1.1 yamaguch
1180 1.1 yamaguch rump_server_start $SOCK_HOST0 lagg $rumplib
1181 1.1 yamaguch rump_server_start $SOCK_HOST1 lagg $rumplib
1182 1.1 yamaguch
1183 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif0 $BUS0
1184 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif1 $BUS1
1185 1.1 yamaguch rump_server_add_iface $SOCK_HOST0 shmif2 $BUS2
1186 1.1 yamaguch
1187 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif0 $BUS0
1188 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif1 $BUS1
1189 1.1 yamaguch rump_server_add_iface $SOCK_HOST1 shmif2 $BUS2
1190 1.1 yamaguch
1191 1.3 yamaguch if [ x"$l2proto" = x"l2tp" ]; then
1192 1.3 yamaguch setup_l2tp_ipv4tunnel
1193 1.3 yamaguch fi
1194 1.3 yamaguch
1195 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1196 1.1 yamaguch $atf_ifconfig lagg0 create
1197 1.1 yamaguch $atf_ifconfig lagg0 laggproto loadbalance
1198 1.1 yamaguch
1199 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface0 pri 1000
1200 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface1 pri 2000
1201 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface2 pri 3000
1202 1.1 yamaguch $atf_ifconfig lagg0 $af $addr_host0/$pfx
1203 1.1 yamaguch
1204 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1205 1.1 yamaguch $atf_ifconfig lagg0 create
1206 1.1 yamaguch $atf_ifconfig lagg0 laggproto loadbalance
1207 1.1 yamaguch
1208 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface0 pri 1000
1209 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface1 pri 3000
1210 1.3 yamaguch $atf_ifconfig lagg0 laggport $iface2 pri 2000
1211 1.1 yamaguch $atf_ifconfig lagg0 $af $addr_host1/$pfx
1212 1.1 yamaguch
1213 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1214 1.3 yamaguch $atf_ifconfig $iface0 up
1215 1.3 yamaguch $atf_ifconfig $iface1 up
1216 1.3 yamaguch $atf_ifconfig $iface2 up
1217 1.1 yamaguch $atf_ifconfig lagg0 up
1218 1.1 yamaguch
1219 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1220 1.3 yamaguch $atf_ifconfig $iface0 up
1221 1.3 yamaguch $atf_ifconfig $iface1 up
1222 1.3 yamaguch $atf_ifconfig $iface2 up
1223 1.1 yamaguch $atf_ifconfig lagg0 up
1224 1.1 yamaguch
1225 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1226 1.1 yamaguch $atf_ifconfig -w 10
1227 1.3 yamaguch wait_for_distributing lagg0 $iface0
1228 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface0
1229 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface1
1230 1.3 yamaguch wait_state "COLLECTING" lagg0 $iface2
1231 1.1 yamaguch
1232 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1233 1.1 yamaguch $atf_ifconfig -w 10
1234 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface0
1235 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface1
1236 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface2
1237 1.1 yamaguch
1238 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1239 1.1 yamaguch $atf_ping $addr_host1
1240 1.1 yamaguch
1241 1.3 yamaguch $atf_ifconfig $iface0 down
1242 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface1
1243 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface2
1244 1.1 yamaguch
1245 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST1
1246 1.3 yamaguch $atf_ifconfig $iface0 down
1247 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface1
1248 1.3 yamaguch wait_state "COLLECTING,DISTRIBUTING" lagg0 $iface2
1249 1.1 yamaguch
1250 1.1 yamaguch export RUMP_SERVER=$SOCK_HOST0
1251 1.1 yamaguch $atf_ping $addr_host1
1252 1.1 yamaguch }
1253 1.1 yamaguch
1254 1.1 yamaguch atf_test_case lagg_loadbalance_ipv4 cleanup
1255 1.1 yamaguch lagg_loadbalance_ipv4_head()
1256 1.1 yamaguch {
1257 1.1 yamaguch
1258 1.1 yamaguch atf_set "descr" "tests for loadbalance using IPv4"
1259 1.1 yamaguch atf_set "require.progs" "rump_server"
1260 1.1 yamaguch }
1261 1.1 yamaguch
1262 1.1 yamaguch lagg_loadbalance_ipv4_body()
1263 1.1 yamaguch {
1264 1.1 yamaguch
1265 1.3 yamaguch lagg_loadbalance "inet" "ether"
1266 1.1 yamaguch }
1267 1.1 yamaguch
1268 1.1 yamaguch lagg_loadbalance_ipv4_cleanup()
1269 1.1 yamaguch {
1270 1.1 yamaguch
1271 1.1 yamaguch $DEBUG && dump
1272 1.1 yamaguch cleanup
1273 1.1 yamaguch }
1274 1.1 yamaguch
1275 1.1 yamaguch atf_test_case lagg_loadbalance_ipv6 cleanup
1276 1.1 yamaguch lagg_loadbalance_ipv6_head()
1277 1.1 yamaguch {
1278 1.1 yamaguch
1279 1.1 yamaguch atf_set "descr" "tests for loadbalance using IPv6"
1280 1.1 yamaguch atf_set "require.progs" "rump_server"
1281 1.1 yamaguch }
1282 1.1 yamaguch
1283 1.1 yamaguch lagg_loadbalance_ipv6_body()
1284 1.1 yamaguch {
1285 1.1 yamaguch
1286 1.3 yamaguch lagg_loadbalance "inet6" "ether"
1287 1.1 yamaguch }
1288 1.1 yamaguch
1289 1.1 yamaguch lagg_loadbalance_ipv6_cleanup()
1290 1.1 yamaguch {
1291 1.1 yamaguch
1292 1.1 yamaguch $DEBUG && dump
1293 1.1 yamaguch cleanup
1294 1.1 yamaguch }
1295 1.1 yamaguch
1296 1.3 yamaguch atf_test_case lagg_loadbalance_l2tp_ipv4 cleanup
1297 1.3 yamaguch lagg_loadbalance_l2tp_ipv4_head()
1298 1.3 yamaguch {
1299 1.3 yamaguch
1300 1.3 yamaguch atf_set "descr" "tests for loadbalance over l2tp using IPv4"
1301 1.3 yamaguch atf_set "require.progs" "rump_server"
1302 1.3 yamaguch }
1303 1.3 yamaguch
1304 1.3 yamaguch lagg_loadbalance_l2tp_ipv4_body()
1305 1.3 yamaguch {
1306 1.3 yamaguch
1307 1.3 yamaguch lagg_loadbalance "inet" "l2tp"
1308 1.3 yamaguch }
1309 1.3 yamaguch
1310 1.3 yamaguch lagg_loadbalance_l2tp_ipv4_cleanup()
1311 1.3 yamaguch {
1312 1.3 yamaguch
1313 1.3 yamaguch $DEBUG && dump
1314 1.3 yamaguch cleanup
1315 1.3 yamaguch }
1316 1.3 yamaguch
1317 1.3 yamaguch atf_test_case lagg_loadbalance_l2tp_ipv6 cleanup
1318 1.3 yamaguch lagg_loadbalance_l2tp_ipv4_head()
1319 1.3 yamaguch {
1320 1.3 yamaguch
1321 1.3 yamaguch atf_set "descr" "tests for loadbalance over l2tp using IPv6"
1322 1.3 yamaguch atf_set "require.progs" "rump_server"
1323 1.3 yamaguch }
1324 1.3 yamaguch
1325 1.3 yamaguch lagg_loadbalance_l2tp_ipv6_body()
1326 1.3 yamaguch {
1327 1.3 yamaguch
1328 1.3 yamaguch lagg_loadbalance "inet6" "l2tp"
1329 1.3 yamaguch }
1330 1.3 yamaguch
1331 1.3 yamaguch lagg_loadbalance_l2tp_ipv6_cleanup()
1332 1.3 yamaguch {
1333 1.3 yamaguch
1334 1.3 yamaguch $DEBUG && dump
1335 1.3 yamaguch cleanup
1336 1.3 yamaguch }
1337 1.3 yamaguch
1338 1.1 yamaguch atf_init_test_cases()
1339 1.1 yamaguch {
1340 1.1 yamaguch
1341 1.1 yamaguch atf_add_test_case lagg_ifconfig
1342 1.1 yamaguch atf_add_test_case lagg_macaddr
1343 1.1 yamaguch atf_add_test_case lagg_ipv6lla
1344 1.1 yamaguch atf_add_test_case lagg_lacp_basic
1345 1.1 yamaguch atf_add_test_case lagg_lacp_ipv4
1346 1.1 yamaguch atf_add_test_case lagg_lacp_ipv6
1347 1.3 yamaguch atf_add_test_case lagg_lacp_l2tp_ipv4
1348 1.3 yamaguch atf_add_test_case lagg_lacp_l2tp_ipv6
1349 1.1 yamaguch atf_add_test_case lagg_lacp_vlan_ipv4
1350 1.1 yamaguch atf_add_test_case lagg_lacp_vlan_ipv6
1351 1.5 yamaguch atf_add_test_case lagg_lacp_vlanl2tp_ipv4
1352 1.5 yamaguch atf_add_test_case lagg_lacp_vlanl2tp_ipv6
1353 1.1 yamaguch atf_add_test_case lagg_lacp_portpri
1354 1.1 yamaguch atf_add_test_case lagg_failover_ipv4
1355 1.1 yamaguch atf_add_test_case lagg_failover_ipv6
1356 1.3 yamaguch atf_add_test_case lagg_failover_l2tp_ipv4
1357 1.3 yamaguch atf_add_test_case lagg_failover_l2tp_ipv6
1358 1.1 yamaguch atf_add_test_case lagg_loadbalance_ipv4
1359 1.1 yamaguch atf_add_test_case lagg_loadbalance_ipv6
1360 1.3 yamaguch atf_add_test_case lagg_loadbalance_l2tp_ipv4
1361 1.3 yamaguch atf_add_test_case lagg_loadbalance_l2tp_ipv6
1362 1.1 yamaguch }
1363