1 1.33 yamaguch # $NetBSD: t_pppoe.sh,v 1.33 2021/06/01 05:18:33 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.32 yamaguch atf_check -s exit:0 -o match:'(PADI sent)|(initial)' \ 208 1.32 yamaguch -x "$HIJACKING pppoectl -d pppoe0" 209 1.1 ozaki unset RUMP_SERVER 210 1.1 ozaki 211 1.20 yamaguch # test for reconnecting 212 1.1 ozaki atf_check -s exit:0 -x "env RUMP_SERVER=$SERVER rump.ifconfig pppoe0 up" 213 1.1 ozaki export RUMP_SERVER=$CLIENT 214 1.24 yamaguch wait_for_opened $cp 215 1.1 ozaki atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $SERVER_IP 216 1.1 ozaki unset RUMP_SERVER 217 1.1 ozaki 218 1.1 ozaki # test for disconnection from client 219 1.16 knakahar export RUMP_SERVER=$CLIENT 220 1.26 yamaguch atf_ifconfig pppoe0 down 221 1.16 knakahar wait_for_disconnected 222 1.1 ozaki export RUMP_SERVER=$SERVER 223 1.16 knakahar wait_for_disconnected 224 1.1 ozaki $DEBUG && $HIJACKING pppoectl -d pppoe0 225 1.1 ozaki atf_check -s not-exit:0 -o ignore -e ignore \ 226 1.1 ozaki rump.ping -c 1 -w $TIMEOUT $CLIENT_IP 227 1.1 ozaki atf_check -s exit:0 -o match:'initial' -x "$HIJACKING pppoectl -d pppoe0" 228 1.1 ozaki unset RUMP_SERVER 229 1.1 ozaki 230 1.9 knakahar # test for reconnecting 231 1.1 ozaki export RUMP_SERVER=$CLIENT 232 1.26 yamaguch atf_ifconfig pppoe0 up 233 1.24 yamaguch wait_for_opened $cp 234 1.1 ozaki $DEBUG && rump.ifconfig pppoe0 235 1.1 ozaki $DEBUG && $HIJACKING pppoectl -d pppoe0 236 1.1 ozaki unset RUMP_SERVER 237 1.1 ozaki 238 1.1 ozaki export RUMP_SERVER=$SERVER 239 1.26 yamaguch atf_ifconfig -w 10 240 1.1 ozaki atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $CLIENT_IP 241 1.1 ozaki atf_check -s exit:0 -o match:'session' -x "$HIJACKING pppoectl -d pppoe0" 242 1.30 yamaguch $DEBUG && $HIJACKING pppoectl -d pppoe0 243 1.1 ozaki unset RUMP_SERVER 244 1.1 ozaki 245 1.1 ozaki # test for invalid password 246 1.1 ozaki export RUMP_SERVER=$CLIENT 247 1.26 yamaguch atf_ifconfig pppoe0 down 248 1.16 knakahar wait_for_disconnected 249 1.26 yamaguch atf_pppoectl pppoe0 "myauthproto=$auth" \ 250 1.26 yamaguch "myauthname=$AUTHNAME" \ 251 1.26 yamaguch "myauthsecret=invalidsecret" \ 252 1.26 yamaguch "hisauthproto=none" \ 253 1.26 yamaguch "max-auth-failure=1" 254 1.26 yamaguch atf_ifconfig pppoe0 up 255 1.24 yamaguch wait_for_opened $cp dontfail 256 1.1 ozaki atf_check -s not-exit:0 -o ignore -e ignore \ 257 1.1 ozaki rump.ping -c 1 -w $TIMEOUT $SERVER_IP 258 1.13 knakahar atf_check -s exit:0 -o match:'DETACHED' rump.ifconfig pppoe0 259 1.1 ozaki unset RUMP_SERVER 260 1.1 ozaki } 261 1.1 ozaki 262 1.6 ozaki atf_test_case pppoe_pap cleanup 263 1.3 christos 264 1.5 ozaki pppoe_pap_head() 265 1.3 christos { 266 1.3 christos atf_set "descr" "Does simple pap tests" 267 1.3 christos atf_set "require.progs" "rump_server pppoectl" 268 1.3 christos } 269 1.3 christos 270 1.5 ozaki pppoe_pap_body() 271 1.3 christos { 272 1.3 christos run_test pap 273 1.3 christos } 274 1.3 christos 275 1.5 ozaki pppoe_pap_cleanup() 276 1.1 ozaki { 277 1.17 ozaki 278 1.17 ozaki $DEBUG && dump 279 1.1 ozaki cleanup 280 1.1 ozaki } 281 1.3 christos 282 1.6 ozaki atf_test_case pppoe_chap cleanup 283 1.3 christos 284 1.5 ozaki pppoe_chap_head() 285 1.3 christos { 286 1.3 christos atf_set "descr" "Does simple chap tests" 287 1.3 christos atf_set "require.progs" "rump_server pppoectl" 288 1.3 christos } 289 1.3 christos 290 1.5 ozaki pppoe_chap_body() 291 1.3 christos { 292 1.3 christos run_test chap 293 1.3 christos } 294 1.3 christos 295 1.5 ozaki pppoe_chap_cleanup() 296 1.3 christos { 297 1.17 ozaki 298 1.17 ozaki $DEBUG && dump 299 1.3 christos cleanup 300 1.3 christos } 301 1.3 christos 302 1.7 knakahar run_test6() 303 1.7 knakahar { 304 1.7 knakahar local auth=$1 305 1.24 yamaguch local cp="IPv6CP" 306 1.7 knakahar setup "inet=false" 307 1.7 knakahar 308 1.7 knakahar # As pppoe client doesn't support rechallenge yet. 309 1.7 knakahar local server_optparam="" 310 1.7 knakahar if [ $auth = "chap" ]; then 311 1.7 knakahar server_optparam="norechallenge" 312 1.7 knakahar fi 313 1.7 knakahar 314 1.7 knakahar export RUMP_SERVER=$SERVER 315 1.26 yamaguch atf_pppoectl pppoe0 \ 316 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \ 317 1.26 yamaguch "hisauthproto=$auth" "myauthproto=none" \ 318 1.26 yamaguch $server_optparam 319 1.26 yamaguch atf_ifconfig pppoe0 inet6 $SERVER_IP6/64 down 320 1.26 yamaguch atf_ifconfig pppoe0 up 321 1.7 knakahar unset RUMP_SERVER 322 1.7 knakahar 323 1.7 knakahar export RUMP_SERVER=$CLIENT 324 1.26 yamaguch atf_pppoectl pppoe0 \ 325 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \ 326 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none" 327 1.26 yamaguch atf_ifconfig pppoe0 inet6 $CLIENT_IP6/64 down 328 1.26 yamaguch atf_ifconfig pppoe0 up 329 1.7 knakahar $DEBUG && rump.ifconfig 330 1.24 yamaguch wait_for_opened $cp 331 1.26 yamaguch atf_ifconfig -w 10 332 1.7 knakahar export RUMP_SERVER=$SERVER 333 1.26 yamaguch rump.ifconfig -w 10 334 1.7 knakahar export RUMP_SERVER=$CLIENT 335 1.7 knakahar atf_check -s exit:0 -o ignore rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6 336 1.7 knakahar unset RUMP_SERVER 337 1.7 knakahar 338 1.7 knakahar # test for disconnection from server 339 1.7 knakahar export RUMP_SERVER=$SERVER 340 1.7 knakahar session_id=`$HIJACKING pppoectl -d pppoe0 | grep state` 341 1.26 yamaguch atf_ifconfig pppoe0 down 342 1.7 knakahar wait_for_disconnected 343 1.7 knakahar export RUMP_SERVER=$CLIENT 344 1.7 knakahar wait_for_disconnected 345 1.7 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 346 1.14 knakahar rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6 347 1.7 knakahar atf_check -s exit:0 -o not-match:"$session_id" -x "$HIJACKING pppoectl -d pppoe0" 348 1.7 knakahar unset RUMP_SERVER 349 1.7 knakahar 350 1.20 yamaguch # test for reconnecting 351 1.7 knakahar export RUMP_SERVER=$SERVER 352 1.26 yamaguch atf_ifconfig pppoe0 up 353 1.24 yamaguch wait_for_opened $cp 354 1.26 yamaguch atf_ifconfig -w 10 355 1.7 knakahar $DEBUG && $HIJACKING pppoectl -d pppoe0 356 1.7 knakahar $DEBUG && rump.ifconfig pppoe0 357 1.7 knakahar export RUMP_SERVER=$CLIENT 358 1.26 yamaguch atf_ifconfig -w 10 359 1.7 knakahar atf_check -s exit:0 -o ignore rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6 360 1.7 knakahar unset RUMP_SERVER 361 1.7 knakahar 362 1.7 knakahar # test for disconnection from client 363 1.7 knakahar export RUMP_SERVER=$CLIENT 364 1.26 yamaguch atf_ifconfig pppoe0 down 365 1.7 knakahar wait_for_disconnected 366 1.7 knakahar 367 1.7 knakahar export RUMP_SERVER=$SERVER 368 1.16 knakahar wait_for_disconnected 369 1.7 knakahar $DEBUG && $HIJACKING pppoectl -d pppoe0 370 1.7 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 371 1.7 knakahar rump.ping6 -c 1 -X $TIMEOUT $CLIENT_IP6 372 1.7 knakahar atf_check -s exit:0 -o match:'initial' -x "$HIJACKING pppoectl -d pppoe0" 373 1.7 knakahar unset RUMP_SERVER 374 1.7 knakahar 375 1.9 knakahar # test for reconnecting 376 1.7 knakahar export RUMP_SERVER=$CLIENT 377 1.26 yamaguch atf_ifconfig pppoe0 up 378 1.24 yamaguch wait_for_opened $cp 379 1.26 yamaguch atf_ifconfig -w 10 380 1.7 knakahar 381 1.7 knakahar $DEBUG && rump.ifconfig pppoe0 382 1.7 knakahar $DEBUG && $HIJACKING pppoectl -d pppoe0 383 1.7 knakahar unset RUMP_SERVER 384 1.7 knakahar 385 1.7 knakahar export RUMP_SERVER=$SERVER 386 1.26 yamaguch atf_ifconfig -w 10 387 1.7 knakahar atf_check -s exit:0 -o ignore rump.ping6 -c 1 -X $TIMEOUT $CLIENT_IP6 388 1.7 knakahar atf_check -s exit:0 -o match:'session' -x "$HIJACKING pppoectl -d pppoe0" 389 1.7 knakahar $DEBUG && HIJACKING pppoectl -d pppoe0 390 1.7 knakahar unset RUMP_SERVER 391 1.7 knakahar 392 1.7 knakahar # test for invalid password 393 1.7 knakahar export RUMP_SERVER=$CLIENT 394 1.26 yamaguch atf_ifconfig pppoe0 down 395 1.7 knakahar wait_for_disconnected 396 1.26 yamaguch atf_pppoectl pppoe0 \ 397 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=invalidsecret" \ 398 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none" \ 399 1.26 yamaguch "max-auth-failure=1" 400 1.26 yamaguch atf_ifconfig pppoe0 up 401 1.24 yamaguch wait_for_opened $cp dontfail 402 1.7 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 403 1.7 knakahar rump.ping6 -c 1 -X $TIMEOUT $SERVER_IP6 404 1.7 knakahar atf_check -s exit:0 -o match:'DETACHED' rump.ifconfig pppoe0 405 1.7 knakahar unset RUMP_SERVER 406 1.7 knakahar } 407 1.7 knakahar 408 1.7 knakahar atf_test_case pppoe6_pap cleanup 409 1.7 knakahar 410 1.7 knakahar pppoe6_pap_head() 411 1.7 knakahar { 412 1.7 knakahar atf_set "descr" "Does simple pap using IPv6 tests" 413 1.7 knakahar atf_set "require.progs" "rump_server pppoectl" 414 1.7 knakahar } 415 1.7 knakahar 416 1.7 knakahar pppoe6_pap_body() 417 1.7 knakahar { 418 1.7 knakahar run_test6 pap 419 1.7 knakahar } 420 1.7 knakahar 421 1.7 knakahar pppoe6_pap_cleanup() 422 1.7 knakahar { 423 1.17 ozaki 424 1.17 ozaki $DEBUG && dump 425 1.7 knakahar cleanup 426 1.7 knakahar } 427 1.7 knakahar 428 1.7 knakahar atf_test_case pppoe6_chap cleanup 429 1.7 knakahar 430 1.7 knakahar pppoe6_chap_head() 431 1.7 knakahar { 432 1.7 knakahar atf_set "descr" "Does simple chap using IPv6 tests" 433 1.7 knakahar atf_set "require.progs" "rump_server pppoectl" 434 1.7 knakahar } 435 1.7 knakahar 436 1.7 knakahar pppoe6_chap_body() 437 1.7 knakahar { 438 1.7 knakahar run_test6 chap 439 1.7 knakahar } 440 1.7 knakahar 441 1.7 knakahar pppoe6_chap_cleanup() 442 1.7 knakahar { 443 1.17 ozaki 444 1.17 ozaki $DEBUG && dump 445 1.7 knakahar cleanup 446 1.7 knakahar } 447 1.7 knakahar 448 1.22 yamaguch atf_test_case pppoe_params cleanup 449 1.22 yamaguch 450 1.22 yamaguch dump_bus() 451 1.22 yamaguch { 452 1.22 yamaguch 453 1.22 yamaguch shmif_dumpbus -p - ${BUS} | tcpdump -n -e -r - 454 1.22 yamaguch } 455 1.22 yamaguch 456 1.22 yamaguch setup_auth_conf() 457 1.22 yamaguch { 458 1.22 yamaguch local auth=chap 459 1.26 yamaguch local server_optparam="norechallenge" 460 1.22 yamaguch 461 1.22 yamaguch export RUMP_SERVER=$SERVER 462 1.26 yamaguch atf_ifconfig pppoe0 link0 463 1.26 yamaguch atf_pppoectl pppoe0 \ 464 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \ 465 1.26 yamaguch "hisauthproto=$auth" "myauthproto=none" \ 466 1.26 yamaguch $server_optparam 467 1.22 yamaguch unset RUMP_SERVER 468 1.22 yamaguch 469 1.22 yamaguch export RUMP_SERVER=$CLIENT 470 1.26 yamaguch $inet && atf_ifconfig pppoe0 \ 471 1.22 yamaguch inet 0.0.0.0 0.0.0.1 down 472 1.26 yamaguch atf_pppoectl pppoe0 \ 473 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \ 474 1.26 yamaguch "myauthproto=$auth" "hisauthproto=none" 475 1.26 yamaguch 476 1.22 yamaguch $DEBUG && rump.ifconfig 477 1.22 yamaguch unset RUMP_SERVER 478 1.22 yamaguch } 479 1.22 yamaguch 480 1.22 yamaguch pppoe_params_head() 481 1.22 yamaguch { 482 1.22 yamaguch atf_set "descr" "Set and clear access concentrator name and service name" 483 1.22 yamaguch atf_set "require.progs" "rump_server pppoectl" 484 1.22 yamaguch } 485 1.22 yamaguch 486 1.22 yamaguch pppoe_params_body() 487 1.22 yamaguch { 488 1.22 yamaguch local dumpcmd 489 1.24 yamaguch local cp="LCP" 490 1.22 yamaguch 491 1.22 yamaguch dumpcmd="shmif_dumpbus -p - ${BUS}" 492 1.22 yamaguch dumpcmd="${dumpcmd} | tcpdump -n -e -r -" 493 1.22 yamaguch 494 1.22 yamaguch rump_server_start $SERVER netinet6 pppoe 495 1.22 yamaguch rump_server_start $CLIENT netinet6 pppoe 496 1.22 yamaguch 497 1.22 yamaguch setup_ifaces 498 1.22 yamaguch setup_auth_conf 499 1.22 yamaguch 500 1.22 yamaguch export RUMP_SERVER=$SERVER 501 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 502 1.26 yamaguch atf_ifconfig pppoe0 up 503 1.22 yamaguch unset RUMP_SERVER 504 1.22 yamaguch 505 1.22 yamaguch export RUMP_SERVER=$CLIENT 506 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 507 1.26 yamaguch atf_ifconfig pppoe0 up 508 1.22 yamaguch $DEBUG && rump.ifconfig 509 1.24 yamaguch wait_for_opened $cp 510 1.22 yamaguch unset RUMP_SERVER 511 1.22 yamaguch 512 1.22 yamaguch $DEBUG && dump_bus 513 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 514 1.22 yamaguch -x "${dumpcmd} | grep PADI" 515 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 516 1.22 yamaguch -x "${dumpcmd} | grep PADR" 517 1.22 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \ 518 1.22 yamaguch -x "${dumpcmd} | grep PADI" 519 1.22 yamaguch 520 1.22 yamaguch # set Remote access concentrator name (AC-NAME, -a option) 521 1.22 yamaguch export RUMP_SERVER=$CLIENT 522 1.26 yamaguch atf_ifconfig pppoe0 down 523 1.22 yamaguch wait_for_disconnected 524 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST0 pppoe0 525 1.26 yamaguch atf_ifconfig pppoe0 up 526 1.22 yamaguch $DEBUG && rump.ifconfig 527 1.24 yamaguch wait_for_opened $cp 528 1.22 yamaguch unset RUMP_SERVER 529 1.22 yamaguch 530 1.22 yamaguch $DEBUG && dump_bus 531 1.22 yamaguch atf_check -s exit:0 -o match:'\[AC-Name "ACNAME-TEST0"\]' -e ignore \ 532 1.22 yamaguch -x "${dumpcmd} | grep PADI" 533 1.22 yamaguch 534 1.22 yamaguch # change AC-NAME 535 1.22 yamaguch export RUMP_SERVER=$CLIENT 536 1.26 yamaguch atf_ifconfig pppoe0 down 537 1.22 yamaguch wait_for_disconnected 538 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST1 pppoe0 539 1.26 yamaguch atf_ifconfig pppoe0 up 540 1.22 yamaguch $DEBUG && rump.ifconfig 541 1.24 yamaguch wait_for_opened $cp 542 1.22 yamaguch unset RUMP_SERVER 543 1.22 yamaguch 544 1.22 yamaguch $DEBUG && dump_bus 545 1.22 yamaguch atf_check -s exit:0 -o match:'\[AC-Name "ACNAME-TEST1"\]' -e ignore \ 546 1.22 yamaguch -x "${dumpcmd} | grep PADI" 547 1.22 yamaguch 548 1.22 yamaguch # clear AC-NAME 549 1.22 yamaguch rump_server_destroy_ifaces 550 1.22 yamaguch rm ${BUS} 2> /dev/null 551 1.22 yamaguch setup_ifaces 552 1.22 yamaguch setup_auth_conf 553 1.22 yamaguch 554 1.22 yamaguch export RUMP_SERVER=$SERVER 555 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 556 1.26 yamaguch atf_ifconfig pppoe0 up 557 1.22 yamaguch unset RUMP_SERVER 558 1.22 yamaguch 559 1.22 yamaguch export RUMP_SERVER=$CLIENT 560 1.26 yamaguch atf_ifconfig pppoe0 down 561 1.22 yamaguch wait_for_disconnected 562 1.26 yamaguch atf_pppoectl -a ACNAME-TEST2 -e shmif0 pppoe0 563 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 564 1.26 yamaguch atf_ifconfig pppoe0 up 565 1.22 yamaguch $DEBUG && rump.ifconfig 566 1.24 yamaguch wait_for_opened $cp 567 1.22 yamaguch unset RUMP_SERVER 568 1.22 yamaguch 569 1.22 yamaguch $DEBUG && dump_bus 570 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 571 1.22 yamaguch -x "${dumpcmd} | grep PADI" 572 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 573 1.22 yamaguch -x "${dumpcmd} | grep PADR" 574 1.23 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \ 575 1.23 yamaguch -x "${dumpcmd} | grep PADI" 576 1.23 yamaguch 577 1.23 yamaguch # store 0 length string in AC-NAME 578 1.23 yamaguch export RUMP_SERVER=$CLIENT 579 1.26 yamaguch atf_ifconfig pppoe0 down 580 1.23 yamaguch wait_for_disconnected 581 1.26 yamaguch atf_pppoectl -a \"\" -e shmif0 pppoe0 582 1.26 yamaguch atf_ifconfig pppoe0 up 583 1.23 yamaguch $DEBUG && rump.ifconfig 584 1.24 yamaguch wait_for_opened $cp 585 1.23 yamaguch unset RUMP_SERVER 586 1.23 yamaguch 587 1.22 yamaguch atf_check -s exit:0 -o match:'\[AC-Name\]' -e ignore \ 588 1.22 yamaguch -x "${dumpcmd} | grep PADI" 589 1.22 yamaguch 590 1.22 yamaguch # set Service Name (Service-Name, -s option) 591 1.22 yamaguch rump_server_destroy_ifaces 592 1.22 yamaguch rm ${BUS} 2> /dev/null 593 1.22 yamaguch setup_ifaces 594 1.22 yamaguch setup_auth_conf 595 1.22 yamaguch 596 1.22 yamaguch export RUMP_SERVER=$SERVER 597 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 598 1.26 yamaguch atf_ifconfig pppoe0 up 599 1.22 yamaguch unset RUMP_SERVER 600 1.22 yamaguch 601 1.22 yamaguch export RUMP_SERVER=$CLIENT 602 1.26 yamaguch atf_ifconfig pppoe0 down 603 1.22 yamaguch wait_for_disconnected 604 1.26 yamaguch atf_pppoectl -e shmif0 -s SNAME-TEST0 pppoe0 605 1.26 yamaguch atf_ifconfig pppoe0 up 606 1.22 yamaguch $DEBUG && rump.ifconfig 607 1.24 yamaguch wait_for_opened $cp 608 1.22 yamaguch unset RUMP_SERVER 609 1.22 yamaguch 610 1.22 yamaguch $DEBUG && dump_bus 611 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST0"\]' -e ignore \ 612 1.22 yamaguch -x "${dumpcmd} | grep PADI" 613 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST0"\]' -e ignore \ 614 1.22 yamaguch -x "${dumpcmd} | grep PADR" 615 1.22 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \ 616 1.22 yamaguch -x "${dumpcmd} | grep PADI" 617 1.22 yamaguch 618 1.22 yamaguch # change Service-Name 619 1.22 yamaguch export RUMP_SERVER=$CLIENT 620 1.26 yamaguch atf_ifconfig pppoe0 down 621 1.22 yamaguch wait_for_disconnected 622 1.26 yamaguch atf_pppoectl -e shmif0 -s SNAME-TEST1 pppoe0 623 1.26 yamaguch atf_ifconfig pppoe0 up 624 1.22 yamaguch $DEBUG && rump.ifconfig 625 1.24 yamaguch wait_for_opened $cp 626 1.22 yamaguch unset RUMP_SERVER 627 1.22 yamaguch 628 1.22 yamaguch $DEBUG && dump_bus 629 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST1"\]' -e ignore \ 630 1.22 yamaguch -x "${dumpcmd} | grep PADI" 631 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST1"\]' -e ignore \ 632 1.22 yamaguch -x "${dumpcmd} | grep PADR" 633 1.22 yamaguch 634 1.22 yamaguch # clear Service-Name 635 1.22 yamaguch rump_server_destroy_ifaces 636 1.22 yamaguch rm ${BUS} 2> /dev/null 637 1.22 yamaguch setup_ifaces 638 1.22 yamaguch setup_auth_conf 639 1.22 yamaguch 640 1.22 yamaguch export RUMP_SERVER=$SERVER 641 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 642 1.26 yamaguch atf_ifconfig pppoe0 up 643 1.22 yamaguch unset RUMP_SERVER 644 1.22 yamaguch 645 1.22 yamaguch export RUMP_SERVER=$CLIENT 646 1.26 yamaguch atf_ifconfig pppoe0 down 647 1.22 yamaguch wait_for_disconnected 648 1.26 yamaguch atf_pppoectl -s SNAME-TEST2 -e shmif0 pppoe0 649 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 650 1.26 yamaguch atf_ifconfig pppoe0 up 651 1.22 yamaguch $DEBUG && rump.ifconfig 652 1.24 yamaguch wait_for_opened $cp 653 1.22 yamaguch unset RUMP_SERVER 654 1.22 yamaguch 655 1.22 yamaguch $DEBUG && dump_bus 656 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 657 1.22 yamaguch -x "${dumpcmd} | grep PADI" 658 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 659 1.22 yamaguch -x "${dumpcmd} | grep PADR" 660 1.22 yamaguch atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \ 661 1.22 yamaguch -x "${dumpcmd} | grep PADI" 662 1.22 yamaguch 663 1.22 yamaguch # set AC-NAME and Service-Name 664 1.22 yamaguch rump_server_destroy_ifaces 665 1.22 yamaguch rm ${BUS} 2> /dev/null 666 1.22 yamaguch setup_ifaces 667 1.22 yamaguch setup_auth_conf 668 1.22 yamaguch 669 1.22 yamaguch export RUMP_SERVER=$SERVER 670 1.26 yamaguch atf_pppoectl -e shmif0 pppoe0 671 1.26 yamaguch atf_ifconfig pppoe0 up 672 1.22 yamaguch unset RUMP_SERVER 673 1.22 yamaguch 674 1.22 yamaguch export RUMP_SERVER=$CLIENT 675 1.26 yamaguch atf_ifconfig pppoe0 down 676 1.22 yamaguch wait_for_disconnected 677 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST3 -s SNAME-TEST3 pppoe0 678 1.26 yamaguch atf_ifconfig pppoe0 up 679 1.22 yamaguch $DEBUG && rump.ifconfig 680 1.24 yamaguch wait_for_opened $cp 681 1.22 yamaguch unset RUMP_SERVER 682 1.22 yamaguch 683 1.22 yamaguch $DEBUG && dump_bus 684 1.22 yamaguch atf_check -s exit:0 \ 685 1.22 yamaguch -o match:'\[Service-Name "SNAME-TEST3"\] \[AC-Name "ACNAME-TEST3"\]' \ 686 1.22 yamaguch -e ignore \ 687 1.22 yamaguch -x "${dumpcmd} | grep PADI" 688 1.22 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST3"\]' -e ignore \ 689 1.22 yamaguch -x "${dumpcmd} | grep PADR" 690 1.22 yamaguch 691 1.22 yamaguch # change AC-NAME 692 1.22 yamaguch export RUMP_SERVER=$CLIENT 693 1.26 yamaguch atf_ifconfig pppoe0 down 694 1.22 yamaguch wait_for_disconnected 695 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST4 pppoe0 696 1.26 yamaguch atf_ifconfig pppoe0 up 697 1.22 yamaguch $DEBUG && rump.ifconfig 698 1.24 yamaguch wait_for_opened $cp 699 1.22 yamaguch unset RUMP_SERVER 700 1.22 yamaguch 701 1.22 yamaguch $DEBUG && dump_bus 702 1.22 yamaguch atf_check -s exit:0 \ 703 1.23 yamaguch -o match:'\[Service-Name\] \[AC-Name "ACNAME-TEST4"\]' \ 704 1.22 yamaguch -e ignore \ 705 1.22 yamaguch -x "${dumpcmd} | grep PADI" 706 1.23 yamaguch atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \ 707 1.22 yamaguch -x "${dumpcmd} | grep PADR" 708 1.22 yamaguch 709 1.22 yamaguch # change Service-Name 710 1.22 yamaguch export RUMP_SERVER=$CLIENT 711 1.26 yamaguch atf_ifconfig pppoe0 down 712 1.22 yamaguch wait_for_disconnected 713 1.26 yamaguch atf_pppoectl -e shmif0 -a ACNAME-TEST5 -s SNAME-TEST5 pppoe0 714 1.26 yamaguch atf_pppoectl -e shmif0 -s SNAME-TEST6 pppoe0 715 1.26 yamaguch atf_ifconfig pppoe0 up 716 1.22 yamaguch $DEBUG && rump.ifconfig 717 1.24 yamaguch wait_for_opened $cp 718 1.22 yamaguch unset RUMP_SERVER 719 1.22 yamaguch 720 1.22 yamaguch $DEBUG && dump_bus 721 1.22 yamaguch atf_check -s exit:0 \ 722 1.23 yamaguch -o match:'\[Service-Name "SNAME-TEST6"\]' \ 723 1.22 yamaguch -e ignore \ 724 1.22 yamaguch -x "${dumpcmd} | grep PADI" 725 1.23 yamaguch atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST6"\]' -e ignore \ 726 1.22 yamaguch -x "${dumpcmd} | grep PADR" 727 1.23 yamaguch atf_check -s exit:0 -o not-match:'\[AC-Name "ACNAME-TEST5\]"' -e ignore \ 728 1.23 yamaguch -x "${dumpcmd} | grep PADI" 729 1.31 yamaguch 730 1.31 yamaguch export RUMP_SERVER=$CLIENT 731 1.31 yamaguch atf_ifconfig pppoe0 down 732 1.31 yamaguch export RUMP_SERVER=$SERVER 733 1.31 yamaguch wait_for_disconnected 734 1.31 yamaguch 735 1.31 yamaguch # ipcp & ipv6cp are enabled by default 736 1.31 yamaguch export RUMP_SERVER=$CLIENT 737 1.31 yamaguch atf_check -s exit:0 -o match:'ipcp: enable' \ 738 1.31 yamaguch -x "$HIJACKING pppoectl pppoe0" 739 1.31 yamaguch atf_check -s exit:0 -o match:'ipv6cp: enable' \ 740 1.31 yamaguch -x "$HIJACKING pppoectl pppoe0" 741 1.31 yamaguch 742 1.31 yamaguch # ipcp enable & ipv6cp disable 743 1.31 yamaguch atf_pppoectl pppoe0 noipv6cp 744 1.31 yamaguch atf_ifconfig pppoe0 up 745 1.31 yamaguch wait_for_opened "IPCP" 746 1.33 yamaguch atf_check -s exit:0 -o match:'IPv6CP state: closed' \ 747 1.31 yamaguch -x "$HIJACKING pppoectl -dd pppoe0" 748 1.31 yamaguch 749 1.31 yamaguch atf_ifconfig pppoe0 down 750 1.31 yamaguch export RUMP_SERVER=$SERVER 751 1.31 yamaguch wait_for_disconnected 752 1.31 yamaguch 753 1.31 yamaguch # ipcp disable & ipv6cp enable 754 1.31 yamaguch export RUMP_SERVER=$CLIENT 755 1.31 yamaguch atf_pppoectl pppoe0 noipcp ipv6cp 756 1.31 yamaguch atf_ifconfig pppoe0 up 757 1.31 yamaguch wait_for_opened "IPv6CP" 758 1.33 yamaguch atf_check -s exit:0 -o match:'IPCP state: closed' \ 759 1.31 yamaguch -x "$HIJACKING pppoectl -dd pppoe0" 760 1.22 yamaguch } 761 1.22 yamaguch 762 1.22 yamaguch pppoe_params_cleanup() 763 1.22 yamaguch { 764 1.22 yamaguch 765 1.22 yamaguch $DEBUG && dump 766 1.22 yamaguch cleanup 767 1.22 yamaguch } 768 1.25 yamaguch 769 1.25 yamaguch pppoe_passiveauthproto() 770 1.25 yamaguch { 771 1.25 yamaguch local auth=$1 772 1.25 yamaguch local cp="IPCP" 773 1.25 yamaguch setup 774 1.25 yamaguch 775 1.25 yamaguch local server_optparam="" 776 1.25 yamaguch if [ $auth = "chap" ]; then 777 1.25 yamaguch server_optparam="norechallenge" 778 1.25 yamaguch fi 779 1.25 yamaguch 780 1.25 yamaguch export RUMP_SERVER=$SERVER 781 1.26 yamaguch atf_pppoectl pppoe0 \ 782 1.26 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \ 783 1.26 yamaguch "hisauthproto=$auth" "myauthproto=none" \ 784 1.26 yamaguch $server_optparam 785 1.26 yamaguch atf_ifconfig pppoe0 up 786 1.26 yamaguch 787 1.26 yamaguch export RUMP_SERVER=$CLIENT 788 1.26 yamaguch atf_pppoectl pppoe0 \ 789 1.26 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \ 790 1.26 yamaguch "myauthproto=none" "hisauthproto=none" \ 791 1.26 yamaguch "passiveauthproto" 792 1.26 yamaguch atf_ifconfig pppoe0 up 793 1.25 yamaguch $DEBUG && rump.ifconfig 794 1.25 yamaguch wait_for_opened $cp 795 1.29 yamaguch atf_ifconfig -w 10 796 1.25 yamaguch atf_check -s exit:0 -o ignore rump.ping -c 1 -w $TIMEOUT $SERVER_IP 797 1.25 yamaguch } 798 1.25 yamaguch 799 1.25 yamaguch atf_test_case pppoe_passiveauthproto_pap cleanup 800 1.25 yamaguch pppoe_passiveauthproto_pap_head() 801 1.25 yamaguch { 802 1.25 yamaguch 803 1.25 yamaguch atf_set "descr" "Test for passiveauthproto option on PAP" 804 1.25 yamaguch atf_set "require.progs" "rump_server" 805 1.25 yamaguch } 806 1.25 yamaguch 807 1.25 yamaguch pppoe_passiveauthproto_pap_body() 808 1.25 yamaguch { 809 1.25 yamaguch 810 1.25 yamaguch pppoe_passiveauthproto "pap" 811 1.25 yamaguch } 812 1.25 yamaguch 813 1.25 yamaguch pppoe_passiveauthproto_pap_cleanup() 814 1.25 yamaguch { 815 1.25 yamaguch 816 1.25 yamaguch $DEBUG && dump 817 1.25 yamaguch cleanup 818 1.25 yamaguch } 819 1.25 yamaguch 820 1.25 yamaguch atf_test_case pppoe_passiveauthproto_chap cleanup 821 1.25 yamaguch pppoe_passiveauthproto_chap_head() 822 1.25 yamaguch { 823 1.25 yamaguch 824 1.25 yamaguch atf_set "descr" "Test for passiveauthproto option on chap" 825 1.25 yamaguch atf_set "require.progs" "rump_server" 826 1.25 yamaguch } 827 1.25 yamaguch 828 1.25 yamaguch pppoe_passiveauthproto_chap_body() 829 1.25 yamaguch { 830 1.25 yamaguch 831 1.25 yamaguch pppoe_passiveauthproto "chap" 832 1.25 yamaguch } 833 1.25 yamaguch 834 1.25 yamaguch pppoe_passiveauthproto_chap_cleanup() 835 1.25 yamaguch { 836 1.25 yamaguch 837 1.25 yamaguch $DEBUG && dump 838 1.25 yamaguch cleanup 839 1.25 yamaguch } 840 1.25 yamaguch 841 1.28 yamaguch atf_test_case pppoe_mtu cleanup 842 1.28 yamaguch pppoe_mtu_head() 843 1.28 yamaguch { 844 1.28 yamaguch 845 1.28 yamaguch atf_set "descr" "Test for mtu" 846 1.28 yamaguch atf_set "require.progs" "rump_server" 847 1.28 yamaguch } 848 1.28 yamaguch 849 1.28 yamaguch pppoe_mtu_body() 850 1.28 yamaguch { 851 1.28 yamaguch local auth=chap 852 1.28 yamaguch local cp="IPCP" 853 1.28 yamaguch setup 854 1.28 yamaguch 855 1.28 yamaguch export RUMP_SERVER=$SERVER 856 1.28 yamaguch atf_pppoectl pppoe0 \ 857 1.28 yamaguch "hisauthname=$AUTHNAME" "hisauthsecret=$SECRET" \ 858 1.28 yamaguch "hisauthproto=$auth" "myauthproto=none" \ 859 1.28 yamaguch norechallenge 860 1.28 yamaguch atf_ifconfig pppoe0 mtu 1400 861 1.28 yamaguch atf_ifconfig pppoe0 up 862 1.28 yamaguch 863 1.28 yamaguch export RUMP_SERVER=$CLIENT 864 1.28 yamaguch atf_pppoectl pppoe0 \ 865 1.28 yamaguch "myauthname=$AUTHNAME" "myauthsecret=$SECRET" \ 866 1.28 yamaguch "myauthproto=$auth" "hisauthproto=none" 867 1.28 yamaguch atf_ifconfig pppoe0 mtu 1450 868 1.28 yamaguch atf_ifconfig pppoe0 up 869 1.28 yamaguch 870 1.28 yamaguch wait_for_opened $cp 871 1.28 yamaguch atf_ifconfig -w 10 872 1.28 yamaguch 873 1.28 yamaguch export RUMP_SERVER=$SERVER 874 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1400' rump.ifconfig pppoe0 875 1.28 yamaguch 876 1.28 yamaguch export RUMP_SERVER=$CLIENT 877 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1400' rump.ifconfig pppoe0 878 1.28 yamaguch 879 1.28 yamaguch # mtu can set to 1460 but it is not applied. 880 1.28 yamaguch atf_ifconfig pppoe0 mtu 1460 881 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1400' rump.ifconfig pppoe0 882 1.28 yamaguch 883 1.28 yamaguch export RUMP_SERVER=$SERVER 884 1.28 yamaguch atf_ifconfig pppoe0 mtu 1470 885 1.28 yamaguch atf_ifconfig pppoe0 down 886 1.28 yamaguch atf_ifconfig pppoe0 up 887 1.28 yamaguch wait_for_opened $cp 888 1.28 yamaguch atf_ifconfig -w 10 889 1.28 yamaguch 890 1.28 yamaguch # mtu 1460 is applied after LCP negotiation 891 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1460' rump.ifconfig pppoe0 892 1.28 yamaguch 893 1.28 yamaguch export RUMP_SERVER=$CLIENT 894 1.28 yamaguch atf_check -s exit:0 -o match:'mtu 1460' rump.ifconfig pppoe0 895 1.28 yamaguch 896 1.28 yamaguch rump.ifconfig pppoe0 mtu 1500 897 1.28 yamaguch atf_check -s exit:0 -o ignore \ 898 1.28 yamaguch -e match:'SIOCSIFMTU: Invalid argument' \ 899 1.28 yamaguch rump.ifconfig pppoe0 mtu 1501 900 1.28 yamaguch } 901 1.28 yamaguch 902 1.28 yamaguch pppoe_mtu_cleanup() 903 1.28 yamaguch { 904 1.28 yamaguch 905 1.28 yamaguch $DEBUG && dump 906 1.28 yamaguch cleanup 907 1.28 yamaguch } 908 1.28 yamaguch 909 1.1 ozaki atf_init_test_cases() 910 1.1 ozaki { 911 1.18 ozaki 912 1.18 ozaki atf_add_test_case pppoe_create_destroy 913 1.22 yamaguch atf_add_test_case pppoe_params 914 1.5 ozaki atf_add_test_case pppoe_pap 915 1.5 ozaki atf_add_test_case pppoe_chap 916 1.7 knakahar atf_add_test_case pppoe6_pap 917 1.7 knakahar atf_add_test_case pppoe6_chap 918 1.25 yamaguch atf_add_test_case pppoe_passiveauthproto_pap 919 1.25 yamaguch atf_add_test_case pppoe_passiveauthproto_chap 920 1.28 yamaguch atf_add_test_case pppoe_mtu 921 1.1 ozaki } 922