mirror of https://gitee.com/openkylin/linux.git
selftests: forwarding: Add PVID test case for VXLAN with VLAN-aware bridges
When using VLAN-aware bridges with VXLAN, the VLAN that is mapped to the VNI of the VXLAN device is that which is configured as "pvid untagged" on the corresponding bridge port. When these flags are toggled or when the VLAN is deleted entirely, remote hosts should not be able to receive packets from the VTEP. Add a test case for above mentioned scenarios. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0efe9ed98d
commit
55939b262a
|
@ -95,6 +95,7 @@ export VXPORT
|
|||
test_flood
|
||||
test_unicast
|
||||
test_learning
|
||||
test_pvid
|
||||
"}
|
||||
|
||||
NUM_NETIFS=6
|
||||
|
@ -610,6 +611,75 @@ test_unicast()
|
|||
done
|
||||
}
|
||||
|
||||
test_pvid()
|
||||
{
|
||||
local -a expects=(0 0 0 0 0)
|
||||
local mac=de:ad:be:ef:13:37
|
||||
local dst=192.0.2.100
|
||||
local vid=10
|
||||
|
||||
# Check that flooding works
|
||||
RET=0
|
||||
|
||||
expects[0]=10; expects[1]=10; expects[3]=10
|
||||
vxlan_flood_test $mac $dst $vid "${expects[@]}"
|
||||
|
||||
log_test "VXLAN: flood before pvid off"
|
||||
|
||||
# Toggle PVID off and test that flood to remote hosts does not work
|
||||
RET=0
|
||||
|
||||
bridge vlan add vid 10 dev vx10
|
||||
|
||||
expects[0]=10; expects[1]=0; expects[3]=0
|
||||
vxlan_flood_test $mac $dst $vid "${expects[@]}"
|
||||
|
||||
log_test "VXLAN: flood after pvid off"
|
||||
|
||||
# Toggle PVID on and test that flood to remote hosts does work
|
||||
RET=0
|
||||
|
||||
bridge vlan add vid 10 dev vx10 pvid untagged
|
||||
|
||||
expects[0]=10; expects[1]=10; expects[3]=10
|
||||
vxlan_flood_test $mac $dst $vid "${expects[@]}"
|
||||
|
||||
log_test "VXLAN: flood after pvid on"
|
||||
|
||||
# Add a new VLAN and test that it does not affect flooding
|
||||
RET=0
|
||||
|
||||
bridge vlan add vid 30 dev vx10
|
||||
|
||||
expects[0]=10; expects[1]=10; expects[3]=10
|
||||
vxlan_flood_test $mac $dst $vid "${expects[@]}"
|
||||
|
||||
bridge vlan del vid 30 dev vx10
|
||||
|
||||
log_test "VXLAN: flood after vlan add"
|
||||
|
||||
# Remove currently mapped VLAN and test that flood to remote hosts does
|
||||
# not work
|
||||
RET=0
|
||||
|
||||
bridge vlan del vid 10 dev vx10
|
||||
|
||||
expects[0]=10; expects[1]=0; expects[3]=0
|
||||
vxlan_flood_test $mac $dst $vid "${expects[@]}"
|
||||
|
||||
log_test "VXLAN: flood after vlan delete"
|
||||
|
||||
# Re-add the VLAN and test that flood to remote hosts does work
|
||||
RET=0
|
||||
|
||||
bridge vlan add vid 10 dev vx10 pvid untagged
|
||||
|
||||
expects[0]=10; expects[1]=10; expects[3]=10
|
||||
vxlan_flood_test $mac $dst $vid "${expects[@]}"
|
||||
|
||||
log_test "VXLAN: flood after vlan re-add"
|
||||
}
|
||||
|
||||
vxlan_ping_test()
|
||||
{
|
||||
local ping_dev=$1; shift
|
||||
|
|
Loading…
Reference in New Issue