| #!/bin/bash |
| # SPDX-License-Identifier: GPL-2.0 |
| |
| ALL_TESTS="sticky" |
| NUM_NETIFS=4 |
| TEST_MAC=de:ad:be:ef:13:37 |
| source lib.sh |
| |
| switch_create() |
| { |
| ip link add dev br0 type bridge |
| |
| ip link set dev $swp1 master br0 |
| ip link set dev $swp2 master br0 |
| |
| ip link set dev br0 up |
| ip link set dev $h1 up |
| ip link set dev $swp1 up |
| ip link set dev $h2 up |
| ip link set dev $swp2 up |
| } |
| |
| switch_destroy() |
| { |
| ip link set dev $swp2 down |
| ip link set dev $h2 down |
| ip link set dev $swp1 down |
| ip link set dev $h1 down |
| |
| ip link del dev br0 |
| } |
| |
| setup_prepare() |
| { |
| h1=${NETIFS[p1]} |
| swp1=${NETIFS[p2]} |
| h2=${NETIFS[p3]} |
| swp2=${NETIFS[p4]} |
| |
| switch_create |
| } |
| |
| cleanup() |
| { |
| pre_cleanup |
| switch_destroy |
| } |
| |
| sticky() |
| { |
| bridge fdb add $TEST_MAC dev $swp1 master static sticky |
| check_err $? "Could not add fdb entry" |
| bridge fdb del $TEST_MAC dev $swp1 vlan 1 master static sticky |
| $MZ $h2 -c 1 -a $TEST_MAC -t arp "request" -q |
| bridge -j fdb show br br0 brport $swp1\ |
| | jq -e ".[] | select(.mac == \"$TEST_MAC\")" &> /dev/null |
| check_err $? "Did not find FDB record when should" |
| |
| log_test "Sticky fdb entry" |
| } |
| |
| trap cleanup EXIT |
| |
| setup_prepare |
| setup_wait |
| |
| tests_run |
| |
| exit $EXIT_STATUS |