t_pppoe.sh revision 1.28 1 1.28 yamaguch # $NetBSD: t_pppoe.sh,v 1.28 2021/04/23 03:41:55 yamaguchi Exp $
2 1.1 ozaki #
3 1.1 ozaki # Copyright (c) 2016 Internet Initiative Japan Inc.
4 1.1 ozaki # All rights reserved.
5 1.1 ozaki #
6 1.1 ozaki # Redistribution and use in source and binary forms, with or without
7 1.1 ozaki # modification, are permitted provided that the following conditions
8 1.1 ozaki # are met:
9 1.1 ozaki # 1. Redistributions of source code must retain the above copyright
10 1.1 ozaki # notice, this list of conditions and the following disclaimer.
11 1.1 ozaki # 2. Redistributions in binary form must reproduce the above copyright
12 1.1 ozaki # notice, this list of conditions and the following disclaimer in the
13 1.1 ozaki # documentation and/or other materials provided with the distribution.
14 1.1 ozaki #
15 1.1 ozaki # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 1.1 ozaki # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 1.1 ozaki # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 1.1 ozaki # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 1.1 ozaki # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 1.1 ozaki # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 1.1 ozaki # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 1.1 ozaki # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 1.1 ozaki # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 1.1 ozaki # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.1 ozaki # POSSIBILITY OF SUCH DAMAGE.
26 1.1 ozaki #
27 1.1 ozaki
28 1.17 ozaki SERVER=unix://pppoe_server
29 1.17 ozaki CLIENT=unix://pppoe_client
30 1.1 ozaki
31 1.1 ozaki SERVER_IP=10.3.3.1
32 1.1 ozaki CLIENT_IP=10.3.3.3
33 1.7 knakahar SERVER_IP6=fc00::1
34 1.7 knakahar CLIENT_IP6=fc00::3
35 1.1 ozaki AUTHNAME=foobar@baz.com
36 1.1 ozaki SECRET=oink
37 1.1 ozaki BUS=bus0
38 1.1 ozaki TIMEOUT=3
39 1.11 knakahar WAITTIME=10
40 1.10 ozaki DEBUG=${DEBUG:-false}
41 1.1 ozaki
42 1.26 yamaguch atf_ifconfig()
43 1.26 yamaguch {
44 1.26 yamaguch
45 1.26 yamaguch atf_check -s exit:0 rump.ifconfig $*
46 1.26 yamaguch }
47 1.26 yamaguch
48 1.26 yamaguch atf_pppoectl()
49 1.26 yamaguch {
50 1.26 yamaguch
51 1.26 yamaguch atf_check -s exit:0 -x "$HIJACKING pppoectl $*"
52 1.26 yamaguch }
53 1.26 yamaguch
54 1.18 ozaki atf_test_case pppoe_create_destroy cleanup
55 1.18 ozaki pppoe_create_destroy_head()
56 1.18 ozaki {
57 1.18 ozaki
58 1.18 ozaki atf_set "descr" "Test creating/destroying pppoe interfaces"
59 1.18 ozaki atf_set "require.progs" "rump_server"
60 1.18 ozaki }
61 1.18 ozaki
62 1.18 ozaki pppoe_create_destroy_body()
63 1.18 ozaki {
64 1.18 ozaki
65 1.18 ozaki rump_server_start $CLIENT netinet6 pppoe
66 1.18 ozaki
67 1.18 ozaki test_create_destroy_common $CLIENT pppoe0 true
68 1.18 ozaki }
69 1.18 ozaki
70 1.18 ozaki pppoe_create_destroy_cleanup()
71 1.18 ozaki {
72 1.18 ozaki
73 1.18 ozaki $DEBUG && dump
74 1.18 ozaki cleanup
75 1.18 ozaki }
76 1.18 ozaki
77 1.22 yamaguch setup_ifaces()
78 1.1 ozaki {
79 1.17 ozaki
80 1.17 ozaki rump_server_add_iface $SERVER shmif0 $BUS
81 1.17 ozaki rump_server_add_iface $CLIENT shmif0 $BUS
82 1.22 yamaguch rump_server_add_iface $SERVER pppoe0
83 1.22 yamaguch rump_server_add_iface $CLIENT pppoe0
84 1.1 ozaki
85 1.1 ozaki export RUMP_SERVER=$SERVER
86 1.26 yamaguch atf_ifconfig shmif0 up
87 1.26 yamaguch $inet && atf_ifconfig pppoe0 \
88 1.7 knakahar inet $SERVER_IP $CLIENT_IP down
89 1.26 yamaguch atf_ifconfig pppoe0 link0
90 1.1 ozaki
91 1.27 yamaguch $DEBUG && rump.ifconfig pppoe0 debug
92 1.1 ozaki $DEBUG && rump.ifconfig
93 1.1 ozaki $DEBUG && $HIJACKING pppoectl -d pppoe0
94 1.1 ozaki unset RUMP_SERVER
95 1.1 ozaki
96 1.1 ozaki export RUMP_SERVER=$CLIENT
97 1.26 yamaguch atf_ifconfig shmif0 up
98 1.1 ozaki
99 1.26 yamaguch $inet && atf_ifconfig pppoe0 \
100 1.7 knakahar inet 0.0.0.0 0.0.0.1 down
101 1.1 ozaki
102 1.27 yamaguch $DEBUG && rump.ifconfig pppoe0 debug
103 1.22 yamaguch $DEBUG && rump.ifconfig
104 1.22 yamaguch $DEBUG && $HIJACKING pppoectl -d pppoe0
105 1.22 yamaguch unset RUMP_SERVER
106 1.22 yamaguch }
107 1.22 yamaguch
108 1.22 yamaguch setup()
109 1.22 yamaguch {
110 1.22 yamaguch inet=true
111 1.22 yamaguch
112 1.22 yamaguch if [ $# -ne 0 ]; then
113 1.22 yamaguch eval $@
114 1.22 yamaguch fi
115 1.22 yamaguch
116 1.22 yamaguch rump_server_start $SERVER netinet6 pppoe
117 1.22 yamaguch rump_server_start $CLIENT netinet6 pppoe
118 1.22 yamaguch
119 1.22 yamaguch setup_ifaces
120 1.22 yamaguch
121 1.22 yamaguch export RUMP_SERVER=$SERVER
122 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
123 1.22 yamaguch unset RUMP_SERVER
124 1.22 yamaguch
125 1.22 yamaguch export RUMP_SERVER=$CLIENT
126 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
127 1.1 ozaki unset RUMP_SERVER
128 1.1 ozaki }
129 1.3 christos
130 1.24 yamaguch wait_for_opened()
131 1.1 ozaki {
132 1.24 yamaguch local cp=$1
133 1.24 yamaguch local dontfail=$2
134 1.1 ozaki local n=$WAITTIME
135 1.1 ozaki
136 1.1 ozaki for i in $(seq $n); do
137 1.24 yamaguch $HIJACKING pppoectl -dd pppoe0 | grep -q "$cp state: opened"
138 1.24 yamaguch if [ $? = 0 ]; then
139 1.24 yamaguch rump.ifconfig -w 10
140 1.24 yamaguch return
141 1.24 yamaguch fi
142 1.1 ozaki sleep 1
143 1.1 ozaki done
144 1.1 ozaki
145 1.8 knakahar if [ "$dontfail" != "dontfail" ]; then
146 1.1 ozaki atf_fail "Couldn't connect to the server for $n seconds."
147 1.1 ozaki fi
148 1.1 ozaki }
149 1.1 ozaki
150 1.7 knakahar wait_for_disconnected()
151 1.7 knakahar {
152 1.7 knakahar local dontfail=$1
153 1.7 knakahar local n=$WAITTIME
154 1.7 knakahar
155 1.7 knakahar for i in $(seq $n); do
156 1.24 yamaguch # If PPPoE client is disconnected by PPPoE server, then
157 1.24 yamaguch # the LCP state will of the client is in a starting to send PADI.
158 1.24 yamaguch $HIJACKING pppoectl -dd pppoe0 | grep -q \
159 1.24 yamaguch -e "LCP state: initial" -e "LCP state: starting"
160 1.15 knakahar [ $? = 0 ] && return
161 1.15 knakahar
162 1.7 knakahar sleep 1
163 1.7 knakahar done
164 1.7 knakahar
165 1.8 knakahar if [ "$dontfail" != "dontfail" ]; then
166 1.7 knakahar atf_fail "Couldn't disconnect for $n seconds."
167 1.7 knakahar fi
168 1.7 knakahar }
169 1.7 knakahar
170 1.3 christos run_test()
171 1.1 ozaki {
172 1.3 christos local auth=$1
173 1.24 yamaguch local cp="IPCP"
174 1.1 ozaki setup
175 1.1 ozaki
176 1.4 knakahar # As pppoe client doesn't support rechallenge yet.
177 1.4 knakahar local server_optparam=""
178 1.4 knakahar if [ $auth = "chap" ]; then
179 1.4 knakahar server_optparam="norechallenge"
180 1.4 knakahar fi
181 1.4 knakahar
182 1.1 ozaki export RUMP_SERVER=$SERVER
183 1.26 yamaguch atf_pppoectl pppoe0 "hisauthproto=$auth" \
184 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \
185 1.26 yamaguch "myauthproto=none" $server_optparam
186 1.26 yamaguch atf_ifconfig pppoe0 up
187 1.1 ozaki unset RUMP_SERVER
188 1.1 ozaki
189 1.1 ozaki export RUMP_SERVER=$CLIENT
190 1.26 yamaguch atf_pppoectl pppoe0 \
191 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \
192 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none"
193 1.26 yamaguch atf_ifconfig pppoe0 up
194 1.1 ozaki $DEBUG && rump.ifconfig
195 1.24 yamaguch wait_for_opened $cp
196 1.1 ozaki atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $SERVER_IP
197 1.1 ozaki unset RUMP_SERVER
198 1.1 ozaki
199 1.1 ozaki # test for disconnection from server
200 1.16 knakahar export RUMP_SERVER=$SERVER
201 1.26 yamaguch atf_ifconfig pppoe0 down
202 1.16 knakahar wait_for_disconnected
203 1.1 ozaki export RUMP_SERVER=$CLIENT
204 1.16 knakahar wait_for_disconnected
205 1.1 ozaki atf_check -s not-exit:0 -o ignore -e ignore \
206 1.1 ozaki rump.ping -c 1 -w $TIMEOUT $SERVER_IP
207 1.1 ozaki atf_check -s exit:0 -o match:'PADI sent' -x "$HIJACKING pppoectl -d pppoe0"
208 1.1 ozaki unset RUMP_SERVER
209 1.1 ozaki
210 1.20 yamaguch # test for reconnecting
211 1.1 ozaki atf_check -s exit:0 -x "env RUMP_SERVER=$SERVER rump.ifconfig pppoe0 up"
212 1.1 ozaki export RUMP_SERVER=$CLIENT
213 1.24 yamaguch wait_for_opened $cp
214 1.1 ozaki atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $SERVER_IP
215 1.1 ozaki unset RUMP_SERVER
216 1.1 ozaki
217 1.1 ozaki # test for disconnection from client
218 1.16 knakahar export RUMP_SERVER=$CLIENT
219 1.26 yamaguch atf_ifconfig pppoe0 down
220 1.16 knakahar wait_for_disconnected
221 1.1 ozaki export RUMP_SERVER=$SERVER
222 1.16 knakahar wait_for_disconnected
223 1.1 ozaki $DEBUG && $HIJACKING pppoectl -d pppoe0
224 1.1 ozaki atf_check -s not-exit:0 -o ignore -e ignore \
225 1.1 ozaki rump.ping -c 1 -w $TIMEOUT $CLIENT_IP
226 1.1 ozaki atf_check -s exit:0 -o match:'initial' -x "$HIJACKING pppoectl -d pppoe0"
227 1.1 ozaki unset RUMP_SERVER
228 1.1 ozaki
229 1.9 knakahar # test for reconnecting
230 1.1 ozaki export RUMP_SERVER=$CLIENT
231 1.26 yamaguch atf_ifconfig pppoe0 up
232 1.24 yamaguch wait_for_opened $cp
233 1.1 ozaki $DEBUG && rump.ifconfig pppoe0
234 1.1 ozaki $DEBUG && $HIJACKING pppoectl -d pppoe0
235 1.1 ozaki unset RUMP_SERVER
236 1.1 ozaki
237 1.1 ozaki export RUMP_SERVER=$SERVER
238 1.26 yamaguch atf_ifconfig -w 10
239 1.1 ozaki atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $CLIENT_IP
240 1.1 ozaki atf_check -s exit:0 -o match:'session' -x "$HIJACKING pppoectl -d pppoe0"
241 1.1 ozaki $DEBUG && HIJACKING pppoectl -d pppoe0
242 1.1 ozaki unset RUMP_SERVER
243 1.1 ozaki
244 1.1 ozaki # test for invalid password
245 1.1 ozaki export RUMP_SERVER=$CLIENT
246 1.26 yamaguch atf_ifconfig pppoe0 down
247 1.16 knakahar wait_for_disconnected
248 1.26 yamaguch atf_pppoectl pppoe0 "myauthproto=$auth" \
249 1.26 yamaguch "myauthname=$AUTHNAME" \
250 1.26 yamaguch "myauthsecret=invalidsecret" \
251 1.26 yamaguch "hisauthproto=none" \
252 1.26 yamaguch "max-auth-failure=1"
253 1.26 yamaguch atf_ifconfig pppoe0 up
254 1.24 yamaguch wait_for_opened $cp dontfail
255 1.1 ozaki atf_check -s not-exit:0 -o ignore -e ignore \
256 1.1 ozaki rump.ping -c 1 -w $TIMEOUT $SERVER_IP
257 1.13 knakahar atf_check -s exit:0 -o match:'DETACHED' rump.ifconfig pppoe0
258 1.1 ozaki unset RUMP_SERVER
259 1.1 ozaki }
260 1.1 ozaki
261 1.6 ozaki atf_test_case pppoe_pap cleanup
262 1.3 christos
263 1.5 ozaki pppoe_pap_head()
264 1.3 christos {
265 1.3 christos atf_set "descr" "Does simple pap tests"
266 1.3 christos atf_set "require.progs" "rump_server pppoectl"
267 1.3 christos }
268 1.3 christos
269 1.5 ozaki pppoe_pap_body()
270 1.3 christos {
271 1.3 christos run_test pap
272 1.3 christos }
273 1.3 christos
274 1.5 ozaki pppoe_pap_cleanup()
275 1.1 ozaki {
276 1.17 ozaki
277 1.17 ozaki $DEBUG && dump
278 1.1 ozaki cleanup
279 1.1 ozaki }
280 1.3 christos
281 1.6 ozaki atf_test_case pppoe_chap cleanup
282 1.3 christos
283 1.5 ozaki pppoe_chap_head()
284 1.3 christos {
285 1.3 christos atf_set "descr" "Does simple chap tests"
286 1.3 christos atf_set "require.progs" "rump_server pppoectl"
287 1.3 christos }
288 1.3 christos
289 1.5 ozaki pppoe_chap_body()
290 1.3 christos {
291 1.3 christos run_test chap
292 1.3 christos }
293 1.3 christos
294 1.5 ozaki pppoe_chap_cleanup()
295 1.3 christos {
296 1.17 ozaki
297 1.17 ozaki $DEBUG && dump
298 1.3 christos cleanup
299 1.3 christos }
300 1.3 christos
301 1.7 knakahar run_test6()
302 1.7 knakahar {
303 1.7 knakahar local auth=$1
304 1.24 yamaguch local cp="IPv6CP"
305 1.7 knakahar setup "inet=false"
306 1.7 knakahar
307 1.7 knakahar # As pppoe client doesn't support rechallenge yet.
308 1.7 knakahar local server_optparam=""
309 1.7 knakahar if [ $auth = "chap" ]; then
310 1.7 knakahar server_optparam="norechallenge"
311 1.7 knakahar fi
312 1.7 knakahar
313 1.7 knakahar export RUMP_SERVER=$SERVER
314 1.26 yamaguch atf_pppoectl pppoe0 \
315 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \
316 1.26 yamaguch "hisauthproto=$auth" "myauthproto=none" \
317 1.26 yamaguch $server_optparam
318 1.26 yamaguch atf_ifconfig pppoe0 inet6 $SERVER_IP6/64 down
319 1.26 yamaguch atf_ifconfig pppoe0 up
320 1.7 knakahar unset RUMP_SERVER
321 1.7 knakahar
322 1.7 knakahar export RUMP_SERVER=$CLIENT
323 1.26 yamaguch atf_pppoectl pppoe0 \
324 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \
325 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none"
326 1.26 yamaguch atf_ifconfig pppoe0 inet6 $CLIENT_IP6/64 down
327 1.26 yamaguch atf_ifconfig pppoe0 up
328 1.7 knakahar $DEBUG && rump.ifconfig
329 1.24 yamaguch wait_for_opened $cp
330 1.26 yamaguch atf_ifconfig -w 10
331 1.7 knakahar export RUMP_SERVER=$SERVER
332 1.26 yamaguch rump.ifconfig -w 10
333 1.7 knakahar export RUMP_SERVER=$CLIENT
334 1.7 knakahar atf_check -s exit:0 -o ignore rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6
335 1.7 knakahar unset RUMP_SERVER
336 1.7 knakahar
337 1.7 knakahar # test for disconnection from server
338 1.7 knakahar export RUMP_SERVER=$SERVER
339 1.7 knakahar session_id=`$HIJACKING pppoectl -d pppoe0 | grep state`
340 1.26 yamaguch atf_ifconfig pppoe0 down
341 1.7 knakahar wait_for_disconnected
342 1.7 knakahar export RUMP_SERVER=$CLIENT
343 1.7 knakahar wait_for_disconnected
344 1.7 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
345 1.14 knakahar rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6
346 1.7 knakahar atf_check -s exit:0 -o not-match:"$session_id" -x "$HIJACKING pppoectl -d pppoe0"
347 1.7 knakahar unset RUMP_SERVER
348 1.7 knakahar
349 1.20 yamaguch # test for reconnecting
350 1.7 knakahar export RUMP_SERVER=$SERVER
351 1.26 yamaguch atf_ifconfig pppoe0 up
352 1.24 yamaguch wait_for_opened $cp
353 1.26 yamaguch atf_ifconfig -w 10
354 1.7 knakahar $DEBUG && $HIJACKING pppoectl -d pppoe0
355 1.7 knakahar $DEBUG && rump.ifconfig pppoe0
356 1.7 knakahar export RUMP_SERVER=$CLIENT
357 1.26 yamaguch atf_ifconfig -w 10
358 1.7 knakahar atf_check -s exit:0 -o ignore rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6
359 1.7 knakahar unset RUMP_SERVER
360 1.7 knakahar
361 1.7 knakahar # test for disconnection from client
362 1.7 knakahar export RUMP_SERVER=$CLIENT
363 1.26 yamaguch atf_ifconfig pppoe0 down
364 1.7 knakahar wait_for_disconnected
365 1.7 knakahar
366 1.7 knakahar export RUMP_SERVER=$SERVER
367 1.16 knakahar wait_for_disconnected
368 1.7 knakahar $DEBUG && $HIJACKING pppoectl -d pppoe0
369 1.7 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
370 1.7 knakahar rump.ping6 -c 1 -X $TIMEOUT $CLIENT_IP6
371 1.7 knakahar atf_check -s exit:0 -o match:'initial' -x "$HIJACKING pppoectl -d pppoe0"
372 1.7 knakahar unset RUMP_SERVER
373 1.7 knakahar
374 1.9 knakahar # test for reconnecting
375 1.7 knakahar export RUMP_SERVER=$CLIENT
376 1.26 yamaguch atf_ifconfig pppoe0 up
377 1.24 yamaguch wait_for_opened $cp
378 1.26 yamaguch atf_ifconfig -w 10
379 1.7 knakahar
380 1.7 knakahar $DEBUG && rump.ifconfig pppoe0
381 1.7 knakahar $DEBUG && $HIJACKING pppoectl -d pppoe0
382 1.7 knakahar unset RUMP_SERVER
383 1.7 knakahar
384 1.7 knakahar export RUMP_SERVER=$SERVER
385 1.26 yamaguch atf_ifconfig -w 10
386 1.7 knakahar atf_check -s exit:0 -o ignore rump.ping6 -c 1 -X $TIMEOUT $CLIENT_IP6
387 1.7 knakahar atf_check -s exit:0 -o match:'session' -x "$HIJACKING pppoectl -d pppoe0"
388 1.7 knakahar $DEBUG && HIJACKING pppoectl -d pppoe0
389 1.7 knakahar unset RUMP_SERVER
390 1.7 knakahar
391 1.7 knakahar # test for invalid password
392 1.7 knakahar export RUMP_SERVER=$CLIENT
393 1.26 yamaguch atf_ifconfig pppoe0 down
394 1.7 knakahar wait_for_disconnected
395 1.26 yamaguch atf_pppoectl pppoe0 \
396 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=invalidsecret" \
397 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none" \
398 1.26 yamaguch "max-auth-failure=1"
399 1.26 yamaguch atf_ifconfig pppoe0 up
400 1.24 yamaguch wait_for_opened $cp dontfail
401 1.7 knakahar atf_check -s not-exit:0 -o ignore -e ignore \
402 1.7 knakahar rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6
403 1.7 knakahar atf_check -s exit:0 -o match:'DETACHED' rump.ifconfig pppoe0
404 1.7 knakahar unset RUMP_SERVER
405 1.7 knakahar }
406 1.7 knakahar
407 1.7 knakahar atf_test_case pppoe6_pap cleanup
408 1.7 knakahar
409 1.7 knakahar pppoe6_pap_head()
410 1.7 knakahar {
411 1.7 knakahar atf_set "descr" "Does simple pap using IPv6 tests"
412 1.7 knakahar atf_set "require.progs" "rump_server pppoectl"
413 1.7 knakahar }
414 1.7 knakahar
415 1.7 knakahar pppoe6_pap_body()
416 1.7 knakahar {
417 1.7 knakahar run_test6 pap
418 1.7 knakahar }
419 1.7 knakahar
420 1.7 knakahar pppoe6_pap_cleanup()
421 1.7 knakahar {
422 1.17 ozaki
423 1.17 ozaki $DEBUG && dump
424 1.7 knakahar cleanup
425 1.7 knakahar }
426 1.7 knakahar
427 1.7 knakahar atf_test_case pppoe6_chap cleanup
428 1.7 knakahar
429 1.7 knakahar pppoe6_chap_head()
430 1.7 knakahar {
431 1.7 knakahar atf_set "descr" "Does simple chap using IPv6 tests"
432 1.7 knakahar atf_set "require.progs" "rump_server pppoectl"
433 1.7 knakahar }
434 1.7 knakahar
435 1.7 knakahar pppoe6_chap_body()
436 1.7 knakahar {
437 1.7 knakahar run_test6 chap
438 1.7 knakahar }
439 1.7 knakahar
440 1.7 knakahar pppoe6_chap_cleanup()
441 1.7 knakahar {
442 1.17 ozaki
443 1.17 ozaki $DEBUG && dump
444 1.7 knakahar cleanup
445 1.7 knakahar }
446 1.7 knakahar
447 1.22 yamaguch atf_test_case pppoe_params cleanup
448 1.22 yamaguch
449 1.22 yamaguch dump_bus()
450 1.22 yamaguch {
451 1.22 yamaguch
452 1.22 yamaguch shmif_dumpbus -p - ${BUS} | tcpdump -n -e -r -
453 1.22 yamaguch }
454 1.22 yamaguch
455 1.22 yamaguch setup_auth_conf()
456 1.22 yamaguch {
457 1.22 yamaguch local auth=chap
458 1.26 yamaguch local server_optparam="norechallenge"
459 1.22 yamaguch
460 1.22 yamaguch export RUMP_SERVER=$SERVER
461 1.26 yamaguch atf_ifconfig pppoe0 link0
462 1.26 yamaguch atf_pppoectl pppoe0 \
463 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \
464 1.26 yamaguch "hisauthproto=$auth" "myauthproto=none" \
465 1.26 yamaguch $server_optparam
466 1.22 yamaguch unset RUMP_SERVER
467 1.22 yamaguch
468 1.22 yamaguch export RUMP_SERVER=$CLIENT
469 1.26 yamaguch $inet && atf_ifconfig pppoe0 \
470 1.22 yamaguch inet 0.0.0.0 0.0.0.1 down
471 1.26 yamaguch atf_pppoectl pppoe0 \
472 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \
473 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none"
474 1.26 yamaguch
475 1.22 yamaguch $DEBUG && rump.ifconfig
476 1.22 yamaguch unset RUMP_SERVER
477 1.22 yamaguch }
478 1.22 yamaguch
479 1.22 yamaguch pppoe_params_head()
480 1.22 yamaguch {
481 1.22 yamaguch atf_set "descr" "Set and clear access concentrator name and service name"
482 1.22 yamaguch atf_set "require.progs" "rump_server pppoectl"
483 1.22 yamaguch }
484 1.22 yamaguch
485 1.22 yamaguch pppoe_params_body()
486 1.22 yamaguch {
487 1.22 yamaguch local dumpcmd
488 1.24 yamaguch local cp="LCP"
489 1.22 yamaguch
490 1.22 yamaguch dumpcmd="shmif_dumpbus -p - ${BUS}"
491 1.22 yamaguch dumpcmd="${dumpcmd} | tcpdump -n -e -r -"
492 1.22 yamaguch
493 1.22 yamaguch rump_server_start $SERVER netinet6 pppoe
494 1.22 yamaguch rump_server_start $CLIENT netinet6 pppoe
495 1.22 yamaguch
496 1.22 yamaguch setup_ifaces
497 1.22 yamaguch setup_auth_conf
498 1.22 yamaguch
499 1.22 yamaguch export RUMP_SERVER=$SERVER
500 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
501 1.26 yamaguch atf_ifconfig pppoe0 up
502 1.22 yamaguch unset RUMP_SERVER
503 1.22 yamaguch
504 1.22 yamaguch export RUMP_SERVER=$CLIENT
505 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
506 1.26 yamaguch atf_ifconfig pppoe0 up
507 1.22 yamaguch $DEBUG && rump.ifconfig
508 1.24 yamaguch wait_for_opened $cp
509 1.22 yamaguch unset RUMP_SERVER
510 1.22 yamaguch
511 1.22 yamaguch $DEBUG && dump_bus
512 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
513 1.22 yamaguch -x "${dumpcmd} | grep PADI"
514 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
515 1.22 yamaguch -x "${dumpcmd} | grep PADR"
516 1.22 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
517 1.22 yamaguch -x "${dumpcmd} | grep PADI"
518 1.22 yamaguch
519 1.22 yamaguch # set Remote access concentrator name (AC-NAME, -a option)
520 1.22 yamaguch export RUMP_SERVER=$CLIENT
521 1.26 yamaguch atf_ifconfig pppoe0 down
522 1.22 yamaguch wait_for_disconnected
523 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST0 pppoe0
524 1.26 yamaguch atf_ifconfig pppoe0 up
525 1.22 yamaguch $DEBUG && rump.ifconfig
526 1.24 yamaguch wait_for_opened $cp
527 1.22 yamaguch unset RUMP_SERVER
528 1.22 yamaguch
529 1.22 yamaguch $DEBUG && dump_bus
530 1.22 yamaguch atf_check -s exit:0 -o match:'\[AC-Name "ACNAME-TEST0"\]' -e ignore \
531 1.22 yamaguch -x "${dumpcmd} | grep PADI"
532 1.22 yamaguch
533 1.22 yamaguch # change AC-NAME
534 1.22 yamaguch export RUMP_SERVER=$CLIENT
535 1.26 yamaguch atf_ifconfig pppoe0 down
536 1.22 yamaguch wait_for_disconnected
537 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST1 pppoe0
538 1.26 yamaguch atf_ifconfig pppoe0 up
539 1.22 yamaguch $DEBUG && rump.ifconfig
540 1.24 yamaguch wait_for_opened $cp
541 1.22 yamaguch unset RUMP_SERVER
542 1.22 yamaguch
543 1.22 yamaguch $DEBUG && dump_bus
544 1.22 yamaguch atf_check -s exit:0 -o match:'\[AC-Name "ACNAME-TEST1"\]' -e ignore \
545 1.22 yamaguch -x "${dumpcmd} | grep PADI"
546 1.22 yamaguch
547 1.22 yamaguch # clear AC-NAME
548 1.22 yamaguch rump_server_destroy_ifaces
549 1.22 yamaguch rm ${BUS} 2> /dev/null
550 1.22 yamaguch setup_ifaces
551 1.22 yamaguch setup_auth_conf
552 1.22 yamaguch
553 1.22 yamaguch export RUMP_SERVER=$SERVER
554 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
555 1.26 yamaguch atf_ifconfig pppoe0 up
556 1.22 yamaguch unset RUMP_SERVER
557 1.22 yamaguch
558 1.22 yamaguch export RUMP_SERVER=$CLIENT
559 1.26 yamaguch atf_ifconfig pppoe0 down
560 1.22 yamaguch wait_for_disconnected
561 1.26 yamaguch atf_pppoectl -a ACNAME-TEST2 -e shmif0 pppoe0
562 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
563 1.26 yamaguch atf_ifconfig pppoe0 up
564 1.22 yamaguch $DEBUG && rump.ifconfig
565 1.24 yamaguch wait_for_opened $cp
566 1.22 yamaguch unset RUMP_SERVER
567 1.22 yamaguch
568 1.22 yamaguch $DEBUG && dump_bus
569 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
570 1.22 yamaguch -x "${dumpcmd} | grep PADI"
571 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
572 1.22 yamaguch -x "${dumpcmd} | grep PADR"
573 1.23 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
574 1.23 yamaguch -x "${dumpcmd} | grep PADI"
575 1.23 yamaguch
576 1.23 yamaguch # store 0 length string in AC-NAME
577 1.23 yamaguch export RUMP_SERVER=$CLIENT
578 1.26 yamaguch atf_ifconfig pppoe0 down
579 1.23 yamaguch wait_for_disconnected
580 1.26 yamaguch atf_pppoectl -a \"\" -e shmif0 pppoe0
581 1.26 yamaguch atf_ifconfig pppoe0 up
582 1.23 yamaguch $DEBUG && rump.ifconfig
583 1.24 yamaguch wait_for_opened $cp
584 1.23 yamaguch unset RUMP_SERVER
585 1.23 yamaguch
586 1.22 yamaguch atf_check -s exit:0 -o match:'\[AC-Name\]' -e ignore \
587 1.22 yamaguch -x "${dumpcmd} | grep PADI"
588 1.22 yamaguch
589 1.22 yamaguch # set Service Name (Service-Name, -s option)
590 1.22 yamaguch rump_server_destroy_ifaces
591 1.22 yamaguch rm ${BUS} 2> /dev/null
592 1.22 yamaguch setup_ifaces
593 1.22 yamaguch setup_auth_conf
594 1.22 yamaguch
595 1.22 yamaguch export RUMP_SERVER=$SERVER
596 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
597 1.26 yamaguch atf_ifconfig pppoe0 up
598 1.22 yamaguch unset RUMP_SERVER
599 1.22 yamaguch
600 1.22 yamaguch export RUMP_SERVER=$CLIENT
601 1.26 yamaguch atf_ifconfig pppoe0 down
602 1.22 yamaguch wait_for_disconnected
603 1.26 yamaguch atf_pppoectl -e shmif0 -s SNAME-TEST0 pppoe0
604 1.26 yamaguch atf_ifconfig pppoe0 up
605 1.22 yamaguch $DEBUG && rump.ifconfig
606 1.24 yamaguch wait_for_opened $cp
607 1.22 yamaguch unset RUMP_SERVER
608 1.22 yamaguch
609 1.22 yamaguch $DEBUG && dump_bus
610 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST0"\]' -e ignore \
611 1.22 yamaguch -x "${dumpcmd} | grep PADI"
612 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST0"\]' -e ignore \
613 1.22 yamaguch -x "${dumpcmd} | grep PADR"
614 1.22 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
615 1.22 yamaguch -x "${dumpcmd} | grep PADI"
616 1.22 yamaguch
617 1.22 yamaguch # change Service-Name
618 1.22 yamaguch export RUMP_SERVER=$CLIENT
619 1.26 yamaguch atf_ifconfig pppoe0 down
620 1.22 yamaguch wait_for_disconnected
621 1.26 yamaguch atf_pppoectl -e shmif0 -s SNAME-TEST1 pppoe0
622 1.26 yamaguch atf_ifconfig pppoe0 up
623 1.22 yamaguch $DEBUG && rump.ifconfig
624 1.24 yamaguch wait_for_opened $cp
625 1.22 yamaguch unset RUMP_SERVER
626 1.22 yamaguch
627 1.22 yamaguch $DEBUG && dump_bus
628 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST1"\]' -e ignore \
629 1.22 yamaguch -x "${dumpcmd} | grep PADI"
630 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST1"\]' -e ignore \
631 1.22 yamaguch -x "${dumpcmd} | grep PADR"
632 1.22 yamaguch
633 1.22 yamaguch # clear Service-Name
634 1.22 yamaguch rump_server_destroy_ifaces
635 1.22 yamaguch rm ${BUS} 2> /dev/null
636 1.22 yamaguch setup_ifaces
637 1.22 yamaguch setup_auth_conf
638 1.22 yamaguch
639 1.22 yamaguch export RUMP_SERVER=$SERVER
640 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
641 1.26 yamaguch atf_ifconfig pppoe0 up
642 1.22 yamaguch unset RUMP_SERVER
643 1.22 yamaguch
644 1.22 yamaguch export RUMP_SERVER=$CLIENT
645 1.26 yamaguch atf_ifconfig pppoe0 down
646 1.22 yamaguch wait_for_disconnected
647 1.26 yamaguch atf_pppoectl -s SNAME-TEST2 -e shmif0 pppoe0
648 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
649 1.26 yamaguch atf_ifconfig pppoe0 up
650 1.22 yamaguch $DEBUG && rump.ifconfig
651 1.24 yamaguch wait_for_opened $cp
652 1.22 yamaguch unset RUMP_SERVER
653 1.22 yamaguch
654 1.22 yamaguch $DEBUG && dump_bus
655 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
656 1.22 yamaguch -x "${dumpcmd} | grep PADI"
657 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
658 1.22 yamaguch -x "${dumpcmd} | grep PADR"
659 1.22 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
660 1.22 yamaguch -x "${dumpcmd} | grep PADI"
661 1.22 yamaguch
662 1.22 yamaguch # set AC-NAME and Service-Name
663 1.22 yamaguch rump_server_destroy_ifaces
664 1.22 yamaguch rm ${BUS} 2> /dev/null
665 1.22 yamaguch setup_ifaces
666 1.22 yamaguch setup_auth_conf
667 1.22 yamaguch
668 1.22 yamaguch export RUMP_SERVER=$SERVER
669 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0
670 1.26 yamaguch atf_ifconfig pppoe0 up
671 1.22 yamaguch unset RUMP_SERVER
672 1.22 yamaguch
673 1.22 yamaguch export RUMP_SERVER=$CLIENT
674 1.26 yamaguch atf_ifconfig pppoe0 down
675 1.22 yamaguch wait_for_disconnected
676 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST3 -s SNAME-TEST3 pppoe0
677 1.26 yamaguch atf_ifconfig pppoe0 up
678 1.22 yamaguch $DEBUG && rump.ifconfig
679 1.24 yamaguch wait_for_opened $cp
680 1.22 yamaguch unset RUMP_SERVER
681 1.22 yamaguch
682 1.22 yamaguch $DEBUG && dump_bus
683 1.22 yamaguch atf_check -s exit:0 \
684 1.22 yamaguch -o match:'\[Service-Name "SNAME-TEST3"\] \[AC-Name "ACNAME-TEST3"\]' \
685 1.22 yamaguch -e ignore \
686 1.22 yamaguch -x "${dumpcmd} | grep PADI"
687 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST3"\]' -e ignore \
688 1.22 yamaguch -x "${dumpcmd} | grep PADR"
689 1.22 yamaguch
690 1.22 yamaguch # change AC-NAME
691 1.22 yamaguch export RUMP_SERVER=$CLIENT
692 1.26 yamaguch atf_ifconfig pppoe0 down
693 1.22 yamaguch wait_for_disconnected
694 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST4 pppoe0
695 1.26 yamaguch atf_ifconfig pppoe0 up
696 1.22 yamaguch $DEBUG && rump.ifconfig
697 1.24 yamaguch wait_for_opened $cp
698 1.22 yamaguch unset RUMP_SERVER
699 1.22 yamaguch
700 1.22 yamaguch $DEBUG && dump_bus
701 1.22 yamaguch atf_check -s exit:0 \
702 1.23 yamaguch -o match:'\[Service-Name\] \[AC-Name "ACNAME-TEST4"\]' \
703 1.22 yamaguch -e ignore \
704 1.22 yamaguch -x "${dumpcmd} | grep PADI"
705 1.23 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
706 1.22 yamaguch -x "${dumpcmd} | grep PADR"
707 1.22 yamaguch
708 1.22 yamaguch # change Service-Name
709 1.22 yamaguch export RUMP_SERVER=$CLIENT
710 1.26 yamaguch atf_ifconfig pppoe0 down
711 1.22 yamaguch wait_for_disconnected
712 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST5 -s SNAME-TEST5 pppoe0
713 1.26 yamaguch atf_pppoectl -e shmif0 -s SNAME-TEST6 pppoe0
714 1.26 yamaguch atf_ifconfig pppoe0 up
715 1.22 yamaguch $DEBUG && rump.ifconfig
716 1.24 yamaguch wait_for_opened $cp
717 1.22 yamaguch unset RUMP_SERVER
718 1.22 yamaguch
719 1.22 yamaguch $DEBUG && dump_bus
720 1.22 yamaguch atf_check -s exit:0 \
721 1.23 yamaguch -o match:'\[Service-Name "SNAME-TEST6"\]' \
722 1.22 yamaguch -e ignore \
723 1.22 yamaguch -x "${dumpcmd} | grep PADI"
724 1.23 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST6"\]' -e ignore \
725 1.22 yamaguch -x "${dumpcmd} | grep PADR"
726 1.23 yamaguch atf_check -s exit:0 -o not-match:'\[AC-Name "ACNAME-TEST5\]"' -e ignore \
727 1.23 yamaguch -x "${dumpcmd} | grep PADI"
728 1.22 yamaguch }
729 1.22 yamaguch
730 1.22 yamaguch pppoe_params_cleanup()
731 1.22 yamaguch {
732 1.22 yamaguch
733 1.22 yamaguch $DEBUG && dump
734 1.22 yamaguch cleanup
735 1.22 yamaguch }
736 1.25 yamaguch
737 1.25 yamaguch pppoe_passiveauthproto()
738 1.25 yamaguch {
739 1.25 yamaguch local auth=$1
740 1.25 yamaguch local cp="IPCP"
741 1.25 yamaguch setup
742 1.25 yamaguch
743 1.25 yamaguch local server_optparam=""
744 1.25 yamaguch if [ $auth = "chap" ]; then
745 1.25 yamaguch server_optparam="norechallenge"
746 1.25 yamaguch fi
747 1.25 yamaguch
748 1.25 yamaguch export RUMP_SERVER=$SERVER
749 1.26 yamaguch atf_pppoectl pppoe0 \
750 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \
751 1.26 yamaguch "hisauthproto=$auth" "myauthproto=none" \
752 1.26 yamaguch $server_optparam
753 1.26 yamaguch atf_ifconfig pppoe0 up
754 1.26 yamaguch
755 1.26 yamaguch export RUMP_SERVER=$CLIENT
756 1.26 yamaguch atf_pppoectl pppoe0 \
757 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \
758 1.26 yamaguch "myauthproto=none" "hisauthproto=none" \
759 1.26 yamaguch "passiveauthproto"
760 1.26 yamaguch atf_ifconfig pppoe0 up
761 1.25 yamaguch $DEBUG && rump.ifconfig
762 1.25 yamaguch wait_for_opened $cp
763 1.25 yamaguch atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $SERVER_IP
764 1.25 yamaguch }
765 1.25 yamaguch
766 1.25 yamaguch atf_test_case pppoe_passiveauthproto_pap cleanup
767 1.25 yamaguch pppoe_passiveauthproto_pap_head()
768 1.25 yamaguch {
769 1.25 yamaguch
770 1.25 yamaguch atf_set "descr" "Test for passiveauthproto option on PAP"
771 1.25 yamaguch atf_set "require.progs" "rump_server"
772 1.25 yamaguch }
773 1.25 yamaguch
774 1.25 yamaguch pppoe_passiveauthproto_pap_body()
775 1.25 yamaguch {
776 1.25 yamaguch
777 1.25 yamaguch pppoe_passiveauthproto "pap"
778 1.25 yamaguch }
779 1.25 yamaguch
780 1.25 yamaguch pppoe_passiveauthproto_pap_cleanup()
781 1.25 yamaguch {
782 1.25 yamaguch
783 1.25 yamaguch $DEBUG && dump
784 1.25 yamaguch cleanup
785 1.25 yamaguch }
786 1.25 yamaguch
787 1.25 yamaguch atf_test_case pppoe_passiveauthproto_chap cleanup
788 1.25 yamaguch pppoe_passiveauthproto_chap_head()
789 1.25 yamaguch {
790 1.25 yamaguch
791 1.25 yamaguch atf_set "descr" "Test for passiveauthproto option on chap"
792 1.25 yamaguch atf_set "require.progs" "rump_server"
793 1.25 yamaguch }
794 1.25 yamaguch
795 1.25 yamaguch pppoe_passiveauthproto_chap_body()
796 1.25 yamaguch {
797 1.25 yamaguch
798 1.25 yamaguch pppoe_passiveauthproto "chap"
799 1.25 yamaguch }
800 1.25 yamaguch
801 1.25 yamaguch pppoe_passiveauthproto_chap_cleanup()
802 1.25 yamaguch {
803 1.25 yamaguch
804 1.25 yamaguch $DEBUG && dump
805 1.25 yamaguch cleanup
806 1.25 yamaguch }
807 1.25 yamaguch
808 1.28 yamaguch atf_test_case pppoe_mtu cleanup
809 1.28 yamaguch pppoe_mtu_head()
810 1.28 yamaguch {
811 1.28 yamaguch
812 1.28 yamaguch atf_set "descr" "Test for mtu"
813 1.28 yamaguch atf_set "require.progs" "rump_server"
814 1.28 yamaguch }
815 1.28 yamaguch
816 1.28 yamaguch pppoe_mtu_body()
817 1.28 yamaguch {
818 1.28 yamaguch local auth=chap
819 1.28 yamaguch local cp="IPCP"
820 1.28 yamaguch setup
821 1.28 yamaguch
822 1.28 yamaguch export RUMP_SERVER=$SERVER
823 1.28 yamaguch atf_pppoectl pppoe0 \
824 1.28 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \
825 1.28 yamaguch "hisauthproto=$auth" "myauthproto=none" \
826 1.28 yamaguch norechallenge
827 1.28 yamaguch atf_ifconfig pppoe0 mtu 1400
828 1.28 yamaguch atf_ifconfig pppoe0 up
829 1.28 yamaguch
830 1.28 yamaguch export RUMP_SERVER=$CLIENT
831 1.28 yamaguch atf_pppoectl pppoe0 \
832 1.28 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \
833 1.28 yamaguch "myauthproto=$auth" "hisauthproto=none"
834 1.28 yamaguch atf_ifconfig pppoe0 mtu 1450
835 1.28 yamaguch atf_ifconfig pppoe0 up
836 1.28 yamaguch
837 1.28 yamaguch wait_for_opened $cp
838 1.28 yamaguch atf_ifconfig -w 10
839 1.28 yamaguch
840 1.28 yamaguch export RUMP_SERVER=$SERVER
841 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1400' rump.ifconfig pppoe0
842 1.28 yamaguch
843 1.28 yamaguch export RUMP_SERVER=$CLIENT
844 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1400' rump.ifconfig pppoe0
845 1.28 yamaguch
846 1.28 yamaguch # mtu can set to 1460 but it is not applied.
847 1.28 yamaguch atf_ifconfig pppoe0 mtu 1460
848 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1400' rump.ifconfig pppoe0
849 1.28 yamaguch
850 1.28 yamaguch export RUMP_SERVER=$SERVER
851 1.28 yamaguch atf_ifconfig pppoe0 mtu 1470
852 1.28 yamaguch atf_ifconfig pppoe0 down
853 1.28 yamaguch atf_ifconfig pppoe0 up
854 1.28 yamaguch wait_for_opened $cp
855 1.28 yamaguch atf_ifconfig -w 10
856 1.28 yamaguch
857 1.28 yamaguch # mtu 1460 is applied after LCP negotiation
858 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1460' rump.ifconfig pppoe0
859 1.28 yamaguch
860 1.28 yamaguch export RUMP_SERVER=$CLIENT
861 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1460' rump.ifconfig pppoe0
862 1.28 yamaguch
863 1.28 yamaguch rump.ifconfig pppoe0 mtu 1500
864 1.28 yamaguch atf_check -s exit:0 -o ignore \
865 1.28 yamaguch -e match:'SIOCSIFMTU: Invalid argument' \
866 1.28 yamaguch rump.ifconfig pppoe0 mtu 1501
867 1.28 yamaguch }
868 1.28 yamaguch
869 1.28 yamaguch pppoe_mtu_cleanup()
870 1.28 yamaguch {
871 1.28 yamaguch
872 1.28 yamaguch $DEBUG && dump
873 1.28 yamaguch cleanup
874 1.28 yamaguch }
875 1.28 yamaguch
876 1.1 ozaki atf_init_test_cases()
877 1.1 ozaki {
878 1.18 ozaki
879 1.18 ozaki atf_add_test_case pppoe_create_destroy
880 1.22 yamaguch atf_add_test_case pppoe_params
881 1.5 ozaki atf_add_test_case pppoe_pap
882 1.5 ozaki atf_add_test_case pppoe_chap
883 1.7 knakahar atf_add_test_case pppoe6_pap
884 1.7 knakahar atf_add_test_case pppoe6_chap
885 1.25 yamaguch atf_add_test_case pppoe_passiveauthproto_pap
886 1.25 yamaguch atf_add_test_case pppoe_passiveauthproto_chap
887 1.28 yamaguch atf_add_test_case pppoe_mtu
888 1.1 ozaki }
889