selftests: net: mscc: ocelot: add a test for egress VLAN modification
For this test we are exercising the VCAP ES0 block's ability to match on a packet with a given VLAN ID, and push an ES0 TAG A with a VID derived from VID_A_VAL plus the classified VLAN. $eth3.200 is the generator port $eth0 is the bridged DUT port that receives $eth1 is the bridged DUT port that forwards and rewrites VID 200 to 300 on egress via VCAP ES0 $eth2 is the port that receives from the DUT port $eth1 Since the egress rewriting happens outside the bridging service, VID 300 does not need to be in the bridge VLAN table of $eth1. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4a907f6594
commit
434ef35095
|
@ -285,6 +285,44 @@ test_vlan_ingress_modify()
|
|||
ip link set br0 type bridge vlan_filtering 0
|
||||
}
|
||||
|
||||
test_vlan_egress_modify()
|
||||
{
|
||||
printf "Testing egress VLAN modification.. "
|
||||
|
||||
tc qdisc add dev $eth1 clsact
|
||||
|
||||
ip link set br0 type bridge vlan_filtering 1
|
||||
bridge vlan add dev $eth0 vid 200
|
||||
bridge vlan add dev $eth1 vid 200
|
||||
|
||||
tc filter add dev $eth1 egress chain $(ES0) pref 3 \
|
||||
protocol 802.1Q flower skip_sw vlan_id 200 vlan_prio 0 \
|
||||
action vlan modify id 300 priority 7
|
||||
|
||||
tcpdump_start $eth2
|
||||
|
||||
$MZ $eth3.200 -q -c 1 -p 64 -a $eth3_mac -b $eth2_mac -t ip
|
||||
|
||||
sleep 1
|
||||
|
||||
tcpdump_stop
|
||||
|
||||
if tcpdump_show | grep -q "$eth3_mac > $eth2_mac, .* vlan 300"; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
|
||||
tcpdump_cleanup
|
||||
|
||||
tc filter del dev $eth1 egress chain $(ES0) pref 3
|
||||
tc qdisc del dev $eth1 clsact
|
||||
|
||||
bridge vlan del dev $eth0 vid 200
|
||||
bridge vlan del dev $eth1 vid 200
|
||||
ip link set br0 type bridge vlan_filtering 0
|
||||
}
|
||||
|
||||
test_skbedit_priority()
|
||||
{
|
||||
local num_pkts=100
|
||||
|
@ -310,6 +348,7 @@ ALL_TESTS="
|
|||
test_vlan_pop
|
||||
test_vlan_push
|
||||
test_vlan_ingress_modify
|
||||
test_vlan_egress_modify
|
||||
test_skbedit_priority
|
||||
"
|
||||
|
||||
|
|
Loading…
Reference in New Issue