[dpdk-dev] [RFC] net/mlx5: support multiple groups and jump action
Yongseok Koh
yskoh at mellanox.com
Fri Sep 7 20:42:35 CEST 2018
Hi,
rte_flow has 'group' attribute and 'jump' action in order to support multiple
groups. This feature is known as multi-table support ('chain' in linux TC
flower) in general because a group means a table of flows. This will be added
to mlx5 PMD for 18.11. Example commands are:
flow create 0 transfer priority 1 ingress
pattern eth / vlan vid is 100 / end
actions of_pop_vlan / jump group 100 / end
flow create 0 transfer priority 1 ingress
pattern eth / vlan vid is 200 / end
actions of_pop_vlan / jump group 200 / end
flow create 0 transfer group 100 priority 2 ingress
pattern eth / ipv4 dst spec 192.168.40.0 dst prefix 24 / end
actions drop / end
flow create 0 transfer group 100 priority 2 ingress
pattern end
actions port_id id 1 / end
flow create 0 transfer group 200 priority 2 ingress
pattern eth / ipv4 dst spec 192.168.40.0 dst prefix 24 / end
actions of_push_vlan ethertype 0x0800 / of_set_vlan_vid vlan_vid 300 /
port_id 1 / end
flow create 0 transfer group 200 priority 2 ingress
pattern end
actions of_push_vlan ethertype 0x0800 / of_set_vlan_vid vlan_vid 400 /
port_id 1 / end
With theses flows, if a packet having vlan 200 and src_ip as 192.168.40.1, this
packet will hit the 2nd flow and the vlan tag will be stripped off. Then it will
hit the 5th flow because of the 'jump' action. As a result, the packet will have
a new vlan tag with vid=300 and will be forwarded to a different interface. If
the packet had vlan 100, it would be dropped according to 3rd flow.
Thanks,
Yongseok
More information about the dev
mailing list