> -----Original Message-----
> From: Suanming Mou <suanmi...@nvidia.com>
> Sent: Thursday, October 20, 2022 18:42
> To: Matan Azrad <ma...@nvidia.com>; Slava Ovsiienko <viachesl...@nvidia.com>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasl...@nvidia.com>; Ori Kam
> <or...@nvidia.com>; Gregory Etelson <getel...@nvidia.com>
> Subject: [PATCH v6 11/18] net/mlx5: add HW steering VLAN push, pop and VID
> modify flow actions
> 
> From: Gregory Etelson <getel...@nvidia.com>
> 
> Add PMD implementation for HW steering VLAN push, pop and modify flow
> actions.
> 
> HWS VLAN push flow action is triggered by a sequence of mandatory
> OF_PUSH_VLAN, OF_SET_VLAN_VID and optional OF_SET_VLAN_PCP flow actions
> commands.
> The commands must be arranged in the exact order:
> OF_PUSH_VLAN / OF_SET_VLAN_VID [ / OF_SET_VLAN_PCP ].
> In masked HWS VLAN push flow action template *ALL* the above flow actions
> must be masked.
> In non-masked HWS VLAN push flow action template *ALL* the above flow
> actions must not be masked.
> 
> Example:
> 
> flow actions_template <port id> create \ actions_template_id <action id> \
> template \
>   of_push_vlan / \
>   of_set_vlan_vid \
>   [ / of_set_vlan_pcp  ] / end \
> mask \
>   of_push_vlan ethertype 0 / \
>   of_set_vlan_vid vlan_vid 0 \
>   [ / of_set_vlan_pcp vlan_pcp 0 ] / end\
> 
> flow actions_template <port id> create \ actions_template_id <action id> \
> template \
>   of_push_vlan ethertype <E>/ \
>   of_set_vlan_vid vlan_vid <VID>\
>   [ / of_set_vlan_pcp  <PCP>] / end \
> mask \
>   of_push_vlan ethertype <type != 0> / \
>   of_set_vlan_vid vlan_vid <vid_mask != 0>\
>   [ / of_set_vlan_pcp vlan_pcp <pcp_mask != 0> ] / end\
> 
> HWS VLAN pop flow action is triggered by OF_POP_VLAN flow action command.
> HWS VLAN pop action template is always non-masked.
> 
> Example:
> 
> flow actions_template <port id> create \ actions_template_id <action id> \
> template of_pop_vlan / end mask of_pop_vlan / end
> 
> HWS VLAN VID modify flow action is triggered by a standalone OF_SET_VLAN_VID
> flow action command.
> HWS VLAN VID modify action template can be ether masked or non-masked.
> 
> Example:
> 
> flow actions_template <port id> create \ actions_template_id <action id> \
> template of_set_vlan_vid / end mask of_set_vlan_vid vlan_vid 0 / end
> 
> flow actions_template <port id> create \ actions_template_id <action id> \
> template of_set_vlan_vid vlan_vid 0x101 / end \ mask of_set_vlan_vid
> vlan_vid 0xffff / end
> 
> Signed-off-by: Gregory Etelson <getel...@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viachesl...@nvidia.com>

Reply via email to