net/mlx5: support NVGRE encap action in sampling
authorSalem Sol <salems@nvidia.com>
Wed, 7 Apr 2021 11:49:38 +0000 (14:49 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 7 Apr 2021 23:09:24 +0000 (01:09 +0200)
Add support for NVGRE encap as a sample action
and validate it.

Signed-off-by: Salem Sol <salems@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
doc/guides/nics/mlx5.rst
doc/guides/rel_notes/release_21_05.rst
drivers/net/mlx5/mlx5_flow_dv.c

index f3bb464..aa1ddbc 100644 (file)
@@ -377,7 +377,7 @@ Limitations
   - For NIC Rx flow, supports ``MARK``, ``COUNT``, ``QUEUE``, ``RSS`` in the
     sample actions list.
   - For E-Switch mirroring flow, supports ``RAW ENCAP``, ``Port ID``,
-    ``VXLAN ENCAP`` in the sample actions list.
+    ``VXLAN ENCAP``, ``NVGRE ENCAP`` in the sample actions list.
 
 - Modify Field flow:
 
index 24ea62e..ba773de 100644 (file)
@@ -117,7 +117,7 @@ New Features
 
   Updated the Mellanox mlx5 driver with new features and improvements, including:
 
-  * Added support for VXLAN encap as a sample action.
+  * Added support for VXLAN and NVGRE encap as sample actions.
 
 * **Updated NXP DPAA driver.**
 
index f603091..51c95f1 100644 (file)
@@ -5259,6 +5259,7 @@ flow_dv_validate_action_sample(uint64_t *action_flags,
                        ++actions_n;
                        break;
                case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP:
+               case RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP:
                        ret = flow_dv_validate_action_l2_encap(dev,
                                                               sub_action_flags,
                                                               act, attr,
@@ -10431,6 +10432,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev,
                        break;
                }
                case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP:
+               case RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP:
                case RTE_FLOW_ACTION_TYPE_RAW_ENCAP:
                        /* Save the encap resource before sample */
                        pre_rix = dev_flow->handle->dvh.rix_encap_decap;