summaryrefslogtreecommitdiff
path: root/regress/sys/netinet/ipsec/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'regress/sys/netinet/ipsec/Makefile')
-rw-r--r--regress/sys/netinet/ipsec/Makefile404
1 files changed, 271 insertions, 133 deletions
diff --git a/regress/sys/netinet/ipsec/Makefile b/regress/sys/netinet/ipsec/Makefile
index f054455482c..00a3b08eee5 100644
--- a/regress/sys/netinet/ipsec/Makefile
+++ b/regress/sys/netinet/ipsec/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.4 2017/02/08 23:09:28 bluhm Exp $
+# $OpenBSD: Makefile,v 1.5 2017/02/13 17:54:27 bluhm Exp $
# This test needs a manual setup of four machines, the make
# target create-setup can be used distribute the configuration.
@@ -27,6 +27,9 @@
# +---+ 458 5 +---+ cd +---+ ef +---+
# out in out in out in
#
+# The encapsulation is chosen by the digit before
+# 0,1 ESP
+# 2,3 AH
PREFIX_IPV4 ?= 10.188.1
PREFIX_IPV6 ?= fdd7:e83e:66bc:1
@@ -39,21 +42,31 @@ PREFIX_IPV6 ?= fdd7:e83e:66bc:1
SRC_OUT_IPV4 ?= ${PREFIX_IPV4}00.17
SRC_OUT_IPV6 ?= ${PREFIX_IPV6}00::17
-SRC_TRANSP_IPV4 ?= ${PREFIX_IPV4}05.17
-SRC_TRANSP_IPV6 ?= ${PREFIX_IPV6}04::17
-SRC_TUNNEL_IPV4 ?= ${PREFIX_IPV4}08.17
-SRC_TUNNEL_IPV6 ?= ${PREFIX_IPV6}08::17
+SRC_ESP_TRANSP_IPV4 ?= ${PREFIX_IPV4}05.17
+SRC_ESP_TRANSP_IPV6 ?= ${PREFIX_IPV6}04::17
+SRC_ESP_TUNNEL_IPV4 ?= ${PREFIX_IPV4}08.17
+SRC_ESP_TUNNEL_IPV6 ?= ${PREFIX_IPV6}08::17
+SRC_AH_TRANSP_IPV4 ?= ${PREFIX_IPV4}25.17
+SRC_AH_TRANSP_IPV6 ?= ${PREFIX_IPV6}24::17
+SRC_AH_TUNNEL_IPV4 ?= ${PREFIX_IPV4}28.17
+SRC_AH_TUNNEL_IPV6 ?= ${PREFIX_IPV6}28::17
IPS_IN_IPV4 ?= ${PREFIX_IPV4}00.70
IPS_IN_IPV6 ?= ${PREFIX_IPV6}00::70
IPS_OUT_IPV4 ?= ${PREFIX_IPV4}01.70
IPS_OUT_IPV6 ?= ${PREFIX_IPV6}01::70
-IPS_TRANSP_IPV4 ?= ${PREFIX_IPV4}05.70
-IPS_TRANSP_IPV6 ?= ${PREFIX_IPV6}05::70
-IPS_TUNNEL4_IPV4 ?= ${PREFIX_IPV4}12.70
-IPS_TUNNEL4_IPV6 ?= ${PREFIX_IPV6}0c::70
-IPS_TUNNEL6_IPV4 ?= ${PREFIX_IPV4}13.70
-IPS_TUNNEL6_IPV6 ?= ${PREFIX_IPV6}0d::70
+IPS_ESP_TRANSP_IPV4 ?= ${PREFIX_IPV4}05.70
+IPS_ESP_TRANSP_IPV6 ?= ${PREFIX_IPV6}05::70
+IPS_ESP_TUNNEL4_IPV4 ?= ${PREFIX_IPV4}12.70
+IPS_ESP_TUNNEL4_IPV6 ?= ${PREFIX_IPV6}0c::70
+IPS_ESP_TUNNEL6_IPV4 ?= ${PREFIX_IPV4}13.70
+IPS_ESP_TUNNEL6_IPV6 ?= ${PREFIX_IPV6}0d::70
+IPS_AH_TRANSP_IPV4 ?= ${PREFIX_IPV4}25.70
+IPS_AH_TRANSP_IPV6 ?= ${PREFIX_IPV6}25::70
+IPS_AH_TUNNEL4_IPV4 ?= ${PREFIX_IPV4}32.70
+IPS_AH_TUNNEL4_IPV6 ?= ${PREFIX_IPV6}2c::70
+IPS_AH_TUNNEL6_IPV4 ?= ${PREFIX_IPV4}33.70
+IPS_AH_TUNNEL6_IPV6 ?= ${PREFIX_IPV6}2d::70
RT_IN_IPV4 ?= ${PREFIX_IPV4}01.71
RT_IN_IPV6 ?= ${PREFIX_IPV6}01::71
@@ -62,10 +75,14 @@ RT_OUT_IPV6 ?= ${PREFIX_IPV6}02::71
ECO_IN_IPV4 ?= ${PREFIX_IPV4}02.72
ECO_IN_IPV6 ?= ${PREFIX_IPV6}02::72
-ECO_TUNNEL4_IPV4 ?= ${PREFIX_IPV4}14.72
-ECO_TUNNEL4_IPV6 ?= ${PREFIX_IPV6}0e::72
-ECO_TUNNEL6_IPV4 ?= ${PREFIX_IPV4}15.72
-ECO_TUNNEL6_IPV6 ?= ${PREFIX_IPV6}0f::72
+ECO_ESP_TUNNEL4_IPV4 ?= ${PREFIX_IPV4}14.72
+ECO_ESP_TUNNEL4_IPV6 ?= ${PREFIX_IPV6}0e::72
+ECO_ESP_TUNNEL6_IPV4 ?= ${PREFIX_IPV4}15.72
+ECO_ESP_TUNNEL6_IPV6 ?= ${PREFIX_IPV6}0f::72
+ECO_AH_TUNNEL4_IPV4 ?= ${PREFIX_IPV4}34.72
+ECO_AH_TUNNEL4_IPV6 ?= ${PREFIX_IPV6}2e::72
+ECO_AH_TUNNEL6_IPV4 ?= ${PREFIX_IPV4}35.72
+ECO_AH_TUNNEL6_IPV6 ?= ${PREFIX_IPV6}2f::72
# Configure Addresses on the machines, there must be routes for the
# networks. Adapt interface and addresse variables to your local
@@ -114,11 +131,14 @@ addr.py: Makefile
.endfor
.endfor
.endfor
-.for host dir in SRC TRANSP SRC TUNNEL \
+.for sec in ESP AH
+.for host mode in SRC TRANSP SRC TUNNEL \
IPS TRANSP IPS TUNNEL4 IPS TUNNEL6 \
ECO TUNNEL4 ECO TUNNEL6
.for ipv in IPV4 IPV6
- echo '${host}_${dir}_${ipv}="${${host}_${dir}_${ipv}}"' >>$@.tmp
+ echo '${host}_${sec}_${mode}_${ipv}="${${host}_${sec}_${mode}_${ipv}}"'\
+ >>$@.tmp
+.endfor
.endfor
.endfor
mv $@.tmp $@
@@ -139,59 +159,79 @@ stamp-ipsec: addr.py ipsec.conf
# Ping all addresses. This ensures that the IP addresses are configured
# and all routing table are set up to allow bidirectional packet flow.
-run-regress-ping-IPS_TRANSP_IPV6:
+.for host dir in SRC OUT IPS IN IPS OUT RT IN RT OUT ECO IN
+.for ping ipv in ping IPV4 ping6 IPV6
+TARGETS += ping-${host}_${dir}_${ipv}
+run-regress-ping-${host}_${dir}_${ipv}:
+ @echo '\n======== $@ ========'
+ ${ping} -n -c 1 -w 2 ${${host}_${dir}_${ipv}}
+.endfor
+.endfor
+
+.for sec in ESP AH
+
+run-regress-ping-IPS_${sec}_TRANSP_IPV6:
@echo '\n======== $@ ========'
@echo 'IPv6 IPsec input does not filter enc0 interface with pf. Echo'
@echo 'request does not create state and echo reply does not pass pf.'
@echo DISABLED
-run-regress-tcp-IPS_TRANSP_IPV6:
+run-regress-tcp-IPS_${sec}_TRANSP_IPV6:
@echo '\n======== $@ ========'
@echo 'IPv6 IPsec input does not filter enc0 interface with pf. TCP'
@echo 'SYN does not create state and SYN+ACK does not pass pf.'
@echo DISABLED
-.for host dir in SRC OUT SRC TRANSP SRC TUNNEL \
- IPS IN IPS OUT IPS TRANSP IPS TUNNEL4 IPS TUNNEL6 \
- RT IN RT OUT \
- ECO IN ECO TUNNEL4 ECO TUNNEL6
+.for host mode in SRC TRANSP SRC TUNNEL \
+ IPS TRANSP IPS TUNNEL4 IPS TUNNEL6 \
+ ECO TUNNEL4 ECO TUNNEL6
.for ping ipv in ping IPV4 ping6 IPV6
-TARGETS += ping-${host}_${dir}_${ipv}
-run-regress-ping-${host}_${dir}_${ipv}:
+TARGETS += ping-${host}_${sec}_${mode}_${ipv}
+run-regress-ping-${host}_${sec}_${mode}_${ipv}:
@echo '\n======== $@ ========'
- netstat -s -p esp | awk '/input ESP /{print $$1}' >esp.in
- netstat -s -p esp | awk '/output ESP /{print $$1}' >esp.out
- ${ping} -n -c 1 -w 2 ${${host}_${dir}_${ipv}}
-.if "${host}" != SRC && "${dir}" != IN && "${dir}" != OUT
- netstat -s -p esp | awk '/input ESP /{print $$1-1}' | diff esp.in -
- netstat -s -p esp | awk '/output ESP /{print $$1-1}' | diff esp.out -
+ netstat -s -p ${sec:L} | awk '/input ${sec} /{print $$1}' >pkt.in
+ netstat -s -p ${sec:L} | awk '/output ${sec} /{print $$1}' >pkt.out
+ ${ping} -n -c 1 -w 2 ${${host}_${sec}_${mode}_${ipv}}
+.if "${host}" != SRC
+ netstat -s -p ${sec:L} | awk '/input ${sec} /{print $$1-1}' |\
+ diff pkt.in -
+ netstat -s -p ${sec:L} | awk '/output ${sec} /{print $$1-1}' |\
+ diff pkt.out -
.endif
.endfor
.endfor
-.for host dir in IPS TRANSP IPS TUNNEL4 IPS TUNNEL6 \
+.for host mode in IPS TRANSP IPS TUNNEL4 IPS TUNNEL6 \
ECO TUNNEL4 ECO TUNNEL6
.for ipv in IPV4 IPV6
-TARGETS += udp-${host}_${dir}_${ipv}
-run-regress-udp-${host}_${dir}_${ipv}:
+TARGETS += udp-${host}_${sec}_${mode}_${ipv}
+run-regress-udp-${host}_${sec}_${mode}_${ipv}:
@echo '\n======== $@ ========'
- netstat -s -p esp | awk '/input ESP /{print $$1}' >esp.in
- netstat -s -p esp | awk '/output ESP /{print $$1}' >esp.out
- echo $$$$ | nc -n -u -w 1 ${${host}_${dir}_${ipv}} 7 | fgrep $$$$
- netstat -s -p esp | awk '/input ESP /{print $$1-1}' | diff esp.in -
- netstat -s -p esp | awk '/output ESP /{print $$1-1}' | diff esp.out -
-
-TARGETS += tcp-${host}_${dir}_${ipv}
-run-regress-tcp-${host}_${dir}_${ipv}:
+ netstat -s -p ${sec:L} | awk '/input ${sec} /{print $$1}' >pkt.in
+ netstat -s -p ${sec:L} | awk '/output ${sec} /{print $$1}' >pkt.out
+ echo $$$$ | nc -n -u -w 1 ${${host}_${sec}_${mode}_${ipv}} 7 |\
+ fgrep $$$$
+ netstat -s -p ${sec:L} | awk '/input ${sec} /{print $$1-1}' |\
+ diff pkt.in -
+ netstat -s -p ${sec:L} | awk '/output ${sec} /{print $$1-1}' |\
+ diff pkt.out -
+
+TARGETS += tcp-${host}_${sec}_${mode}_${ipv}
+run-regress-tcp-${host}_${sec}_${mode}_${ipv}:
@echo '\n======== $@ ========'
- netstat -s -p esp | awk '/input ESP /{print $$1}' >esp.in
- netstat -s -p esp | awk '/output ESP /{print $$1}' >esp.out
- echo $$$$ | nc -n -N -w 3 ${${host}_${dir}_${ipv}} 7 | fgrep $$$$
- netstat -s -p esp | awk '/input ESP /{print $$1-4}' | diff esp.in -
- netstat -s -p esp | awk '/output ESP /{print $$1-6}' | diff esp.out -
+ netstat -s -p ${sec:L} | awk '/input ${sec} /{print $$1}' >pkt.in
+ netstat -s -p ${sec:L} | awk '/output ${sec} /{print $$1}' >pkt.out
+ echo $$$$ | nc -n -N -w 3 ${${host}_${sec}_${mode}_${ipv}} 7 |\
+ fgrep $$$$
+ netstat -s -p ${sec:L} | awk '/input ${sec} /{print $$1-4}' |\
+ diff pkt.in -
+ netstat -s -p ${sec:L} | awk '/output ${sec} /{print $$1-6}' |\
+ diff pkt.out -
.endfor
.endfor
+.endfor
+
REGRESS_TARGETS = ${TARGETS:S/^/run-regress-/}
${REGRESS_TARGETS}: stamp-ipsec
@@ -207,32 +247,41 @@ etc/hostname.${SRC_OUT_IF}: Makefile
mkdir -p ${@:H}
rm -f $@ $@.tmp
echo '### regress ipsec $@' >$@.tmp
-.for dir in OUT TRANSP TUNNEL
- echo '# SRC_${dir}' >>$@.tmp
+ echo '# SRC_OUT' >>$@.tmp
+.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
+ echo '${inet} alias ${SRC_OUT_${ipv}} ${masklen}' >>$@.tmp
+.endfor
+.for sec in ESP AH
+ echo '## SRC_${sec}' >>$@.tmp
+.for mode in TRANSP TUNNEL
+ echo '# SRC_${sec}_${mode}' >>$@.tmp
.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
- echo '${inet} alias ${SRC_${dir}_${ipv}} ${masklen}' >>$@.tmp
+ echo '${inet} alias ${SRC_${sec}_${mode}_${ipv}} ${masklen}' >>$@.tmp
.endfor
.endfor
- echo '# IPS_TRANSP_IPV6/64 IPS_IN_IPV6' >>$@.tmp
- echo '!route -q delete -inet6 ${IPS_TRANSP_IPV6}/64' >>$@.tmp
- echo '!route add -inet6 ${IPS_TRANSP_IPV6}/64 ${IPS_IN_IPV6}' >>$@.tmp
+ echo '# IPS_${sec}_TRANSP_IPV6/64 IPS_IN_IPV6' >>$@.tmp
+ echo '!route -q delete -inet6 ${IPS_${sec}_TRANSP_IPV6}/64' >>$@.tmp
+ echo '!route add -inet6 ${IPS_${sec}_TRANSP_IPV6}/64 ${IPS_IN_IPV6}'\
+ >>$@.tmp
.for host dir in RT IN ECO IN
echo '# ${host}_${dir}/pfxlen IPS_IN' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
echo '!route -q delete -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}'\
>>$@.tmp
- echo '!route add -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}'\
- ${IPS_IN_${ipv}} >>$@.tmp
+ echo '!route add -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}\
+ ${IPS_IN_${ipv}}' >>$@.tmp
.endfor
.endfor
.for host in IPS ECO
-.for dir in TUNNEL4 TUNNEL6
- echo '# ${host}_${dir}/pfxlen reject ${SRC_TUNNEL_${ipv}}' >>$@.tmp
+.for mode in TUNNEL4 TUNNEL6
+ echo '# ${host}_${sec}_${mode}/pfxlen reject\
+ ${SRC_${sec}_TUNNEL_${ipv}}' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}'\
- >>$@.tmp
- echo '!route add -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}'\
- -reject ${SRC_TUNNEL_${ipv}} >>$@.tmp
+ echo '!route -q delete -${inet}\
+ ${${host}_${sec}_${mode}_${ipv}}/${pfxlen}' >>$@.tmp
+ echo '!route add -${inet} ${${host}_${sec}_${mode}_${ipv}}/${pfxlen}\
+ -reject ${SRC_${sec}_TUNNEL_${ipv}}' >>$@.tmp
+.endfor
.endfor
.endfor
.endfor
@@ -242,22 +291,28 @@ ${IPS_SSH}/hostname.${IPS_IN_IF}: Makefile
mkdir -p ${@:H}
rm -f $@ $@.tmp
echo '### regress ipsec $@' >$@.tmp
-.for dir in IN TRANSP
- echo '# IPS_${dir}' >>$@.tmp
+ echo '# IPS_IN' >>$@.tmp
.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
- echo '${inet} alias ${IPS_${dir}_${ipv}} ${masklen}' >>$@.tmp
+ echo '${inet} alias ${IPS_IN_${ipv}} ${masklen}' >>$@.tmp
.endfor
+.for sec in ESP AH
+ echo '## IPS_${sec}' >>$@.tmp
+ echo '# IPS_${sec}_TRANSP' >>$@.tmp
+.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
+ echo '${inet} alias ${IPS_${sec}_TRANSP_${ipv}} ${masklen}' >>$@.tmp
.endfor
- echo '# SRC_TRANSP_IPV6/64 SRC_OUT_IPV6' >>$@.tmp
- echo '!route -q delete -inet6 ${SRC_TRANSP_IPV6}/64' >>$@.tmp
- echo '!route add -inet6 ${SRC_TRANSP_IPV6}/64 ${SRC_OUT_IPV6}' >>$@.tmp
-.for host dir in SRC TUNNEL
- echo '# ${host}_${dir}/pfxlen reject ${IPS_IN_${ipv}}' >>$@.tmp
-.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}'\
+ echo '# SRC_${sec}_TRANSP_IPV6/64 SRC_OUT_IPV6' >>$@.tmp
+ echo '!route -q delete -inet6 ${SRC_${sec}_TRANSP_IPV6}/64' >>$@.tmp
+ echo '!route add -inet6 ${SRC_${sec}_TRANSP_IPV6}/64 ${SRC_OUT_IPV6}'\
>>$@.tmp
- echo '!route add -${inet} ${${host}_${dir}_${ipv}}/${pfxlen}'\
- -reject ${IPS_IN_${ipv}} >>$@.tmp
+.for mode in TUNNEL
+ echo '# SRC_${sec}_${mode}/pfxlen reject ${IPS_IN_${ipv}}' >>$@.tmp
+.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
+ echo '!route -q delete -${inet}\
+ ${SRC_${sec}_${mode}_${ipv}}/${pfxlen}' >>$@.tmp
+ echo '!route add -${inet} ${SRC_${sec}_${mode}_${ipv}}/${pfxlen}\
+ -reject ${IPS_IN_${ipv}}' >>$@.tmp
+.endfor
.endfor
.endfor
mv $@.tmp $@
@@ -267,19 +322,33 @@ ${IPS_SSH}/hostname.${IPS_OUT_IF}: Makefile
mkdir -p ${@:H}
rm -f $@ $@.tmp
echo '### regress ipsec $@' >$@.tmp
-.for dir in OUT TUNNEL4 TUNNEL6
- echo '# IPS_${dir}' >>$@.tmp
+ echo '# IPS_OUT' >>$@.tmp
.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
- echo '${inet} alias ${IPS_${dir}_${ipv}} ${masklen}' >>$@.tmp
-.endfor
+ echo '${inet} alias ${IPS_OUT_${ipv}} ${masklen}' >>$@.tmp
.endfor
-.for dir in IN TUNNEL4 TUNNEL6
- echo '# ECO_${dir}/pfxlen RT_IN' >>$@.tmp
+ echo '# ECO_IN/pfxlen RT_IN' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${ECO_${dir}_${ipv}}/${pfxlen}'\
+ echo '!route -q delete -${inet} ${ECO_IN_${ipv}}/${pfxlen}'\
>>$@.tmp
- echo '!route add -${inet} ${ECO_${dir}_${ipv}}/${pfxlen}'\
- ${RT_IN_${ipv}} >>$@.tmp
+ echo '!route add -${inet} ${ECO_IN_${ipv}}/${pfxlen} ${RT_IN_${ipv}}'\
+ >>$@.tmp
+.endfor
+.for sec in ESP AH
+ echo '## IPS_${sec}' >>$@.tmp
+.for mode in TUNNEL4 TUNNEL6
+ echo '# IPS_${sec}_${mode}' >>$@.tmp
+.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
+ echo '${inet} alias ${IPS_${sec}_${mode}_${ipv}} ${masklen}' >>$@.tmp
+.endfor
+.endfor
+.for mode in TUNNEL4 TUNNEL6
+ echo '# ECO_${sec}_${mode}/pfxlen RT_IN' >>$@.tmp
+.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
+ echo '!route -q delete -${inet}\
+ ${ECO_${sec}_${mode}_${ipv}}/${pfxlen}' >>$@.tmp
+ echo '!route add -${inet} ${ECO_${sec}_${mode}_${ipv}}/${pfxlen}\
+ ${RT_IN_${ipv}}' >>$@.tmp
+.endfor
.endfor
.endfor
mv $@.tmp $@
@@ -293,14 +362,24 @@ ${RT_SSH}/hostname.${RT_IN_IF}: Makefile
.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
echo '${inet} alias ${RT_IN_${ipv}} ${masklen}' >>$@.tmp
.endfor
-.for dir in OUT TUNNEL
- echo '# SRC_${dir}/pfxlen IPS_OUT' >>$@.tmp
+ echo '# SRC_OUT/pfxlen IPS_OUT' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${SRC_${dir}_${ipv}}/${pfxlen}'\
+ echo '!route -q delete -${inet} ${SRC_OUT_${ipv}}/${pfxlen}'\
>>$@.tmp
- echo '!route add -${inet} ${SRC_${dir}_${ipv}}/${pfxlen}'\
+ echo '!route add -${inet} ${SRC_OUT_${ipv}}/${pfxlen}'\
${IPS_OUT_${ipv}} >>$@.tmp
.endfor
+.for sec in ESP AH
+ echo '## IPS_${sec}' >>$@.tmp
+.for mode in TUNNEL
+ echo '# SRC_${mode}/pfxlen IPS_OUT' >>$@.tmp
+.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
+ echo '!route -q delete -${inet} ${SRC_${sec}_${mode}_${ipv}}/${pfxlen}'\
+ >>$@.tmp
+ echo '!route add -${inet} ${SRC_${sec}_${mode}_${ipv}}/${pfxlen}\
+ ${IPS_OUT_${ipv}}' >>$@.tmp
+.endfor
+.endfor
.endfor
mv $@.tmp $@
@@ -313,13 +392,16 @@ ${RT_SSH}/hostname.${RT_OUT_IF}: Makefile
.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
echo '${inet} alias ${RT_OUT_${ipv}} ${masklen}' >>$@.tmp
.endfor
-.for dir in TUNNEL4 TUNNEL6
- echo '# ECO_${dir}/pfxlen ECO_IN' >>$@.tmp
+.for sec in ESP AH
+ echo '## IPS_${sec}' >>$@.tmp
+.for mode in TUNNEL4 TUNNEL6
+ echo '# ECO_${sec}_${mode}/pfxlen ECO_IN' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${ECO_${dir}_${ipv}}/${pfxlen}'\
- >>$@.tmp
- echo '!route add -${inet} ${ECO_${dir}_${ipv}}/${pfxlen}'\
- ${ECO_IN_${ipv}} >>$@.tmp
+ echo '!route -q delete -${inet}\
+ ${ECO_${sec}_${mode}_${ipv}}/${pfxlen}' >>$@.tmp
+ echo '!route add -${inet} ${ECO_${sec}_${mode}_${ipv}}/${pfxlen}\
+ ${ECO_IN_${ipv}}' >>$@.tmp
+.endfor
.endfor
.endfor
mv $@.tmp $@
@@ -329,26 +411,35 @@ ${ECO_SSH}/hostname.${ECO_IN_IF}: Makefile
mkdir -p ${@:H}
rm -f $@ $@.tmp
echo '### regress ipsec $@' >$@.tmp
-.for dir in IN TUNNEL4 TUNNEL6
- echo '# ECO_${dir}' >>$@.tmp
+ echo '# ECO_IN' >>$@.tmp
.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
- echo '${inet} alias ${ECO_${dir}_${ipv}} ${masklen}' >>$@.tmp
+ echo '${inet} alias ${ECO_IN_${ipv}} ${masklen}' >>$@.tmp
.endfor
-.endfor
- echo '# IPS_OUT/pfxlen RT_OUT' >>$@.tmp
+.for host in IPS SRC
+ echo '# ${host}_OUT/pfxlen RT_OUT' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${IPS_OUT_${ipv}}/${pfxlen}'\
+ echo '!route -q delete -${inet} ${${host}_OUT_${ipv}}/${pfxlen}'\
>>$@.tmp
- echo '!route add -${inet} ${IPS_OUT_${ipv}}/${pfxlen}'\
- ${RT_OUT_${ipv}} >>$@.tmp
+ echo '!route add -${inet} ${${host}_OUT_${ipv}}/${pfxlen}\
+ ${RT_OUT_${ipv}}' >>$@.tmp
+.endfor
+.endfor
+.for sec in ESP AH
+ echo '## IPS_${sec}' >>$@.tmp
+.for mode in TUNNEL4 TUNNEL6
+ echo '# ECO_${sec}_${mode}' >>$@.tmp
+.for inet ipv masklen in inet IPV4 255.255.255.0 inet6 IPV6 64
+ echo '${inet} alias ${ECO_${sec}_${mode}_${ipv}} ${masklen}' >>$@.tmp
.endfor
-.for dir in OUT TUNNEL
- echo '# SRC_${dir}/pfxlen RT_OUT' >>$@.tmp
+.endfor
+.for mode in TUNNEL
+ echo '# SRC_${sec}_${mode}/pfxlen RT_OUT' >>$@.tmp
.for inet ipv pfxlen in inet IPV4 24 inet6 IPV6 64
- echo '!route -q delete -${inet} ${SRC_${dir}_${ipv}}/${pfxlen}'\
- >>$@.tmp
- echo '!route add -${inet} ${SRC_${dir}_${ipv}}/${pfxlen}'\
- ${RT_OUT_${ipv}} >>$@.tmp
+ echo '!route -q delete -${inet}\
+ ${SRC_${sec}_${mode}_${ipv}}/${pfxlen}' >>$@.tmp
+ echo '!route add -${inet} ${SRC_${sec}_${mode}_${ipv}}/${pfxlen}\
+ ${RT_OUT_${ipv}}' >>$@.tmp
+.endfor
.endfor
.endfor
mv $@.tmp $@
@@ -384,7 +475,7 @@ check-setup: check-setup-src check-setup-ips check-setup-rt check-setup-eco
check-setup-src:
@echo '\n======== $@ ========'
.for ping inet ipv in ping inet IPV4 ping6 inet6 IPV6
-.for host dir in SRC OUT SRC TRANSP SRC TUNNEL
+.for host dir in SRC OUT
${ping} -n -c 1 ${${host}_${dir}_${ipv}} # ${host}_${dir}_${ipv}
route -n get -${inet} ${${host}_${dir}_${ipv}} |\
grep -q 'flags: .*LOCAL' # ${host}_${dir}_${ipv}
@@ -395,21 +486,31 @@ check-setup-src:
fgrep -q 'gateway: ${IPS_IN_${ipv}}' \
# ${host}_${dir}_${ipv} IPS_IN_${ipv}
.endfor
-.for host dir in IPS TUNNEL4 IPS TUNNEL6 ECO TUNNEL4 ECO TUNNEL6
- route -n get -${inet} ${${host}_${dir}_${ipv}} |\
- grep -q 'flags: .*REJECT' # ${host}_${dir}_${ipv}
+.for sec in ESP AH
+.for host mode in SRC TRANSP SRC TUNNEL
+ ${ping} -n -c 1 ${${host}_${sec}_${mode}_${ipv}} \
+ # ${host}_${sec}_${mode}_${ipv}
+ route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ grep -q 'flags: .*LOCAL' # ${host}_${sec}_${mode}_${ipv}
.endfor
+.for host mode in IPS TUNNEL4 IPS TUNNEL6 ECO TUNNEL4 ECO TUNNEL6
+ route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ grep -q 'flags: .*REJECT' # ${host}_${sec}_${mode}_${ipv}
.endfor
- route -n get -inet ${IPS_TRANSP_IPV4} |\
- egrep -q 'flags: .*(CLONING|CLONED)' # IPS_TRANSP_IPV4
- route -n get -inet6 ${IPS_TRANSP_IPV6} |\
+.endfor
+.endfor
+.for sec in ESP AH
+ route -n get -inet ${IPS_${sec}_TRANSP_IPV4} |\
+ egrep -q 'flags: .*(CLONING|CLONED)' # IPS_${sec}_TRANSP_IPV4
+ route -n get -inet6 ${IPS_${sec}_TRANSP_IPV6} |\
fgrep -q 'gateway: ${IPS_IN_IPV6}' \
- # IPS_TRANSP_IPV6 IPS_IN_IPV6
+ # IPS_${sec}_TRANSP_IPV6 IPS_IN_IPV6
+.endfor
check-setup-ips:
@echo '\n======== $@ ========'
.for ping inet ipv in ping inet IPV4 ping6 inet6 IPV6
-.for host dir in IPS IN IPS OUT IPS TRANSP IPS TUNNEL4 IPS TUNNEL6
+.for host dir in IPS IN IPS OUT
ssh ${IPS_SSH} ${ping} -n -c 1 ${${host}_${dir}_${ipv}} \
# ${host}_${dir}_${ipv}
ssh ${IPS_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
@@ -417,26 +518,42 @@ check-setup-ips:
.endfor
ssh ${IPS_SSH} ${ping} -n -c 1 ${SRC_OUT_${ipv}} # SRC_OUT_${ipv}
ssh ${IPS_SSH} ${ping} -n -c 1 ${RT_IN_${ipv}} # RT_IN_${ipv}
-.for host dir in RT OUT ECO IN ECO TUNNEL4 ECO TUNNEL6
+.for host dir in RT OUT ECO IN
ssh ${IPS_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
fgrep -q 'gateway: ${RT_IN_${ipv}}' \
# ${host}_${dir}_${ipv} RT_IN_${ipv}
.endfor
-.for host dir in SRC TUNNEL
- ssh ${IPS_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
- grep -q 'flags: .*REJECT' # ${host}_${dir}_${ipv}
+.for sec in ESP AH
+.for host mode in IPS TRANSP IPS TUNNEL4 IPS TUNNEL6
+ ssh ${IPS_SSH} ${ping} -n -c 1 ${${host}_${sec}_${mode}_${ipv}} \
+ # ${host}_${sec}_${mode}_${ipv}
+ ssh ${IPS_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ grep -q 'flags: .*LOCAL' # ${host}_${sec}_${mode}_${ipv}
.endfor
-.for host dir in IPS TRANSP IPS TUNNEL4 IPS TUNNEL6
+.for host mode in ECO TUNNEL4 ECO TUNNEL6
+ ssh ${IPS_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ fgrep -q 'gateway: ${RT_IN_${ipv}}' \
+ # ${host}_${sec}_${mode}_${ipv} RT_IN_${ipv}
+.endfor
+.for host mode in SRC TUNNEL
+ ssh ${IPS_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ grep -q 'flags: .*REJECT' # ${host}_${sec}_${mode}_${ipv}
+.endfor
+.for host mode in IPS TRANSP IPS TUNNEL4 IPS TUNNEL6
ssh ${IPS_SSH} netstat -nav -f ${inet} -p udp |\
- fgrep ' ${${host}_${dir}_${ipv}}.7 ' # ${host}_${dir}_${ipv}
+ fgrep ' ${${host}_${sec}_${mode}_${ipv}}.7 ' \
+ # ${host}_${sec}_${mode}_${ipv}
+.endfor
.endfor
ssh ${ECO_SSH} netstat -na -f ${inet} -p tcp | fgrep ' *.7 '
.endfor
- ssh ${IPS_SSH} route -n get -inet ${SRC_TRANSP_IPV4} |\
- egrep -q 'flags: .*(CLONING|CLONED)' # SRC_TRANSP_IPV4
- ssh ${IPS_SSH} route -n get -inet6 ${SRC_TRANSP_IPV6} |\
+.for sec in ESP AH
+ ssh ${IPS_SSH} route -n get -inet ${SRC_${sec}_TRANSP_IPV4} |\
+ egrep -q 'flags: .*(CLONING|CLONED)' # SRC_${sec}_TRANSP_IPV4
+ ssh ${IPS_SSH} route -n get -inet6 ${SRC_${sec}_TRANSP_IPV6} |\
fgrep -q 'gateway: ${SRC_OUT_IPV6}' \
- # SRC_TRANSP_IPV6 SRC_OUT_IPV6
+ # SRC_${sec}_TRANSP_IPV6 SRC_OUT_IPV6
+.endfor
check-setup-rt:
@echo '\n======== $@ ========'
@@ -448,37 +565,58 @@ check-setup-rt:
grep -q 'flags: .*LOCAL' # ${host}_${dir}_${ipv}
.endfor
ssh ${RT_SSH} ${ping} -n -c 1 ${IPS_OUT_${ipv}} # IPS_OUT_${ipv}
-.for host dir in IPS IN SRC OUT SRC TUNNEL
+.for host dir in IPS IN SRC OUT
ssh ${RT_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
fgrep -q 'gateway: ${IPS_OUT_${ipv}}' \
# ${host}_${dir}_${ipv} IPS_OUT_${ipv}
.endfor
ssh ${RT_SSH} ${ping} -n -c 1 ${ECO_IN_${ipv}} # ECO_IN_${ipv}
-.for host dir in ECO TUNNEL4 ECO TUNNEL6
- ssh ${RT_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
+.for sec in ESP AH
+.for host mode in SRC TUNNEL
+ ssh ${RT_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ fgrep -q 'gateway: ${IPS_OUT_${ipv}}' \
+ # ${host}_${sec}_${mode}_${ipv} IPS_OUT_${ipv}
+.endfor
+.for host mode in ECO TUNNEL4 ECO TUNNEL6
+ ssh ${RT_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
fgrep -q 'gateway: ${ECO_IN_${ipv}}' \
- # ${host}_${dir}_${ipv} ECO_IN_${ipv}
+ # ${host}_${sec}_${mode}_${ipv} ECO_IN_${ipv}
+.endfor
.endfor
.endfor
check-setup-eco:
@echo '\n======== $@ ========'
.for ping inet ipv in ping inet IPV4 ping6 inet6 IPV6
-.for host dir in ECO IN ECO TUNNEL4 ECO TUNNEL6
+.for host dir in ECO IN
ssh ${ECO_SSH} ${ping} -n -c 1 ${${host}_${dir}_${ipv}} \
# ${host}_${dir}_${ipv}
ssh ${ECO_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
grep -q 'flags: .*LOCAL' # ${host}_${dir}_${ipv}
.endfor
ssh ${ECO_SSH} ${ping} -n -c 1 ${RT_OUT_${ipv}} # RT_OUT_${ipv}
-.for host dir in RT IN IPS OUT IPS IN SRC OUT SRC TUNNEL
+.for host dir in RT IN IPS OUT IPS IN SRC OUT
ssh ${ECO_SSH} route -n get -${inet} ${${host}_${dir}_${ipv}} |\
fgrep -q 'gateway: ${RT_OUT_${ipv}}' \
# ${host}_${dir}_${ipv} RT_OUT_${ipv}
.endfor
-.for host dir in ECO TUNNEL4 ECO TUNNEL6
+.for sec in ESP AH
+.for host mode in ECO TUNNEL4 ECO TUNNEL6
+ ssh ${ECO_SSH} ${ping} -n -c 1 ${${host}_${sec}_${mode}_${ipv}} \
+ # ${host}_${sec}_${mode}_${ipv}
+ ssh ${ECO_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ grep -q 'flags: .*LOCAL' # ${host}_${sec}_${mode}_${ipv}
+.endfor
+.for host mode in SRC TUNNEL
+ ssh ${ECO_SSH} route -n get -${inet} ${${host}_${sec}_${mode}_${ipv}} |\
+ fgrep -q 'gateway: ${RT_OUT_${ipv}}' \
+ # ${host}_${sec}_${mode}_${ipv} RT_OUT_${ipv}
+.endfor
+.for host mode in ECO TUNNEL4 ECO TUNNEL6
ssh ${ECO_SSH} netstat -nav -f ${inet} -p udp |\
- fgrep ' ${${host}_${dir}_${ipv}}.7 ' # ${host}_${dir}_${ipv}
+ fgrep ' ${${host}_${sec}_${mode}_${ipv}}.7 ' \
+ # ${host}_${sec}_${mode}_${ipv}
+.endfor
.endfor
ssh ${ECO_SSH} netstat -na -f ${inet} -p tcp | fgrep ' *.7 '
.endfor