Home | History | Annotate | Line # | Download | only in if_pppoe
t_pppoe.sh revision 1.29.2.1
      1  1.29.2.1      cjep #	$NetBSD: t_pppoe.sh,v 1.29.2.1 2021/05/31 22:15:23 cjep 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.29.2.1      cjep 	atf_check -s exit:0 -o match:'(PADI sent)|(initial)' \
    208  1.29.2.1      cjep 	    -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.29.2.1      cjep 	$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.29.2.1      cjep 
    730  1.29.2.1      cjep 	export RUMP_SERVER=$CLIENT
    731  1.29.2.1      cjep 	atf_ifconfig pppoe0 down
    732  1.29.2.1      cjep 	export RUMP_SERVER=$SERVER
    733  1.29.2.1      cjep 	wait_for_disconnected
    734  1.29.2.1      cjep 
    735  1.29.2.1      cjep 	# ipcp & ipv6cp are enabled by default
    736  1.29.2.1      cjep 	export RUMP_SERVER=$CLIENT
    737  1.29.2.1      cjep 	atf_check -s exit:0 -o match:'ipcp: enable' \
    738  1.29.2.1      cjep 	    -x "$HIJACKING pppoectl pppoe0"
    739  1.29.2.1      cjep 	atf_check -s exit:0 -o match:'ipv6cp: enable' \
    740  1.29.2.1      cjep 	    -x "$HIJACKING pppoectl pppoe0"
    741  1.29.2.1      cjep 
    742  1.29.2.1      cjep 	# ipcp enable & ipv6cp disable
    743  1.29.2.1      cjep 	atf_pppoectl pppoe0 noipv6cp
    744  1.29.2.1      cjep 	atf_ifconfig pppoe0 up
    745  1.29.2.1      cjep 	wait_for_opened "IPCP"
    746  1.29.2.1      cjep 	atf_check -s exit:0 -o match:'IPv6CP state: initial' \
    747  1.29.2.1      cjep 	    -x "$HIJACKING pppoectl -dd pppoe0"
    748  1.29.2.1      cjep 
    749  1.29.2.1      cjep 	atf_ifconfig pppoe0 down
    750  1.29.2.1      cjep 	export RUMP_SERVER=$SERVER
    751  1.29.2.1      cjep 	wait_for_disconnected
    752  1.29.2.1      cjep 
    753  1.29.2.1      cjep 	# ipcp disable & ipv6cp enable
    754  1.29.2.1      cjep 	export RUMP_SERVER=$CLIENT
    755  1.29.2.1      cjep 	atf_pppoectl pppoe0 noipcp ipv6cp
    756  1.29.2.1      cjep 	atf_ifconfig pppoe0 up
    757  1.29.2.1      cjep 	wait_for_opened "IPv6CP"
    758  1.29.2.1      cjep 	atf_check -s exit:0 -o match:'IPCP state: initial' \
    759  1.29.2.1      cjep 	    -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