1# $OpenBSD: Makefile,v 1.4 2023/10/19 18:36:41 anton Exp $ 2 3RDOMAIN?= 5 4VETHER_MAC= fe:e1:ba:d2:a3:18 5PRIV_MAC= 00:90:27:bb:cc:dd 6PUB_MAC= fe:88:33:11:bb:aa 7OTHER_MAC= cc:77:55:22:aa:66 8 9.MAIN: all 10 11.ifmake !obj && !clean && !cleandir && !regress 12.if (${.TARGET} != all && ! make(all)) || (${.TARGET} == all) 13 14.SILENT: .BEGIN .END .INTERRUPT 15 16.BEGIN: 17 -${SUDO} ifconfig vether10001 up lladdr ${VETHER_MAC} \ 18 rdomain ${RDOMAIN} 192.0.2.1/24 19 20.END: 21 -${SUDO} ifconfig vether10001 destroy 22 -${SUDO} ifconfig lo${RDOMAIN} destroy 23 24.INTERRUPT: 25 -${SUDO} ifconfig vether10001 destroy 26 -${SUDO} ifconfig lo${RDOMAIN} destroy 27 28.endif 29.endif 30 31ARP= ${SUDO} arp -n -V ${RDOMAIN} 32 33# Two entries to the same destination are ok if one is "pub" 34n= 1 35RTTEST_TARGETS+:=arptest${n} 36arptest${n}: 37 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 38 ${ARP} -s 192.0.2.42 ${PUB_MAC} pub 39 ${ARP} -a 2>&1| \ 40 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 41 42# Insert the "pub" entry first, it should not matter 43n= 2 44RTTEST_TARGETS+:=arptest${n} 45arptest${n}: 46 ${ARP} -s 192.0.2.42 ${PUB_MAC} pub 47 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 48 ${ARP} -a 2>&1| \ 49 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 50 51# Not specifying "pub" should generate an error 52n= 3 53RTTEST_TARGETS+:=arptest${n} 54arptest${n}: 55 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 56 ${ARP} -s 192.0.2.42 ${PUB_MAC} && exit 1 || exit 0 57 ${ARP} -a 2>&1| \ 58 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 59 60# Not specifying "pub" works only if "-F" is specified 61n= 4 62RTTEST_TARGETS+:=arptest${n} 63arptest${n}: 64 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 65 ${ARP} -Fs 192.0.2.42 ${PUB_MAC} 66 ${ARP} -a 2>&1 | \ 67 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 68 69# Test that "permanent" entries are correctly created 70n= 5 71RTTEST_TARGETS+:=arptest${n} 72arptest${n}: 73 ${ARP} -s 192.0.2.42 ${PRIV_MAC} "permanent" 74 ${ARP} -a 2>&1 | \ 75 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 76 77# Tryin to add two "pub" entries should generate and error 78n= 6 79RTTEST_TARGETS+:=arptest${n} 80arptest${n}: 81 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 82 ${ARP} -s 192.0.2.42 ${PUB_MAC} pub 83 ${ARP} -s 192.0.2.42 ${OTHER_MAC} pub && exit 1 || exit 0 84 ${ARP} -a 2>&1| \ 85 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 86 87REGRESS_TARGETS=${RTTEST_TARGETS} 88REGRESS_ROOT_TARGETS=${REGRESS_TARGETS} 89.PHONY: ${REGRESS_TARGETS} 90 91.include <bsd.regress.mk> 92