VLAN actions support is implemented in librte_ethdev, and in test-pmd application, based on [1] Generic flow API. These actions conform to the VLAN actions defined in [2] the OpenFlow Switch Specification.
rte_flow defines the following VLAN actions: 1. OF_POP_VLAN Pop the outer-most VLAN header from the packet. 2. OF_PUSH_VLAN Push a new VLAN header onto the packet. 3. OF_SET_VLAN_VID Sets the ID of the outermost VLAN tag. 4. OF_SET_VLAN_PCP Sets the 3-bit priority field of the outermost VLAN tag. This series of patches adds support for those VLAN actions to the mlx5 PMD using the Direct Verbs interface. v2: - Code rebase on latest commits. v3: - mlx5 documentation update. v4: - Update the release notes with new the new features. - Minor bug fixes. Moti Haimovsky (7): net/mlx5: support for an action search in a list net/mlx5: add VLAN push/pop DR commands to glue net/mlx5: support pop flow action on VLAN header net/mlx5: support push flow action on VLAN header net/mlx5: support modify VLAN priority on VLAN hdr net/mlx5: supp modify VLAN ID on new VLAN header net/mlx5: supp modify VLAN ID on existing VLAN hdr doc/guides/nics/mlx5.rst | 33 ++- doc/guides/rel_notes/release_19_11.rst | 9 + drivers/net/mlx5/Makefile | 5 + drivers/net/mlx5/meson.build | 2 + drivers/net/mlx5/mlx5.c | 9 + drivers/net/mlx5/mlx5.h | 3 + drivers/net/mlx5/mlx5_flow.c | 23 ++ drivers/net/mlx5/mlx5_flow.h | 27 +- drivers/net/mlx5/mlx5_flow_dv.c | 521 +++++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5_glue.c | 29 ++ drivers/net/mlx5/mlx5_glue.h | 6 + drivers/net/mlx5/mlx5_prm.h | 1 + 12 files changed, 658 insertions(+), 10 deletions(-) -- 1.8.3.1