Skip to content

Commit 31d3195

Browse files
roopa-prabhudavem330
authored andcommitted
selftests: net: rtnetlink.sh: add fdb get test
tests the below three cases of bridge fdb get: [bridge, mac, vlan] [bridge_port, mac, vlan, flags=[NTF_MASTER]] [vxlandev, mac, flags=NTF_SELF] depends on iproute2 support for bridge fdb get. Signed-off-by: Roopa Prabhu <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 474c3c8 commit 31d3195

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

tools/testing/selftests/net/rtnetlink.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -955,6 +955,58 @@ kci_test_ip6erspan()
955955
ip netns del "$testns"
956956
}
957957

958+
kci_test_fdb_get()
959+
{
960+
IP="ip -netns testns"
961+
BRIDGE="bridge -netns testns"
962+
brdev="test-br0"
963+
vxlandev="vxlan10"
964+
test_mac=de:ad:be:ef:13:37
965+
localip="10.0.2.2"
966+
dstip="10.0.2.3"
967+
ret=0
968+
969+
bridge fdb help 2>&1 |grep -q 'bridge fdb get'
970+
if [ $? -ne 0 ];then
971+
echo "SKIP: fdb get tests: iproute2 too old"
972+
return $ksft_skip
973+
fi
974+
975+
ip netns add testns
976+
if [ $? -ne 0 ]; then
977+
echo "SKIP fdb get tests: cannot add net namespace $testns"
978+
return $ksft_skip
979+
fi
980+
981+
$IP link add "$vxlandev" type vxlan id 10 local $localip \
982+
dstport 4789 2>/dev/null
983+
check_err $?
984+
$IP link add name "$brdev" type bridge &>/dev/null
985+
check_err $?
986+
$IP link set dev "$vxlandev" master "$brdev" &>/dev/null
987+
check_err $?
988+
$BRIDGE fdb add $test_mac dev "$vxlandev" master &>/dev/null
989+
check_err $?
990+
$BRIDGE fdb add $test_mac dev "$vxlandev" dst $dstip self &>/dev/null
991+
check_err $?
992+
993+
$BRIDGE fdb get $test_mac brport "$vxlandev" 2>/dev/null | grep -q "dev $vxlandev master $brdev"
994+
check_err $?
995+
$BRIDGE fdb get $test_mac br "$brdev" 2>/dev/null | grep -q "dev $vxlandev master $brdev"
996+
check_err $?
997+
$BRIDGE fdb get $test_mac dev "$vxlandev" self 2>/dev/null | grep -q "dev $vxlandev dst $dstip"
998+
check_err $?
999+
1000+
ip netns del testns &>/dev/null
1001+
1002+
if [ $ret -ne 0 ]; then
1003+
echo "FAIL: bridge fdb get"
1004+
return 1
1005+
fi
1006+
1007+
echo "PASS: bridge fdb get"
1008+
}
1009+
9581010
kci_test_rtnl()
9591011
{
9601012
kci_add_dummy
@@ -979,6 +1031,7 @@ kci_test_rtnl()
9791031
kci_test_macsec
9801032
kci_test_ipsec
9811033
kci_test_ipsec_offload
1034+
kci_test_fdb_get
9821035

9831036
kci_del_dummy
9841037
}

0 commit comments

Comments
 (0)