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