1# $OpenBSD: Makefile,v 1.7 2025/01/17 07:57:22 anton Exp $ 2 3# The following ports must be installed: 4# 5# scapy powerful interactive packet manipulation in python 6 7.if ! exists(/usr/local/bin/scapy) 8regress: 9 @echo Install scapy package to run this regress. 10 @echo SKIPPED 11.endif 12 13PROG = rip6cksum 14WARNINGS = yes 15 16PYTHON = python3 -u ${.CURDIR}/ 17 18REGRESS_SETUP += ${PROG} 19 20REGRESS_TARGETS += run-error-negative 21run-error-negative: 22 # set socket option IPV6_CHECKSUM to -2, expect error 23 ${SUDO} ./rip6cksum -c -2 -e 24 25REGRESS_TARGETS += run-error-odd 26run-error-odd: 27 # set socket option IPV6_CHECKSUM to 1, expect error 28 ${SUDO} ./rip6cksum -c 1 -e 29 30REGRESS_TARGETS += run-no-cksum 31run-no-cksum: 32 # send and receive packet without checksum 33 ${SUDO} ./rip6cksum -r 32 -s 8 -w -- \ 34 ${PYTHON}sendrecv.py -r 8 -s 32 35 36REGRESS_TARGETS += run-bad-cksum 37run-bad-cksum: 38 # enable checksum, send packet without checksum, expect icmp 39 ${SUDO} ./rip6cksum -c 0 -- \ 40 ${PYTHON}sendrecv.py -i -r 32 -s 32 41 42REGRESS_TARGETS += run-disable-cksum 43run-disable-cksum: 44 # send and receive packet with explicitly disabled checksum 45 ${SUDO} ./rip6cksum -c -1 -r 32 -s 8 -w -- \ 46 ${PYTHON}sendrecv.py -r 8 -s 32 47 48REGRESS_TARGETS += run-ckoff-0 49run-ckoff-0: 50 # use checksum at offset 0 51 ${SUDO} ./rip6cksum -c 0 -r 32 -s 8 -w -- \ 52 ${PYTHON}sendrecv.py -c 0 -r 8 -s 32 53 54REGRESS_TARGETS += run-ckoff-0-empty 55run-ckoff-0-empty: 56 # use checksum at offset 0, but packet is empty, expect icmp 57 ${SUDO} ./rip6cksum -c 0 -- \ 58 ${PYTHON}sendrecv.py -i -r 0 -s 0 59 60REGRESS_TARGETS += run-ckoff-0-short 61run-ckoff-0-short: 62 # use checksum at offset 0, but packet is only 1 byte long, expect icmp 63 ${SUDO} ./rip6cksum -c 0 -- \ 64 ${PYTHON}sendrecv.py -i -r 1 -s 1 65 66REGRESS_TARGETS += run-ckoff-0-exact 67run-ckoff-0-exact: 68 # use checksum at offset 0, packet is exactly 2 bytes long 69 ${SUDO} ./rip6cksum -c 0 -r 2 -s 2 -w -- \ 70 ${PYTHON}sendrecv.py -c 0 -s 2 71 72REGRESS_TARGETS += run-ckoff-0-long 73run-ckoff-0-long: 74 # use checksum at offset 0, packet is 3 bytes long 75 ${SUDO} ./rip6cksum -c 0 -r 3 -s 3 -w -- \ 76 ${PYTHON}sendrecv.py -c 0 -s 3 77 78REGRESS_TARGETS += run-ckoff-2 79run-ckoff-2: 80 # use checksum at offset 2 81 ${SUDO} ./rip6cksum -c 2 -r 32 -s 8 -w -- \ 82 ${PYTHON}sendrecv.py -c 2 -r 8 -s 32 83 84REGRESS_TARGETS += run-ckoff-2-empty 85run-ckoff-2-empty: 86 # use checksum at offset 2, but packet is empty, expect icmp 87 ${SUDO} ./rip6cksum -c 2 -- \ 88 ${PYTHON}sendrecv.py -i -r 0 -s 0 89 90REGRESS_TARGETS += run-ckoff-2-short-1 91run-ckoff-2-short-1: 92 # use checksum at offset 2, but packet is only 1 byte long, expect icmp 93 ${SUDO} ./rip6cksum -c 2 -- \ 94 ${PYTHON}sendrecv.py -i -r 1 -s 1 95 96REGRESS_TARGETS += run-ckoff-2-short-2 97run-ckoff-2-short-2: 98 # use checksum at offset 2, but packet is only 2 byte long, expect icmp 99 ${SUDO} ./rip6cksum -c 2 -- \ 100 ${PYTHON}sendrecv.py -i -r 2 -s 2 101 102REGRESS_TARGETS += run-ckoff-2-short-3 103run-ckoff-2-short-3: 104 # use checksum at offset 2, but packet is only 3 byte long, expect icmp 105 ${SUDO} ./rip6cksum -c 2 -- \ 106 ${PYTHON}sendrecv.py -i -r 3 -s 3 107 108REGRESS_TARGETS += run-ckoff-2-exact 109run-ckoff-2-exact: 110 # use checksum at offset 2, packet is exactly 4 bytes long 111 ${SUDO} ./rip6cksum -c 2 -r 4 -s 4 -w -- \ 112 ${PYTHON}sendrecv.py -c 2 -s 4 113 114REGRESS_TARGETS += run-ckoff-2-long 115run-ckoff-2-long: 116 # use checksum at offset 2, packet is 5 bytes long 117 ${SUDO} ./rip6cksum -c 2 -r 5 -s 5 -w -- \ 118 ${PYTHON}sendrecv.py -c 2 -s 5 119 120# XXX expected failures caused by the upgrade to scapy 2.4.5. 121REGRESS_EXPECTED_FAILURES+=run-bad-cksum 122REGRESS_EXPECTED_FAILURES+=run-ckoff-0 123REGRESS_EXPECTED_FAILURES+=run-ckoff-0-empty 124REGRESS_EXPECTED_FAILURES+=run-ckoff-0-exact 125REGRESS_EXPECTED_FAILURES+=run-ckoff-0-long 126REGRESS_EXPECTED_FAILURES+=run-ckoff-0-short 127REGRESS_EXPECTED_FAILURES+=run-ckoff-2 128REGRESS_EXPECTED_FAILURES+=run-ckoff-2-empty 129REGRESS_EXPECTED_FAILURES+=run-ckoff-2-exact 130REGRESS_EXPECTED_FAILURES+=run-ckoff-2-long 131REGRESS_EXPECTED_FAILURES+=run-ckoff-2-short-1 132REGRESS_EXPECTED_FAILURES+=run-ckoff-2-short-2 133REGRESS_EXPECTED_FAILURES+=run-ckoff-2-short-3 134REGRESS_EXPECTED_FAILURES+=run-disable-cksum 135REGRESS_EXPECTED_FAILURES+=run-no-cksum 136 137.include <bsd.regress.mk> 138