1# $OpenBSD: Makefile,v 1.3 2017/07/07 23:55:21 bluhm 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 23.INTERRUPT: 24 -${SUDO} ifconfig vether10001 destroy 25 26.endif 27.endif 28 29ARP= ${SUDO} arp -n -V ${RDOMAIN} 30 31# Two entries to the same destination are ok if one is "pub" 32n= 1 33RTTEST_TARGETS+:=arptest${n} 34arptest${n}: 35 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 36 ${ARP} -s 192.0.2.42 ${PUB_MAC} pub 37 ${ARP} -a 2>&1| \ 38 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 39 40# Insert the "pub" entry first, it should not matter 41n= 2 42RTTEST_TARGETS+:=arptest${n} 43arptest${n}: 44 ${ARP} -s 192.0.2.42 ${PUB_MAC} pub 45 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 46 ${ARP} -a 2>&1| \ 47 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 48 49# Not specifying "pub" should generate an error 50n= 3 51RTTEST_TARGETS+:=arptest${n} 52arptest${n}: 53 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 54 ${ARP} -s 192.0.2.42 ${PUB_MAC} && exit 1 || exit 0 55 ${ARP} -a 2>&1| \ 56 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 57 58# Not specifying "pub" works only if "-F" is specified 59n= 4 60RTTEST_TARGETS+:=arptest${n} 61arptest${n}: 62 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 63 ${ARP} -Fs 192.0.2.42 ${PUB_MAC} 64 ${ARP} -a 2>&1 | \ 65 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 66 67# Test that "permanent" entries are correctly created 68n= 5 69RTTEST_TARGETS+:=arptest${n} 70arptest${n}: 71 ${ARP} -s 192.0.2.42 ${PRIV_MAC} "permanent" 72 ${ARP} -a 2>&1 | \ 73 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 74 75# Tryin to add two "pub" entries should generate and error 76n= 6 77RTTEST_TARGETS+:=arptest${n} 78arptest${n}: 79 ${ARP} -s 192.0.2.42 ${PRIV_MAC} 80 ${ARP} -s 192.0.2.42 ${PUB_MAC} pub 81 ${ARP} -s 192.0.2.42 ${OTHER_MAC} pub && exit 1 || exit 0 82 ${ARP} -a 2>&1| \ 83 diff -u ${.CURDIR}/${.TARGET}.ok /dev/stdin 84 85REGRESS_TARGETS=${RTTEST_TARGETS} 86REGRESS_ROOT_TARGETS=${REGRESS_TARGETS} 87.PHONY: ${REGRESS_TARGETS} 88 89.include <bsd.regress.mk> 90