diff options
author | 2016-10-19 13:37:18 +0000 | |
---|---|---|
committer | 2016-10-19 13:37:18 +0000 | |
commit | f516a404c48ce141c39a48829b7e8ad3ac382596 (patch) | |
tree | 121ae7f36564c58e7a19192d0ebe3dc0822eb816 | |
parent | document -F which somehow escaped documentation (diff) | |
download | wireguard-openbsd-f516a404c48ce141c39a48829b7e8ad3ac382596.tar.xz wireguard-openbsd-f516a404c48ce141c39a48829b7e8ad3ac382596.zip |
Do not change routes during test run, but expect that everything
is setup correctly before. Use make check-setup to verify that.
-rw-r--r-- | regress/sys/netinet/pmtu/Makefile | 75 | ||||
-rw-r--r-- | regress/sys/netinet/pmtu/README | 14 |
2 files changed, 68 insertions, 21 deletions
diff --git a/regress/sys/netinet/pmtu/Makefile b/regress/sys/netinet/pmtu/Makefile index 47b142e47e0..61e95b04ecf 100644 --- a/regress/sys/netinet/pmtu/Makefile +++ b/regress/sys/netinet/pmtu/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.3 2016/09/02 21:30:34 bluhm Exp $ +# $OpenBSD: Makefile,v 1.4 2016/10/19 13:37:18 bluhm Exp $ # The following ports must be installed: # @@ -27,6 +27,8 @@ regress: # Adapt interface and addresse variables to your local setup. # LOCAL_IF ?= +LOCAL_MAC ?= +REMOTE_MAC ?= REMOTE_SSH ?= LOCAL_ADDR ?= @@ -40,26 +42,26 @@ FAKE_NET6 ?= FAKE_NET_ADDR6 ?= .if empty (LOCAL_IF) || empty (REMOTE_SSH) || \ + empty (LOCAL_MAC) || empty (REMOTE_MAC) || \ empty (LOCAL_ADDR) || empty (LOCAL_ADDR6) || \ empty (REMOTE_ADDR) || empty (REMOTE_ADDR6) || \ empty (FAKE_NET) || empty (FAKE_NET6) || \ empty (FAKE_NET_ADDR) || empty (FAKE_NET_ADDR6) regress: @echo This tests needs a remote machine to operate on - @echo LOCAL_IF REMOTE_SSH LOCAL_ADDR LOCAL_ADDR6 REMOTE_ADDR - @echo REMOTE_ADDR6 FAKE_NET FAKE_NET6 FAKE_NET_ADDR FAKE_NET_ADDR6 + @echo LOCAL_IF REMOTE_SSH LOCAL_MAC REMOTE_MAC LOCAL_ADDR LOCAL_ADDR6 + @echo REMOTE_ADDR REMOTE_ADDR6 FAKE_NET FAKE_NET6 FAKE_NET_ADDR + @echo FAKE_NET_ADDR6 @echo are empty. Fill out these variables for additional tests. @echo SKIPPED .endif -.if ! empty (REMOTE_SSH) .if make (regress) || make (all) .BEGIN: pf.conf addr.py @echo ${SUDO} true ssh -t ${REMOTE_SSH} ${SUDO} true .endif -.endif depend: addr.py @@ -90,20 +92,12 @@ PYTHON = PYTHONPATH=${.OBJDIR} python2.7 -u ${.CURDIR}/ # Clear local and remote path mtu routes, set fake net route reset-route: @echo '\n======== $@ ========' - -${SUDO} route -n delete -host ${REMOTE_ADDR} - ssh ${REMOTE_SSH} ${SUDO} sh -c "'\ - route -n delete -inet -host ${LOCAL_ADDR};\ - route -n delete -inet -net ${FAKE_NET};\ - route -n delete -inet -host ${FAKE_NET_ADDR};\ - route -n add -inet -net ${FAKE_NET} ${LOCAL_ADDR}'" + ${SUDO} route -n delete -inet -host ${REMOTE_ADDR} || true + ssh ${REMOTE_SSH} ${SUDO} route -n delete -inet -host ${FAKE_NET_ADDR} || true reset-route6: @echo '\n======== $@ ========' - -${SUDO} route -n delete -host ${REMOTE_ADDR6} - ssh ${REMOTE_SSH} ${SUDO} sh -c "'\ - route -n delete -inet6 -host ${LOCAL_ADDR6};\ - route -n delete -inet6 -net ${FAKE_NET6};\ - route -n delete -inet6 -host ${FAKE_NET_ADDR6};\ - route -n add -inet6 -net ${FAKE_NET6} ${LOCAL_ADDR6}'" + ${SUDO} route -n delete -inet6 -host ${REMOTE_ADDR6} || true + ssh ${REMOTE_SSH} ${SUDO} route -n delete -inet6 -host ${FAKE_NET_ADDR6} || true # Clear host routes and ping all addresses. This ensures that # the IP addresses are configured and all routing table are set up @@ -154,4 +148,51 @@ REGRESS_TARGETS = ${TARGETS:S/^/run-regress-/} CLEANFILES += addr.py *.pyc *.log *.route +.PHONY: check-setup check-setup-local check-setup-remote + +# Check wether the address, route and remote setup is correct +check-setup: check-setup-local check-setup-remote + +check-setup-local: + @echo '\n======== $@ ========' + ping -n -c 1 ${LOCAL_ADDR} # LOCAL_ADDR + route -n get -inet ${LOCAL_ADDR} | grep -q 'flags: .*LOCAL' # LOCAL_ADDR + arp -na | grep -q '^${LOCAL_ADDR} * ${LOCAL_MAC} * ${LOCAL_IF} permanent' # LOCAL_ADDR LOCAL_MAC LOCAL_IF + ping -n -c 1 ${REMOTE_ADDR} # REMOTE_ADDR + route -n get -inet ${REMOTE_ADDR} | fgrep -q 'interface: ${LOCAL_IF}' # REMOTE_ADDR LOCAL_IF + ! ping -n -c 1 -w 1 ${FAKE_NET_ADDR} # FAKE_NET_ADDR + route -n get -inet ${FAKE_NET_ADDR} | grep -q 'flags: .*BLACKHOLE' # FAKE_NET_ADDR + route -n get -inet -net ${FAKE_NET} | grep -q 'flags: .*BLACKHOLE' # FAKE_NET + ping6 -n -c 1 ${LOCAL_ADDR6} # LOCAL_ADDR6 + route -n get -inet6 ${LOCAL_ADDR6} | grep -q 'flags: .*LOCAL' # LOCAL_ADDR6 + ndp -na | grep -q '^${LOCAL_ADDR6} * ${LOCAL_MAC} * ${LOCAL_IF} permanent' # LOCAL_ADDR6 LOCAL_MAC LOCAL_IF + ping6 -n -c 1 ${REMOTE_ADDR6} # REMOTE_ADDR6 + route -n get -inet6 ${REMOTE_ADDR6} | fgrep -q 'interface: ${LOCAL_IF}' # REMOTE_ADDR6 LOCAL_IF + ! ping -n -c 1 -w 1 ${FAKE_NET_ADDR6} # FAKE_NET_ADDR6 + route -n get -inet6 ${FAKE_NET_ADDR6} | grep -q 'flags: .*BLACKHOLE' # FAKE_NET_ADDR6 + route -n get -inet6 -net ${FAKE_NET6} | grep -q 'flags: .*BLACKHOLE' # FAKE_NET6 + +check-setup-remote: + @echo '\n======== $@ ========' + ssh ${REMOTE_SSH} ping -n -c 1 ${REMOTE_ADDR} # REMOTE_ADDR + ssh ${REMOTE_SSH} route -n get -inet ${REMOTE_ADDR} | grep -q 'flags: .*LOCAL' # REMOTE_ADDR + ssh ${REMOTE_SSH} arp -na | grep -q '^${REMOTE_ADDR} * ${REMOTE_MAC} * .* permanent' # REMOTE_ADDR REMOTE_MAC + ssh ${REMOTE_SSH} ping -n -c 1 ${LOCAL_ADDR} # LOCAL_ADDR +.for ip in FAKE_NET FAKE_NET_ADDR + ssh ${REMOTE_SSH} route -n get -inet ${${ip}} | fgrep -q 'gateway: ${LOCAL_ADDR}' # ${ip} LOCAL_ADDR +.endfor + ssh ${REMOTE_SSH} ping6 -n -c 1 ${REMOTE_ADDR6} # REMOTE_ADDR6 + ssh ${REMOTE_SSH} route -n get -inet6 ${REMOTE_ADDR6} | grep -q 'flags: .*LOCAL' # REMOTE_ADDR6 + ssh ${REMOTE_SSH} ndp -na | grep -q '^${REMOTE_ADDR6} * ${REMOTE_MAC} * .* permanent' # REMOTE_ADDR6 REMOTE_MAC + ssh ${REMOTE_SSH} ping6 -n -c 1 ${LOCAL_ADDR6} # LOCAL_ADDR6 +.for ip in FAKE_NET6 FAKE_NET_ADDR6 + ssh ${REMOTE_SSH} route -n get -inet6 ${${ip}} | fgrep -q 'gateway: ${LOCAL_ADDR6}' # ${ip} LOCAL_ADDR6 +.endfor +.for af in inet inet6 + ssh ${ECO_SSH} netstat -a -f ${af} -p tcp | fgrep ' *.chargen ' +.endfor + ssh ${ECO_SSH} netstat -a -f inet6 -p udp | fgrep ' *.echo ' + ssh ${REMOTE_SSH} ${SUDO} pfctl -sr | grep '^anchor "regress" all$$' + ssh ${REMOTE_SSH} ${SUDO} pfctl -si | grep '^Status: Enabled ' + .include <bsd.regress.mk> diff --git a/regress/sys/netinet/pmtu/README b/regress/sys/netinet/pmtu/README index ae08e5c2cec..092b24b9cb7 100644 --- a/regress/sys/netinet/pmtu/README +++ b/regress/sys/netinet/pmtu/README @@ -41,6 +41,8 @@ fe80::725f:caff:fe21:8d70%tap0 q70 lladdr fe:e1:ba:d0:d5:6d up inet 10.188.70.17 255.255.255.0 inet6 fdd7:e83e:66bc:70:3e97:eff:fea7:9b2 +!route add -inet 10.188.219.0/24 127.0.0.1 -blackhole +!route add -inet6 fdd7:e83e:66bc:219::/64 ::1 -blackhole - My qemu where the kernel under test is running @@ -48,6 +50,8 @@ inet6 fdd7:e83e:66bc:70:3e97:eff:fea7:9b2 lladdr 70:5f:ca:21:8d:70 inet 10.188.70.70 255.255.255.0 inet6 fdd7:e83e:66bc:70:725f:caff:fe21:8d70 +!route add -inet 10.188.219.0/24 10.188.70.17 +!route add -inet6 fdd7:e83e:66bc:219::/64 fdd7:e83e:66bc:70:3e97:eff:fea7:9b2 /etc/inetd.conf chargen stream tcp nowait root internal @@ -67,10 +71,12 @@ REMOTE_SSH=q70 LOCAL_ADDR=10.188.70.17 REMOTE_ADDR=10.188.70.70 -FAKE_NET=10.188.188.0/24 -FAKE_NET_ADDR=10.188.188.188 +FAKE_NET=10.188.219.0/24 +FAKE_NET_ADDR=10.188.219.188 LOCAL_ADDR6=fdd7:e83e:66bc:70:3e97:eff:fea7:9b2 REMOTE_ADDR6=fdd7:e83e:66bc:70:725f:caff:fe21:8d70 -FAKE_NET6=fdd7:e83e:66bc:188::/64 -FAKE_NET_ADDR6=fdd7:e83e:66bc:188::188 +FAKE_NET6=fdd7:e83e:66bc:219::/64 +FAKE_NET_ADDR6=fdd7:e83e:66bc:219::188 + +- Fix your configuration until make check-setup passes |