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: 40f98b9af943 ("selftests: add a selftest for directed broadcast forwarding")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 {
        sysctl_set net.ipv4.conf.all.bc_forwarding 0
        sysctl_set net.ipv4.conf.$rp1.bc_forwarding 0
+       sysctl_set net.ipv4.conf.$rp2.bc_forwarding 0
 }
 
 bc_forwarding_enable()
 {
        sysctl_set net.ipv4.conf.all.bc_forwarding 1
        sysctl_set net.ipv4.conf.$rp1.bc_forwarding 1
+       sysctl_set net.ipv4.conf.$rp2.bc_forwarding 1
 }
 
 bc_forwarding_restore()
 {
+       sysctl_restore net.ipv4.conf.$rp2.bc_forwarding
        sysctl_restore net.ipv4.conf.$rp1.bc_forwarding
        sysctl_restore net.ipv4.conf.all.bc_forwarding
 }
        log_info "ping $dip, expected reply from $from"
        ip vrf exec $(master_name_get $oif) \
                $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 $?
 }