summaryrefslogtreecommitdiff
path: root/regress/sys/net/loop/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'regress/sys/net/loop/Makefile')
-rw-r--r--regress/sys/net/loop/Makefile132
1 files changed, 56 insertions, 76 deletions
diff --git a/regress/sys/net/loop/Makefile b/regress/sys/net/loop/Makefile
index 51540d4e83a..708fcecf361 100644
--- a/regress/sys/net/loop/Makefile
+++ b/regress/sys/net/loop/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.6 2020/01/08 21:28:00 bluhm Exp $
+# $OpenBSD: Makefile,v 1.7 2020/12/17 00:39:42 bluhm Exp $
# Copyright (c) 2017-2020 Alexander Bluhm <bluhm@openbsd.org>
#
@@ -63,42 +63,40 @@ regress:
.endif
-.PHONY: busy-rdomains ifconfig unconfig
+.PHONY: busy-rdomains ifconfig unconfig pfctl
+REGRESS_SETUP_ONCE += busy-rdomains
busy-rdomains:
- # check if rdomains are busy
+ # Check if rdomains are busy.
.for n in ${NUMS}
- @if /sbin/ifconfig | grep -v '^lo${n}:' | grep ' rdomain ${n} '; then\
- echo routing domain ${n} is already used >&2; exit 1; fi
+ @if /sbin/ifconfig | grep -v '^lo$n:' | grep ' rdomain $n '; then\
+ echo routing domain $n is already used >&2; exit 1; fi
.endfor
+REGRESS_SETUP_ONCE += ifconfig
ifconfig: unconfig
- # create and configure loopback interfaces
+ # Create and configure loopback interfaces.
.for n in ${NUMS}
- ${SUDO} ifconfig lo${n} rdomain ${n}
- ${SUDO} ifconfig lo${n} inet 127.0.0.1/8
- ${SUDO} ifconfig lo${n} inet 127.0.0.${n} alias
- ${SUDO} route -n -T ${n} add -inet -host 10.6.6.6 127.0.0.1
- ${SUDO} route -n -T ${n} add -inet -host 10.7.7.7 127.0.0.1
+ ${SUDO} ifconfig lo$n rdomain $n
+ ${SUDO} ifconfig lo$n inet 127.0.0.1/8
+ ${SUDO} ifconfig lo$n inet 127.0.0.$n alias
+ ${SUDO} route -n -T $n add -inet -host 10.6.6.6 127.0.0.1
+ ${SUDO} route -n -T $n add -inet -host 10.7.7.7 127.0.0.1
.endfor
${SUDO} route -n -T ${N1} add -inet -host 127.0.0.${N2} 127.0.0.1
${SUDO} route -n -T ${N2} add -inet -host 127.0.0.${N1} 127.0.0.1
-unconfig:
- # destroy interfaces
+REGRESS_CLEANUP += unconfig
+unconfig: stamp-stop
+ # Destroy interfaces.
.for n in ${NUMS}
- -${SUDO} ifconfig lo${n} 127.0.0.1 delete
- -${SUDO} ifconfig lo${n} 127.0.0.${n} delete
+ -${SUDO} ifconfig lo$n 127.0.0.1 delete
+ -${SUDO} ifconfig lo$n 127.0.0.$n delete
.endfor
- rm -f stamp-setup
+ rm -f stamp-ifconfig
-stamp-setup: Makefile
- @echo '\n======== $@ ========'
- ${.MAKE} -C ${.CURDIR} busy-rdomains ifconfig
- date >$@
-
-# Create python include file containing the addresses.
addr.py: Makefile
+ # Create python include file containing the addresses.
rm -f $@ $@.tmp
.for var in N1 N2
echo '${var}="${${var}}"' >>$@.tmp
@@ -107,12 +105,11 @@ addr.py: Makefile
.endfor
mv $@.tmp $@
-# Load the pf rules into the kernel.
-stamp-pfctl: addr.py pf.conf stamp-setup
- @echo '\n======== $@ ========'
+REGRESS_SETUP_ONCE += pfctl
+pfctl: addr.py pf.conf
+ # Load the pf rules into the kernel.
cat addr.py ${.CURDIR}/pf.conf | /sbin/pfctl -n -f -
cat addr.py ${.CURDIR}/pf.conf | ${SUDO} pfctl -a regress -f -
- @date >$@
# run tcpdump on lo devices
DUMPCMD = /usr/sbin/tcpdump -l -e -vvv -s 2048 -ni
@@ -123,18 +120,16 @@ stamp-bpf: stamp-bpf-${N1} stamp-bpf-${N2}
.for n in ${N1} ${N2}
-stamp-bpf-${n}: stamp-setup
- @echo '\n======== $@ ========'
- rm -f lo${n}.tcpdump
- ${SUDO} pkill -f '^${DUMPCMD} lo${n}' || true
- ${SUDO} ${DUMPCMD} lo${n} >lo${n}.tcpdump &
+stamp-bpf-$n: stamp-ifconfig
+ rm -f lo$n.tcpdump
+ ${SUDO} pkill -f '^${DUMPCMD} lo$n' || true
+ ${SUDO} ${DUMPCMD} lo$n >lo$n.tcpdump &
rm -f stamp-stop
@date >$@
.endfor
stamp-stop:
- @echo '\n======== $@ ========'
sleep 2 # XXX
-${SUDO} pkill -f '^${DUMPCMD}'
rm -f stamp-bpf*
@@ -142,66 +137,57 @@ stamp-stop:
.for n in ${N1} ${N2}
-REGRESS_TARGETS += run-regress-ping-local-${n}
-run-regress-ping-local-${n}: stamp-setup stamp-bpf
- @echo '\n======== $@ ========'
- # Ping localhost in routing domain ${n}.
- /sbin/ping -n -w 1 -c 1 -V ${n} 127.0.0.1
+REGRESS_TARGETS += run-ping-local-$n
+run-ping-local-$n: stamp-bpf
+ # Ping localhost in routing domain $n.
+ /sbin/ping -n -w 1 -c 1 -V $n 127.0.0.1
-REGRESS_TARGETS += run-regress-ping-loop-${n}
-run-regress-ping-loop-${n}: stamp-setup stamp-bpf
- @echo '\n======== $@ ========'
- # Ping non existing address with loopback route in routing domain ${n}.
- ! /sbin/ping -n -w 1 -c 1 -V ${n} 10.6.6.6
+REGRESS_TARGETS += run-ping-loop-$n
+run-ping-loop-$n: stamp-bpf
+ # Ping non existing address with loopback route in routing domain $n.
+ ! /sbin/ping -n -w 1 -c 1 -V $n 10.6.6.6
-REGRESS_TARGETS += run-regress-ping-address-${n}
-run-regress-ping-address-${n}: stamp-setup stamp-pfctl
- @echo '\n======== $@ ========'
- # Ping local address in routing domain ${n}.
- /sbin/ping -n -w 1 -c 1 -V ${n} 127.0.0.${n}
+REGRESS_TARGETS += run-ping-address-$n
+run-ping-address-$n:
+ # Ping local address in routing domain $n.
+ /sbin/ping -n -w 1 -c 1 -V $n 127.0.0.$n
.endfor
-REGRESS_TARGETS += run-regress-ping-rdomain-pass
-run-regress-ping-rdomain-pass: stamp-setup stamp-pfctl
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-ping-rdomain-pass
+run-ping-rdomain-pass:
# Pass ping packets between routing domains with pf rule.
/sbin/ping -n -w 1 -c 1 -V ${N1} 127.0.0.${N2}
-REGRESS_TARGETS += run-regress-ping-rdomain-block
-run-regress-ping-rdomain-block: stamp-setup stamp-pfctl
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-ping-rdomain-block
+run-ping-rdomain-block:
# Check that reverse direction without pf rule is not allowed.
! /sbin/ping -n -w 1 -c 1 -V ${N2} 127.0.0.${N1}
-REGRESS_TARGETS += run-regress-ping-rdomain-loop
-run-regress-ping-rdomain-loop: stamp-setup stamp-pfctl stamp-bpf
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-ping-rdomain-loop
+run-ping-rdomain-loop: stamp-bpf
# Ping non existing address and loop between routing domains.
! /sbin/ping -n -w 1 -c 1 -V ${N1} 10.7.7.7
.for n in ${N1} ${N2}
-REGRESS_TARGETS += run-regress-bpf-local-${n}
-run-regress-bpf-local-${n}: stamp-stop
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-bpf-local-$n
+run-bpf-local-$n: stamp-stop
# Check that the ping packet went through loopback.
- grep '127.0.0.1 > 127.0.0.1: icmp: echo request' lo${n}.tcpdump
+ grep '127.0.0.1 > 127.0.0.1: icmp: echo request' lo$n.tcpdump
-REGRESS_TARGETS += run-regress-bpf-loop-${n}
-run-regress-bpf-loop-${n}: stamp-stop
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-bpf-loop-$n
+run-bpf-loop-$n: stamp-stop
# Check that the ping packet went multiple times through loopback.
grep '[0-9] 127.0.0.1 > 10.6.6.6: icmp: echo request .*ttl 255,' \
- lo${n}.tcpdump
+ lo$n.tcpdump
grep '[0-9] 127.0.0.1 > 10.6.6.6: icmp: echo request .* \[ttl 1\]' \
- lo${n}.tcpdump
+ lo$n.tcpdump
.endfor
-REGRESS_TARGETS += run-regress-bpf-rdomain-loop-${N1}
-run-regress-bpf-rdomain-loop-${N1}: stamp-stop
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-bpf-rdomain-loop-${N1}
+run-bpf-rdomain-loop-${N1}: stamp-stop
# Check the ping packet went multiple times in routing domains.
grep '[0-9] 127.0.0.1 > 10.7.7.7: icmp: echo request .*ttl 255,' \
lo${N1}.tcpdump
@@ -210,9 +196,8 @@ run-regress-bpf-rdomain-loop-${N1}: stamp-stop
grep '[0-9] 127.0.0.1 > 10.7.7.7: icmp: echo request .* \[ttl 1\]' \
lo${N1}.tcpdump
-REGRESS_TARGETS += run-regress-bpf-rdomain-loop-${N2}
-run-regress-bpf-rdomain-loop-${N2}: stamp-stop
- @echo '\n======== $@ ========'
+REGRESS_TARGETS += run-bpf-rdomain-loop-${N2}
+run-bpf-rdomain-loop-${N2}: stamp-stop
# Check the ping packet went multiple times in routing domains.
grep '[0-9] 127.0.0.1 > 10.7.7.7: icmp: echo request .*ttl 254,' \
lo${N2}.tcpdump
@@ -221,11 +206,6 @@ run-regress-bpf-rdomain-loop-${N2}: stamp-stop
! grep '[0-9] 127.0.0.1 > 10.7.7.7: icmp: echo request .* \[ttl 1\]' \
lo${N2}.tcpdump
-REGRESS_TARGETS += run-regress-cleanup
-run-regress-cleanup: stamp-stop
- @echo '\n======== $@ ========'
- ${.MAKE} -C ${.CURDIR} unconfig
-
CLEANFILES += addr.py *.pyc *.tcpdump *.log stamp-*
.include <bsd.regress.mk>