From 2ab77f2be282042768b0ecd9412b9f260d6b5cc4 Mon Sep 17 00:00:00 2001 From: Alexander Bluhm Date: Thu, 9 Jan 2025 20:56:26 +0100 Subject: [PATCH] For testing IPv6 multicast on Linux use any multicast capable interface. --- GNUmakefile | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 8067079..879c684 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -17,6 +17,10 @@ install: install -c -m 555 -s udpbench -D -t ${DESTDIR}${BINDIR} install -c -m 444 udpbench.1 -D -t ${DESTDIR}${MANDIR}1 +# use any multicast capable interface; as -L1 is set, test runs on loopback +INTERFACE = $(shell ip link show | \ + awk '/MULTICAST/{print gensub(":.*","",1,$$2); exit}') + TEST = TEST += localhost test-localhost: @@ -70,14 +74,14 @@ test-mcast: grep -q 'sockname: 224.0.0.123 ' out grep -q 'recv: syscalls ' out -# XXX Linux fails to receive on loopback, disable test for now. -#TEST += mcast6 +# XXX Linux fails to send on loopback, use any ethernet +TEST += mcast6 test-mcast6: @echo -e '\n==== $@ ====' - ./udpbench -Ilo -p0 -t3 recv ff04::123 | tee out & \ + ./udpbench -I$(INTERFACE) -p0 -t3 recv ff04::123 | tee out & \ sleep 1; \ port=`awk '/^sockname:/{print $$3}' out`; \ - ./udpbench -L1 -T0 -p$$port -t1 \ + ./udpbench -I$(INTERFACE) -L1 -T0 -p$$port -t1 \ send ff04::123 || exit 1; \ wait $$! grep -q 'sockname: ff04::123 ' out @@ -96,14 +100,14 @@ test-mcast-repeat: grep -q 'sockname: 224.0.0.124 ' out grep -q 'recv: syscalls ' out -# XXX Linux fails to receive on loopback, disable test for now. -#TEST += mcast6-repeat +# XXX Linux fails to send on loopback, use any ethernet +TEST += mcast6-repeat test-mcast6-repeat: @echo -e '\n==== $@ ====' - ./udpbench -N2 -Ilo -p0 -t3 recv ff04::123 | tee out & \ + ./udpbench -N2 -I$(INTERFACE) -p0 -t3 recv ff04::123 | tee out & \ sleep 1; \ port=`awk '/^sockname:/{print $$3}' out | sort -u`; \ - ./udpbench -N2 -L1 -T0 -p$$port -t1 \ + ./udpbench -N2 -I$(INTERFACE) -L1 -T0 -p$$port -t1 \ send ff04::123 || exit 1; \ wait $$! grep -q 'sockname: ff04::123 ' out