Skip to content

Commit

Permalink
selftests: net: rtnetlink.sh: add fdb get test
Browse files Browse the repository at this point in the history
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 <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Roopa Prabhu authored and David S. Miller committed Dec 16, 2018
1 parent 474c3c8 commit 31d3195
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions tools/testing/selftests/net/rtnetlink.sh
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,58 @@ kci_test_ip6erspan()
ip netns del "$testns"
}

kci_test_fdb_get()
{
IP="ip -netns testns"
BRIDGE="bridge -netns testns"
brdev="test-br0"
vxlandev="vxlan10"
test_mac=de:ad:be:ef:13:37
localip="10.0.2.2"
dstip="10.0.2.3"
ret=0

bridge fdb help 2>&1 |grep -q 'bridge fdb get'
if [ $? -ne 0 ];then
echo "SKIP: fdb get tests: iproute2 too old"
return $ksft_skip
fi

ip netns add testns
if [ $? -ne 0 ]; then
echo "SKIP fdb get tests: cannot add net namespace $testns"
return $ksft_skip
fi

$IP link add "$vxlandev" type vxlan id 10 local $localip \
dstport 4789 2>/dev/null
check_err $?
$IP link add name "$brdev" type bridge &>/dev/null
check_err $?
$IP link set dev "$vxlandev" master "$brdev" &>/dev/null
check_err $?
$BRIDGE fdb add $test_mac dev "$vxlandev" master &>/dev/null
check_err $?
$BRIDGE fdb add $test_mac dev "$vxlandev" dst $dstip self &>/dev/null
check_err $?

$BRIDGE fdb get $test_mac brport "$vxlandev" 2>/dev/null | grep -q "dev $vxlandev master $brdev"
check_err $?
$BRIDGE fdb get $test_mac br "$brdev" 2>/dev/null | grep -q "dev $vxlandev master $brdev"
check_err $?
$BRIDGE fdb get $test_mac dev "$vxlandev" self 2>/dev/null | grep -q "dev $vxlandev dst $dstip"
check_err $?

ip netns del testns &>/dev/null

if [ $ret -ne 0 ]; then
echo "FAIL: bridge fdb get"
return 1
fi

echo "PASS: bridge fdb get"
}

kci_test_rtnl()
{
kci_add_dummy
Expand All @@ -979,6 +1031,7 @@ kci_test_rtnl()
kci_test_macsec
kci_test_ipsec
kci_test_ipsec_offload
kci_test_fdb_get

kci_del_dummy
}
Expand Down

0 comments on commit 31d3195

Please sign in to comment.