summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Machata <petrm@nvidia.com>2025-06-17 01:44:22 +0300
committerJakub Kicinski <kuba@kernel.org>2025-06-18 04:18:46 +0300
commit237f84a6d24a413b3a0795079afeb903ab1dec8a (patch)
tree5c31815cce1098198331823bec9fd016cc640765
parent4baa1d3a5080c18a079d3688fa9726973959ee20 (diff)
downloadlinux-237f84a6d24a413b3a0795079afeb903ab1dec8a.tar.xz
selftests: forwarding: adf_mcd_start(): Allow configuring custom interfaces
Tests may wish to add other interfaces to listen on. Notably locally generated traffic uses dummy interfaces. The multicast daemon needs to know about these so that it allows forming rules that involve these interfaces, and so that net.ipv4.conf.X.mc_forwarding is set for the interfaces. To that end, allow passing in a list of interfaces to configure in addition to all the physical ones. Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Link: https://patch.msgid.link/2e8d83297985933be4850f2b9f296b3c27110388.1750113335.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--tools/testing/selftests/net/forwarding/lib.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index 253847372062..83ee6a07e072 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -1760,9 +1760,12 @@ mc_send()
adf_mcd_start()
{
+ local ifs=("$@")
+
local table_name="$MCD_TABLE_NAME"
local smcroutedir
local pid
+ local if
local i
check_command "$MCD" || return 1
@@ -1776,6 +1779,16 @@ adf_mcd_start()
"$smcroutedir/$table_name.conf"
done
+ for if in "${ifs[@]}"; do
+ if ! ip_link_has_flag "$if" MULTICAST; then
+ ip link set dev "$if" multicast on
+ defer ip link set dev "$if" multicast off
+ fi
+
+ echo "phyint $if enable" >> \
+ "$smcroutedir/$table_name.conf"
+ done
+
"$MCD" -N -I "$table_name" -f "$smcroutedir/$table_name.conf" \
-P "$smcroutedir/$table_name.pid"
busywait "$BUSYWAIT_TIMEOUT" test -e "$smcroutedir/$table_name.pid"