Module Name:    src
Committed By:   yamaguchi
Date:           Fri Sep 25 06:07:31 UTC 2020

Modified Files:
        src/tests/net/if_pppoe: t_pppoe.sh

Log Message:
Add test cases for AC-Name and Service-Name


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/tests/net/if_pppoe/t_pppoe.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/net/if_pppoe/t_pppoe.sh
diff -u src/tests/net/if_pppoe/t_pppoe.sh:1.21 src/tests/net/if_pppoe/t_pppoe.sh:1.22
--- src/tests/net/if_pppoe/t_pppoe.sh:1.21	Wed Sep 23 06:18:20 2020
+++ src/tests/net/if_pppoe/t_pppoe.sh	Fri Sep 25 06:07:31 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: t_pppoe.sh,v 1.21 2020/09/23 06:18:20 yamaguchi Exp $
+#	$NetBSD: t_pppoe.sh,v 1.22 2020/09/25 06:07:31 yamaguchi Exp $
 #
 # Copyright (c) 2016 Internet Initiative Japan Inc.
 # All rights reserved.
@@ -62,41 +62,53 @@ pppoe_create_destroy_cleanup()
 	cleanup
 }
 
-setup()
+setup_ifaces()
 {
-	inet=true
-
-	if [ $# -ne 0 ]; then
-		eval $@
-	fi
-
-	rump_server_start $SERVER netinet6 pppoe
-	rump_server_start $CLIENT netinet6 pppoe
 
 	rump_server_add_iface $SERVER shmif0 $BUS
 	rump_server_add_iface $CLIENT shmif0 $BUS
+	rump_server_add_iface $SERVER pppoe0
+	rump_server_add_iface $CLIENT pppoe0
 
 	export RUMP_SERVER=$SERVER
 	atf_check -s exit:0 rump.ifconfig shmif0 up
-
-	rump_server_add_iface $SERVER pppoe0
 	$inet && atf_check -s exit:0 rump.ifconfig pppoe0 \
 	    inet $SERVER_IP $CLIENT_IP down
 	atf_check -s exit:0 rump.ifconfig pppoe0 link0
 
 	$DEBUG && rump.ifconfig
 	$DEBUG && $HIJACKING pppoectl -d pppoe0
-
-	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
 	unset RUMP_SERVER
 
 	export RUMP_SERVER=$CLIENT
 	atf_check -s exit:0 rump.ifconfig shmif0 up
 
-	rump_server_add_iface $CLIENT pppoe0
 	$inet && atf_check -s exit:0 rump.ifconfig pppoe0 \
 	    inet 0.0.0.0 0.0.0.1 down
 
+	$DEBUG && rump.ifconfig
+	$DEBUG && $HIJACKING pppoectl -d pppoe0
+	unset RUMP_SERVER
+}
+
+setup()
+{
+	inet=true
+
+	if [ $# -ne 0 ]; then
+		eval $@
+	fi
+
+	rump_server_start $SERVER netinet6 pppoe
+	rump_server_start $CLIENT netinet6 pppoe
+
+	setup_ifaces
+
+	export RUMP_SERVER=$SERVER
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	unset RUMP_SERVER
+
+	export RUMP_SERVER=$CLIENT
 	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
 	unset RUMP_SERVER
 }
@@ -426,10 +438,290 @@ pppoe6_chap_cleanup()
 	cleanup
 }
 
+atf_test_case pppoe_params cleanup
+
+dump_bus()
+{
+
+	shmif_dumpbus -p - ${BUS} | tcpdump -n -e -r -
+}
+
+setup_auth_conf()
+{
+	local auth=chap
+
+	export RUMP_SERVER=$SERVER
+	local setup_serverparam="pppoectl pppoe0 hisauthproto=$auth \
+				    'hisauthname=$AUTHNAME' \
+				    'hisauthsecret=$SECRET' \
+				    'myauthproto=none' \
+				    $server_optparam"
+
+	atf_check -s exit:0 rump.ifconfig pppoe0 link0
+	atf_check -s exit:0 -x "$HIJACKING $setup_serverparam"
+	unset RUMP_SERVER
+
+	local setup_clientparam="pppoectl pppoe0 myauthproto=$auth \
+				    'myauthname=$AUTHNAME' \
+				    'myauthsecret=$SECRET' \
+				    'hisauthproto=none'"
+
+	export RUMP_SERVER=$CLIENT
+	$inet && atf_check -s exit:0 rump.ifconfig pppoe0 \
+	    inet 0.0.0.0 0.0.0.1 down
+	atf_check -s exit:0 -x "$HIJACKING $setup_clientparam"
+	$DEBUG && rump.ifconfig
+	unset RUMP_SERVER
+}
+
+pppoe_params_head()
+{
+	atf_set "descr" "Set and clear access concentrator name and service name"
+	atf_set "require.progs" "rump_server pppoectl"
+}
+
+pppoe_params_body()
+{
+	local dumpcmd
+
+	dumpcmd="shmif_dumpbus -p - ${BUS}"
+	dumpcmd="${dumpcmd} | tcpdump -n -e -r -"
+
+	rump_server_start $SERVER netinet6 pppoe
+	rump_server_start $CLIENT netinet6 pppoe
+
+	setup_ifaces
+	setup_auth_conf
+
+	export RUMP_SERVER=$SERVER
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	unset RUMP_SERVER
+
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+	atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+
+	# set Remote access concentrator name (AC-NAME, -a option)
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 -a ACNAME-TEST0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[AC-Name "ACNAME-TEST0"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+
+	# change AC-NAME
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 -a ACNAME-TEST1 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[AC-Name "ACNAME-TEST1"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+
+	# clear AC-NAME
+	rump_server_destroy_ifaces
+	rm ${BUS} 2> /dev/null
+	setup_ifaces
+	setup_auth_conf
+
+	export RUMP_SERVER=$SERVER
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	unset RUMP_SERVER
+
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -a ACNAME-TEST2 -e shmif0 pppoe0"
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -a \"\" -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+	atf_check -s exit:0 -o match:'\[AC-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+
+	# set Service Name (Service-Name, -s option)
+	rump_server_destroy_ifaces
+	rm ${BUS} 2> /dev/null
+	setup_ifaces
+	setup_auth_conf
+
+	export RUMP_SERVER=$SERVER
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	unset RUMP_SERVER
+
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 -s SNAME-TEST0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST0"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST0"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+	atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+
+	# change Service-Name
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 -s SNAME-TEST1 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST1"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST1"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+
+	# clear Service-Name
+	rump_server_destroy_ifaces
+	rm ${BUS} 2> /dev/null
+	setup_ifaces
+	setup_auth_conf
+
+	export RUMP_SERVER=$SERVER
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	unset RUMP_SERVER
+
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -s SNAME-TEST2 -e shmif0 pppoe0"
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -s \"\" -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+	atf_check -s exit:0 -o not-match:'AC-Name' -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+
+	# set AC-NAME and Service-Name
+	rump_server_destroy_ifaces
+	rm ${BUS} 2> /dev/null
+	setup_ifaces
+	setup_auth_conf
+
+	export RUMP_SERVER=$SERVER
+	atf_check -s exit:0 -x "$HIJACKING pppoectl -e shmif0 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	unset RUMP_SERVER
+
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x \
+	    "$HIJACKING pppoectl -e shmif0 -a ACNAME-TEST3 -s SNAME-TEST3 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 \
+	    -o match:'\[Service-Name "SNAME-TEST3"\] \[AC-Name "ACNAME-TEST3"\]' \
+	    -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST3"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+
+	# change AC-NAME
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x \
+	    "$HIJACKING pppoectl -e shmif0 -a ACNAME-TEST4 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 \
+	    -o match:'\[Service-Name "SNAME-TEST3"\] \[AC-Name "ACNAME-TEST4"\]' \
+	    -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST3"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+
+	# change Service-Name
+	export RUMP_SERVER=$CLIENT
+	atf_check -s exit:0 rump.ifconfig pppoe0 down
+	wait_for_disconnected
+	atf_check -s exit:0 -x \
+	    "$HIJACKING pppoectl -e shmif0 -s SNAME-TEST4 pppoe0"
+	atf_check -s exit:0 rump.ifconfig pppoe0 up
+	$DEBUG && rump.ifconfig
+	wait_for_session_established
+	unset RUMP_SERVER
+
+	$DEBUG && dump_bus
+	atf_check -s exit:0 \
+	    -o match:'\[Service-Name "SNAME-TEST4"\] \[AC-Name "ACNAME-TEST4"\]' \
+	    -e ignore \
+	    -x "${dumpcmd} | grep PADI"
+	atf_check -s exit:0 -o match:'\[Service-Name "SNAME-TEST3"\]' -e ignore \
+	    -x "${dumpcmd} | grep PADR"
+}
+
+pppoe_params_cleanup()
+{
+
+	$DEBUG && dump
+	cleanup
+}
 atf_init_test_cases()
 {
 
 	atf_add_test_case pppoe_create_destroy
+	atf_add_test_case pppoe_params
 	atf_add_test_case pppoe_pap
 	atf_add_test_case pppoe_chap
 	atf_add_test_case pppoe6_pap

Reply via email to