[v5,2/6] net/mlx5: support VXLAN encap action in sample
Checks
Commit Message
Add support for VXLAN encap as a sample action
and validate it.
Signed-off-by: Salem Sol <salems@nvidia.com>
---
doc/guides/nics/mlx5.rst | 4 ++--
doc/guides/rel_notes/release_21_05.rst | 6 ++++++
drivers/net/mlx5/mlx5_flow_dv.c | 11 +++++++++++
3 files changed, 19 insertions(+), 2 deletions(-)
@@ -376,8 +376,8 @@ Limitations
encapsulation actions.
- For NIC Rx flow, supports ``MARK``, ``COUNT``, ``QUEUE``, ``RSS`` in the
sample actions list.
- - For E-Switch mirroring flow, supports ``RAW ENCAP``, ``Port ID`` in the
- sample actions list.
+ - For E-Switch mirroring flow, supports ``RAW ENCAP``, ``Port ID``,
+ ``VXLAN ENCAP`` in the sample actions list.
- Modify Field flow:
@@ -65,6 +65,12 @@ New Features
* Added support for txgbevf PMD.
+* **Updated Mellanox mlx5 driver.**
+
+ Updated the Mellanox mlx5 driver with new features and improvements, including:
+
+ * Added support for VXLAN encap as a sample action.
+
* **Updated testpmd.**
* Added command to display Rx queue used descriptor count.
@@ -5242,6 +5242,16 @@ flow_dv_validate_action_sample(uint64_t *action_flags,
return ret;
++actions_n;
break;
+ case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP:
+ ret = flow_dv_validate_action_l2_encap(dev,
+ sub_action_flags,
+ act, attr,
+ error);
+ if (ret < 0)
+ return ret;
+ sub_action_flags |= MLX5_FLOW_ACTION_ENCAP;
+ ++actions_n;
+ break;
default:
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ACTION,
@@ -10407,6 +10417,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev,
action_flags |= MLX5_FLOW_ACTION_PORT_ID;
break;
}
+ case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP:
case RTE_FLOW_ACTION_TYPE_RAW_ENCAP:
/* Save the encap resource before sample */
pre_rix = dev_flow->handle->dvh.rix_encap_decap;