Test RTE flow API VLAN ID matching
Make sure that RTE flow API VLAN ID matching is carried out correctly
Prepare
TEST_ETHDEV_STARTED
stateSubstisute environment bindings in flow_rule_pattern
Set NIC MAC address in pattern if promiscuous is disabled
Make flow rule attributes with only one "ingress" attribute
Make the TCI mask of flow_rule_pattern do not cover non VLAN ID bits
Get the VLAN ID value from flow_rule_pattern
Make two flow rule patterns from flow_rule_pattern: one that has non VLAN ID bits set, another that has these bits cleared. Both patterns have the same VLAN ID
Make flow rule actions with only one "drop" action
Validate and create flow rule with non VLAN ID bits cleared
Prepare template with non VLAN ID bits cleared that matches the filter
Prepare template with different VLAN ID which does not match the filter
Prepare template with non VLAN ID bits set which should still match the filter
Prepare template with different VLAN ID and non VLAN ID bits set which does not match the filter
Enable promiscuous mode if need be
Transmit packets with match template. Check that the packets were dropped.
Transmit and receive packets with dissimilar templates. Check that packets were received.
Destroy the flow rule
Validate and create flow rule with non VLAN ID bits set
Check that the same packets are received or dropped as before
Parameters:
flow_rule_pattern |
Flow rule pattern that must have VLAN ID match |
promisc |
Test with promiscuous mode enabled if |