Commit 2ee5cb63 authored by Xin Long's avatar Xin Long Committed by Greg Kroah-Hartman

selftests: set sysctl bc_forwarding properly in router_broadcast.sh

[ Upstream commit 67c0aaa1 ]

sysctl setting bc_forwarding for $rp2 is needed when ping_test_from h2,
otherwise the bc packets from $rp2 won't be forwarded. This patch is to
add this setting for $rp2.

Also, as ping_test_from does grep "$from" only, which could match some
unexpected output, some test case doesn't really work, like:

  # ping_test_from $h2 198.51.200.255 198.51.200.2
    PING 198.51.200.255 from 198.51.100.2 veth3: 56(84) bytes of data.
    64 bytes from 198.51.100.1: icmp_seq=1 ttl=64 time=0.336 ms

When doing grep $form (198.51.200.2), the output could still match.
So change to grep "bytes from $from" instead.

Fixes: 40f98b9a ("selftests: add a selftest for directed broadcast forwarding")
Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent b9bf84c0
...@@ -145,16 +145,19 @@ bc_forwarding_disable() ...@@ -145,16 +145,19 @@ bc_forwarding_disable()
{ {
sysctl_set net.ipv4.conf.all.bc_forwarding 0 sysctl_set net.ipv4.conf.all.bc_forwarding 0
sysctl_set net.ipv4.conf.$rp1.bc_forwarding 0 sysctl_set net.ipv4.conf.$rp1.bc_forwarding 0
sysctl_set net.ipv4.conf.$rp2.bc_forwarding 0
} }
bc_forwarding_enable() bc_forwarding_enable()
{ {
sysctl_set net.ipv4.conf.all.bc_forwarding 1 sysctl_set net.ipv4.conf.all.bc_forwarding 1
sysctl_set net.ipv4.conf.$rp1.bc_forwarding 1 sysctl_set net.ipv4.conf.$rp1.bc_forwarding 1
sysctl_set net.ipv4.conf.$rp2.bc_forwarding 1
} }
bc_forwarding_restore() bc_forwarding_restore()
{ {
sysctl_restore net.ipv4.conf.$rp2.bc_forwarding
sysctl_restore net.ipv4.conf.$rp1.bc_forwarding sysctl_restore net.ipv4.conf.$rp1.bc_forwarding
sysctl_restore net.ipv4.conf.all.bc_forwarding sysctl_restore net.ipv4.conf.all.bc_forwarding
} }
...@@ -171,7 +174,7 @@ ping_test_from() ...@@ -171,7 +174,7 @@ ping_test_from()
log_info "ping $dip, expected reply from $from" log_info "ping $dip, expected reply from $from"
ip vrf exec $(master_name_get $oif) \ ip vrf exec $(master_name_get $oif) \
$PING -I $oif $dip -c 10 -i 0.1 -w $PING_TIMEOUT -b 2>&1 \ $PING -I $oif $dip -c 10 -i 0.1 -w $PING_TIMEOUT -b 2>&1 \
| grep $from &> /dev/null | grep "bytes from $from" > /dev/null
check_err_fail $fail $? check_err_fail $fail $?
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment