Module Name:    src
Committed By:   ozaki-r
Date:           Wed May 10 08:59:40 UTC 2017

Modified Files:
        src/tests/net/ipsec: t_ipsec_tunnel.sh

Log Message:
Dedup some routines


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/tests/net/ipsec/t_ipsec_tunnel.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/ipsec/t_ipsec_tunnel.sh
diff -u src/tests/net/ipsec/t_ipsec_tunnel.sh:1.5 src/tests/net/ipsec/t_ipsec_tunnel.sh:1.6
--- src/tests/net/ipsec/t_ipsec_tunnel.sh:1.5	Wed May 10 04:46:13 2017
+++ src/tests/net/ipsec/t_ipsec_tunnel.sh	Wed May 10 08:59:40 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: t_ipsec_tunnel.sh,v 1.5 2017/05/10 04:46:13 ozaki-r Exp $
+#	$NetBSD: t_ipsec_tunnel.sh,v 1.6 2017/05/10 08:59:40 ozaki-r Exp $
 #
 # Copyright (c) 2017 Internet Initiative Japan Inc.
 # All rights reserved.
@@ -35,6 +35,33 @@ BUS_REMOTE=./bus_ipsec_remote
 
 DEBUG=${DEBUG:-false}
 
+setup_servers()
+{
+
+	# See https://www.netbsd.org/docs/network/ipsec/#sample_vpn
+	rump_server_crypto_start $SOCK_LOCAL netinet6
+	rump_server_crypto_start $SOCK_TUNNEL_LOCAL netipsec netinet6
+	rump_server_crypto_start $SOCK_TUNNEL_REMOTE netipsec netinet6
+	rump_server_crypto_start $SOCK_REMOTE netinet6
+	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS_LOCAL
+	rump_server_add_iface $SOCK_TUNNEL_LOCAL shmif0 $BUS_LOCAL
+	rump_server_add_iface $SOCK_TUNNEL_LOCAL shmif1 $BUS_TUNNEL
+	rump_server_add_iface $SOCK_TUNNEL_REMOTE shmif0 $BUS_REMOTE
+	rump_server_add_iface $SOCK_TUNNEL_REMOTE shmif1 $BUS_TUNNEL
+	rump_server_add_iface $SOCK_REMOTE shmif0 $BUS_REMOTE
+}
+
+check_tunnel_packets()
+{
+	local outfile=$1
+	local src=$2
+	local dst=$3
+	local proto=$4
+
+	atf_check -s exit:0 -o match:"$src > $dst: $proto" cat $outfile
+	atf_check -s exit:0 -o match:"$dst > $src: $proto" cat $outfile
+}
+
 test_ipsec4_tunnel()
 {
 	local proto=$1
@@ -61,17 +88,7 @@ test_ipsec4_tunnel()
 		proto_cap=AH
 	fi
 
-	# See https://www.netbsd.org/docs/network/ipsec/#sample_vpn
-	rump_server_crypto_start $SOCK_LOCAL
-	rump_server_crypto_start $SOCK_TUNNEL_LOCAL netipsec
-	rump_server_crypto_start $SOCK_TUNNEL_REMOTE netipsec
-	rump_server_crypto_start $SOCK_REMOTE
-	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS_LOCAL
-	rump_server_add_iface $SOCK_TUNNEL_LOCAL shmif0 $BUS_LOCAL
-	rump_server_add_iface $SOCK_TUNNEL_LOCAL shmif1 $BUS_TUNNEL
-	rump_server_add_iface $SOCK_TUNNEL_REMOTE shmif0 $BUS_REMOTE
-	rump_server_add_iface $SOCK_TUNNEL_REMOTE shmif1 $BUS_TUNNEL
-	rump_server_add_iface $SOCK_REMOTE shmif0 $BUS_REMOTE
+	setup_servers
 
 	export RUMP_SERVER=$SOCK_LOCAL
 	atf_check -s exit:0 rump.ifconfig shmif0 $ip_local/24
@@ -145,12 +162,8 @@ test_ipsec4_tunnel()
 	atf_check -s exit:0 -o ignore rump.ping -c 1 -n -w 3 $ip_remote
 
 	extract_new_packets $BUS_TUNNEL > $outfile
-	atf_check -s exit:0 \
-	    -o match:"$ip_gw_local_tunnel > $ip_gw_remote_tunnel: $proto_cap" \
-	    cat $outfile
-	atf_check -s exit:0 \
-	    -o match:"$ip_gw_remote_tunnel > $ip_gw_local_tunnel: $proto_cap" \
-	    cat $outfile
+	check_tunnel_packets $outfile $ip_gw_local_tunnel $ip_gw_remote_tunnel \
+	    $proto_cap
 
 	test_flush_entries $SOCK_TUNNEL_LOCAL
 	test_flush_entries $SOCK_TUNNEL_REMOTE
@@ -182,16 +195,7 @@ test_ipsec6_tunnel()
 		proto_cap=AH
 	fi
 
-	rump_server_crypto_start $SOCK_LOCAL netinet6
-	rump_server_crypto_start $SOCK_TUNNEL_LOCAL netipsec netinet6
-	rump_server_crypto_start $SOCK_TUNNEL_REMOTE netipsec netinet6
-	rump_server_crypto_start $SOCK_REMOTE netinet6
-	rump_server_add_iface $SOCK_LOCAL shmif0 $BUS_LOCAL
-	rump_server_add_iface $SOCK_TUNNEL_LOCAL shmif0 $BUS_LOCAL
-	rump_server_add_iface $SOCK_TUNNEL_LOCAL shmif1 $BUS_TUNNEL
-	rump_server_add_iface $SOCK_TUNNEL_REMOTE shmif0 $BUS_REMOTE
-	rump_server_add_iface $SOCK_TUNNEL_REMOTE shmif1 $BUS_TUNNEL
-	rump_server_add_iface $SOCK_REMOTE shmif0 $BUS_REMOTE
+	setup_servers
 
 	export RUMP_SERVER=$SOCK_LOCAL
 	atf_check -s exit:0 rump.ifconfig shmif0 inet6 $ip_local/64
@@ -265,12 +269,8 @@ test_ipsec6_tunnel()
 	atf_check -s exit:0 -o ignore rump.ping6 -c 1 -n -X 3 $ip_remote
 
 	extract_new_packets $BUS_TUNNEL > $outfile
-	atf_check -s exit:0 \
-	    -o match:"$ip_gw_local_tunnel > $ip_gw_remote_tunnel: $proto_cap" \
-	    cat $outfile
-	atf_check -s exit:0 \
-	    -o match:"$ip_gw_remote_tunnel > $ip_gw_local_tunnel: $proto_cap" \
-	    cat $outfile
+	check_tunnel_packets $outfile $ip_gw_local_tunnel $ip_gw_remote_tunnel \
+	    $proto_cap
 
 	test_flush_entries $SOCK_TUNNEL_LOCAL
 	test_flush_entries $SOCK_TUNNEL_REMOTE

Reply via email to