Skip to content

Commit

Permalink
selftests: forwarding: Add test case for traffic redirection from a l…
Browse files Browse the repository at this point in the history
…ocked port

Check that traffic can be redirected from a locked bridge port and that
it does not create locked FDB entries.

Cc: Hans J. Schultz <netdev@kapio-technology.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ido Schimmel authored and David S. Miller committed Aug 14, 2023
1 parent 9793a5a commit 38c43a1
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions tools/testing/selftests/net/forwarding/bridge_locked_port.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ALL_TESTS="
locked_port_mab_roam
locked_port_mab_config
locked_port_mab_flush
locked_port_mab_redirect
"

NUM_NETIFS=4
Expand Down Expand Up @@ -319,6 +320,41 @@ locked_port_mab_flush()
log_test "Locked port MAB FDB flush"
}

# Check that traffic can be redirected from a locked bridge port and that it
# does not create locked FDB entries.
locked_port_mab_redirect()
{
RET=0
check_port_mab_support || return 0

bridge link set dev $swp1 learning on locked on mab on
tc qdisc add dev $swp1 clsact
tc filter add dev $swp1 ingress protocol all pref 1 handle 101 flower \
action mirred egress redirect dev $swp2

ping_do $h1 192.0.2.2
check_err $? "Ping did not work with redirection"

bridge fdb get `mac_get $h1` br br0 vlan 1 2> /dev/null | \
grep "dev $swp1" | grep -q "locked"
check_fail $? "Locked entry created for redirected traffic"

tc filter del dev $swp1 ingress protocol all pref 1 handle 101 flower

ping_do $h1 192.0.2.2
check_fail $? "Ping worked without redirection"

bridge fdb get `mac_get $h1` br br0 vlan 1 2> /dev/null | \
grep "dev $swp1" | grep -q "locked"
check_err $? "Locked entry not created after deleting filter"

bridge fdb del `mac_get $h1` vlan 1 dev $swp1 master
tc qdisc del dev $swp1 clsact
bridge link set dev $swp1 learning off locked off mab off

log_test "Locked port MAB redirect"
}

trap cleanup EXIT

setup_prepare
Expand Down

0 comments on commit 38c43a1

Please sign in to comment.