70 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4ALL_TESTS="sticky"5NUM_NETIFS=46TEST_MAC=de:ad:be:ef:13:377source lib.sh8 9switch_create()10{11 ip link add dev br0 type bridge12 13 ip link set dev $swp1 master br014 ip link set dev $swp2 master br015 16 ip link set dev br0 up17 ip link set dev $h1 up18 ip link set dev $swp1 up19 ip link set dev $h2 up20 ip link set dev $swp2 up21}22 23switch_destroy()24{25 ip link set dev $swp2 down26 ip link set dev $h2 down27 ip link set dev $swp1 down28 ip link set dev $h1 down29 30 ip link del dev br031}32 33setup_prepare()34{35 h1=${NETIFS[p1]}36 swp1=${NETIFS[p2]}37 h2=${NETIFS[p3]}38 swp2=${NETIFS[p4]}39 40 switch_create41}42 43cleanup()44{45 pre_cleanup46 switch_destroy47}48 49sticky()50{51 bridge fdb add $TEST_MAC dev $swp1 master static sticky52 check_err $? "Could not add fdb entry"53 bridge fdb del $TEST_MAC dev $swp1 vlan 1 master static sticky54 $MZ $h2 -c 1 -a $TEST_MAC -t arp "request" -q55 bridge -j fdb show br br0 brport $swp1\56 | jq -e ".[] | select(.mac == \"$TEST_MAC\")" &> /dev/null57 check_err $? "Did not find FDB record when should"58 59 log_test "Sticky fdb entry"60}61 62trap cleanup EXIT63 64setup_prepare65setup_wait66 67tests_run68 69exit $EXIT_STATUS70