[v2,3/3] ethdev: remove vxlan and nvgre encapsulation commands
Checks
Commit Message
This patch removes the VXLAN and NVGRE encapsulation commands.
Those commands are subset of the TUNNEL_ENCAP command so there is no
need to keep both versions.
Signed-off-by: Ori Kam <orika@mellanox.com>
---
doc/guides/prog_guide/rte_flow.rst | 107 -------------------------------------
lib/librte_ethdev/rte_flow.h | 103 -----------------------------------
2 files changed, 210 deletions(-)
Comments
On 9/26/2018 10:00 PM, Ori Kam wrote:
> This patch removes the VXLAN and NVGRE encapsulation commands.
>
> Those commands are subset of the TUNNEL_ENCAP command so there is no
> need to keep both versions.
>
> Signed-off-by: Ori Kam <orika@mellanox.com>
Hi Declan, Awal,
I guess these were added by you, can you please check the patch and let us know
if there is an objection?
Thanks,
ferruh
Hi Ferruh,
The patch looks ok to me. No objection.
Regards,
Awal.
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Friday, October 5, 2018 1:59 PM
> To: Doherty, Declan <declan.doherty@intel.com>; Awal, Mohammad Abdul
> <mohammad.abdul.awal@intel.com>
> Cc: Ori Kam <orika@mellanox.com>; arybchenko@solarflare.com;
> stephen@networkplumber.org; adrien.mazarguil@6wind.com;
> dev@dpdk.org; dekelp@mellanox.com; thomas@monjalon.net;
> nelio.laranjeiro@6wind.com; yskoh@mellanox.com; shahafs@mellanox.com
> Subject: Re: [PATCH v2 3/3] ethdev: remove vxlan and nvgre encapsulation
> commands
>
> On 9/26/2018 10:00 PM, Ori Kam wrote:
> > This patch removes the VXLAN and NVGRE encapsulation commands.
> >
> > Those commands are subset of the TUNNEL_ENCAP command so there is
> no
> > need to keep both versions.
> >
> > Signed-off-by: Ori Kam <orika@mellanox.com>
>
> Hi Declan, Awal,
>
> I guess these were added by you, can you please check the patch and let us
> know
> if there is an objection?
>
> Thanks,
> ferruh
On 26/09/2018 22:00, Ori Kam wrote:
> This patch removes the VXLAN and NVGRE encapsulation commands.
>
> Those commands are subset of the TUNNEL_ENCAP command so there is no
> need to keep both versions.
>
> Signed-off-by: Ori Kam <orika@mellanox.com>
> ---
> doc/guides/prog_guide/rte_flow.rst | 107 -------------------------------------
> lib/librte_ethdev/rte_flow.h | 103 -----------------------------------
> 2 files changed, 210 deletions(-)
>
> diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
> index 3ba8018..9e739f3 100644
> --- a/doc/guides/prog_guide/rte_flow.rst
> +++ b/doc/guides/prog_guide/rte_flow.rst
> @@ -1969,113 +1969,6 @@ Implements ``OFPAT_PUSH_MPLS`` ("push a new MPLS tag") as defined by the
> | ``ethertype`` | EtherType |
> +---------------+-----------+
>
> -Action: ``VXLAN_ENCAP``
> -^^^^^^^^^^^^^^^^^^^^^^^
> -
> -Performs a VXLAN encapsulation action by encapsulating the matched flow in the
> -VXLAN tunnel as defined in the``rte_flow_action_vxlan_encap`` flow items
> -definition.
> -
> -This action modifies the payload of matched flows. The flow definition specified
> -in the ``rte_flow_action_tunnel_encap`` action structure must define a valid
> -VLXAN network overlay which conforms with RFC 7348 (Virtual eXtensible Local
> -Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks
> -over Layer 3 Networks). The pattern must be terminated with the
> -RTE_FLOW_ITEM_TYPE_END item type.
> -
> -.. _table_rte_flow_action_vxlan_encap:
> -
> -.. table:: VXLAN_ENCAP
> -
> - +----------------+-------------------------------------+
> - | Field | Value |
> - +================+=====================================+
> - | ``definition`` | Tunnel end-point overlay definition |
> - +----------------+-------------------------------------+
> -
> -.. _table_rte_flow_action_vxlan_encap_example:
> -
> -.. table:: IPv4 VxLAN flow pattern example.
> -
> - +-------+----------+
> - | Index | Item |
> - +=======+==========+
> - | 0 | Ethernet |
> - +-------+----------+
> - | 1 | IPv4 |
> - +-------+----------+
> - | 2 | UDP |
> - +-------+----------+
> - | 3 | VXLAN |
> - +-------+----------+
> - | 4 | END |
> - +-------+----------+
> -
> -Action: ``VXLAN_DECAP``
> -^^^^^^^^^^^^^^^^^^^^^^^
> -
> -Performs a decapsulation action by stripping all headers of the VXLAN tunnel
> -network overlay from the matched flow.
> -
> -The flow items pattern defined for the flow rule with which a ``VXLAN_DECAP``
> -action is specified, must define a valid VXLAN tunnel as per RFC7348. If the
> -flow pattern does not specify a valid VXLAN tunnel then a
> -RTE_FLOW_ERROR_TYPE_ACTION error should be returned.
> -
> -This action modifies the payload of matched flows.
> -
> -Action: ``NVGRE_ENCAP``
> -^^^^^^^^^^^^^^^^^^^^^^^
> -
> -Performs a NVGRE encapsulation action by encapsulating the matched flow in the
> -NVGRE tunnel as defined in the``rte_flow_action_tunnel_encap`` flow item
> -definition.
> -
> -This action modifies the payload of matched flows. The flow definition specified
> -in the ``rte_flow_action_tunnel_encap`` action structure must defined a valid
> -NVGRE network overlay which conforms with RFC 7637 (NVGRE: Network
> -Virtualization Using Generic Routing Encapsulation). The pattern must be
> -terminated with the RTE_FLOW_ITEM_TYPE_END item type.
> -
> -.. _table_rte_flow_action_nvgre_encap:
> -
> -.. table:: NVGRE_ENCAP
> -
> - +----------------+-------------------------------------+
> - | Field | Value |
> - +================+=====================================+
> - | ``definition`` | NVGRE end-point overlay definition |
> - +----------------+-------------------------------------+
> -
> -.. _table_rte_flow_action_nvgre_encap_example:
> -
> -.. table:: IPv4 NVGRE flow pattern example.
> -
> - +-------+----------+
> - | Index | Item |
> - +=======+==========+
> - | 0 | Ethernet |
> - +-------+----------+
> - | 1 | IPv4 |
> - +-------+----------+
> - | 2 | NVGRE |
> - +-------+----------+
> - | 3 | END |
> - +-------+----------+
> -
> -Action: ``NVGRE_DECAP``
> -^^^^^^^^^^^^^^^^^^^^^^^
> -
> -Performs a decapsulation action by stripping all headers of the NVGRE tunnel
> -network overlay from the matched flow.
> -
> -The flow items pattern defined for the flow rule with which a ``NVGRE_DECAP``
> -action is specified, must define a valid NVGRE tunnel as per RFC7637. If the
> -flow pattern does not specify a valid NVGRE tunnel then a
> -RTE_FLOW_ERROR_TYPE_ACTION error should be returned.
> -
> -This action modifies the payload of matched flows.
> -
> Action: ``TUNNEL_ENCAP``
> ^^^^^^^^^^^^^^^^^^^^^^^^
>
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index e29c561..55521e3 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -1473,40 +1473,6 @@ enum rte_flow_action_type {
> RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS,
>
> /**
> - * Encapsulate flow in VXLAN tunnel as defined in
> - * rte_flow_action_vxlan_encap action structure.
> - *
> - * See struct rte_flow_action_vxlan_encap.
> - */
> - RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP,
> -
> - /**
> - * Decapsulate outer most VXLAN tunnel from matched flow.
> - *
> - * If flow pattern does not define a valid VXLAN tunnel (as specified by
> - * RFC7348) then the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION
> - * error.
> - */
> - RTE_FLOW_ACTION_TYPE_VXLAN_DECAP,
> -
> - /**
> - * Encapsulate flow in NVGRE tunnel defined in the
> - * rte_flow_action_nvgre_encap action structure.
> - *
> - * See struct rte_flow_action_nvgre_encap.
> - */
> - RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP,
> -
> - /**
> - * Decapsulate outer most NVGRE tunnel from matched flow.
> - *
> - * If flow pattern does not define a valid NVGRE tunnel (as specified by
> - * RFC7637) then the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION
> - * error.
> - */
> - RTE_FLOW_ACTION_TYPE_NVGRE_DECAP,
> -
> - /**
> * Encapsulate the packet with tunnel header as defined in
> * rte_flow_action_tunnel_encap action structure.
> *
> @@ -1837,75 +1803,6 @@ struct rte_flow_action_of_push_mpls {
> * @warning
> * @b EXPERIMENTAL: this structure may change without prior notice
> *
> - * RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP
> - *
> - * VXLAN tunnel end-point encapsulation data definition
> - *
> - * The tunnel definition is provided through the flow item pattern, the
> - * provided pattern must conform to RFC7348 for the tunnel specified. The flow
> - * definition must be provided in order from the RTE_FLOW_ITEM_TYPE_ETH
> - * definition up the end item which is specified by RTE_FLOW_ITEM_TYPE_END.
> - *
> - * The mask field allows user to specify which fields in the flow item
> - * definitions can be ignored and which have valid data and can be used
> - * verbatim.
> - *
> - * Note: the last field is not used in the definition of a tunnel and can be
> - * ignored.
> - *
> - * Valid flow definition for RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP include:
> - *
> - * - ETH / IPV4 / UDP / VXLAN / END
> - * - ETH / IPV6 / UDP / VXLAN / END
> - * - ETH / VLAN / IPV4 / UDP / VXLAN / END
> - *
> - */
> -struct rte_flow_action_vxlan_encap {
> - /**
> - * Encapsulating vxlan tunnel definition
> - * (terminated by the END pattern item).
> - */
> - struct rte_flow_item *definition;
> -};
> -
> -/**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
> - * RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP
> - *
> - * NVGRE tunnel end-point encapsulation data definition
> - *
> - * The tunnel definition is provided through the flow item pattern the
> - * provided pattern must conform with RFC7637. The flow definition must be
> - * provided in order from the RTE_FLOW_ITEM_TYPE_ETH definition up the end item
> - * which is specified by RTE_FLOW_ITEM_TYPE_END.
> - *
> - * The mask field allows user to specify which fields in the flow item
> - * definitions can be ignored and which have valid data and can be used
> - * verbatim.
> - *
> - * Note: the last field is not used in the definition of a tunnel and can be
> - * ignored.
> - *
> - * Valid flow definition for RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP include:
> - *
> - * - ETH / IPV4 / NVGRE / END
> - * - ETH / VLAN / IPV6 / NVGRE / END
> - *
> - */
> -struct rte_flow_action_nvgre_encap {
> - /**
> - * Encapsulating vxlan tunnel definition
> - * (terminated by the END pattern item).
> - */
> - struct rte_flow_item *definition;
> -};
> -
> -/**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
> * RTE_FLOW_ACTION_TYPE_TUNNEL_ENCAP
> *
> * Tunnel end-point encapsulation data definition
Acked-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
@@ -1969,113 +1969,6 @@ Implements ``OFPAT_PUSH_MPLS`` ("push a new MPLS tag") as defined by the
| ``ethertype`` | EtherType |
+---------------+-----------+
-Action: ``VXLAN_ENCAP``
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Performs a VXLAN encapsulation action by encapsulating the matched flow in the
-VXLAN tunnel as defined in the``rte_flow_action_vxlan_encap`` flow items
-definition.
-
-This action modifies the payload of matched flows. The flow definition specified
-in the ``rte_flow_action_tunnel_encap`` action structure must define a valid
-VLXAN network overlay which conforms with RFC 7348 (Virtual eXtensible Local
-Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks
-over Layer 3 Networks). The pattern must be terminated with the
-RTE_FLOW_ITEM_TYPE_END item type.
-
-.. _table_rte_flow_action_vxlan_encap:
-
-.. table:: VXLAN_ENCAP
-
- +----------------+-------------------------------------+
- | Field | Value |
- +================+=====================================+
- | ``definition`` | Tunnel end-point overlay definition |
- +----------------+-------------------------------------+
-
-.. _table_rte_flow_action_vxlan_encap_example:
-
-.. table:: IPv4 VxLAN flow pattern example.
-
- +-------+----------+
- | Index | Item |
- +=======+==========+
- | 0 | Ethernet |
- +-------+----------+
- | 1 | IPv4 |
- +-------+----------+
- | 2 | UDP |
- +-------+----------+
- | 3 | VXLAN |
- +-------+----------+
- | 4 | END |
- +-------+----------+
-
-Action: ``VXLAN_DECAP``
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Performs a decapsulation action by stripping all headers of the VXLAN tunnel
-network overlay from the matched flow.
-
-The flow items pattern defined for the flow rule with which a ``VXLAN_DECAP``
-action is specified, must define a valid VXLAN tunnel as per RFC7348. If the
-flow pattern does not specify a valid VXLAN tunnel then a
-RTE_FLOW_ERROR_TYPE_ACTION error should be returned.
-
-This action modifies the payload of matched flows.
-
-Action: ``NVGRE_ENCAP``
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Performs a NVGRE encapsulation action by encapsulating the matched flow in the
-NVGRE tunnel as defined in the``rte_flow_action_tunnel_encap`` flow item
-definition.
-
-This action modifies the payload of matched flows. The flow definition specified
-in the ``rte_flow_action_tunnel_encap`` action structure must defined a valid
-NVGRE network overlay which conforms with RFC 7637 (NVGRE: Network
-Virtualization Using Generic Routing Encapsulation). The pattern must be
-terminated with the RTE_FLOW_ITEM_TYPE_END item type.
-
-.. _table_rte_flow_action_nvgre_encap:
-
-.. table:: NVGRE_ENCAP
-
- +----------------+-------------------------------------+
- | Field | Value |
- +================+=====================================+
- | ``definition`` | NVGRE end-point overlay definition |
- +----------------+-------------------------------------+
-
-.. _table_rte_flow_action_nvgre_encap_example:
-
-.. table:: IPv4 NVGRE flow pattern example.
-
- +-------+----------+
- | Index | Item |
- +=======+==========+
- | 0 | Ethernet |
- +-------+----------+
- | 1 | IPv4 |
- +-------+----------+
- | 2 | NVGRE |
- +-------+----------+
- | 3 | END |
- +-------+----------+
-
-Action: ``NVGRE_DECAP``
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Performs a decapsulation action by stripping all headers of the NVGRE tunnel
-network overlay from the matched flow.
-
-The flow items pattern defined for the flow rule with which a ``NVGRE_DECAP``
-action is specified, must define a valid NVGRE tunnel as per RFC7637. If the
-flow pattern does not specify a valid NVGRE tunnel then a
-RTE_FLOW_ERROR_TYPE_ACTION error should be returned.
-
-This action modifies the payload of matched flows.
-
Action: ``TUNNEL_ENCAP``
^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1473,40 +1473,6 @@ enum rte_flow_action_type {
RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS,
/**
- * Encapsulate flow in VXLAN tunnel as defined in
- * rte_flow_action_vxlan_encap action structure.
- *
- * See struct rte_flow_action_vxlan_encap.
- */
- RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP,
-
- /**
- * Decapsulate outer most VXLAN tunnel from matched flow.
- *
- * If flow pattern does not define a valid VXLAN tunnel (as specified by
- * RFC7348) then the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION
- * error.
- */
- RTE_FLOW_ACTION_TYPE_VXLAN_DECAP,
-
- /**
- * Encapsulate flow in NVGRE tunnel defined in the
- * rte_flow_action_nvgre_encap action structure.
- *
- * See struct rte_flow_action_nvgre_encap.
- */
- RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP,
-
- /**
- * Decapsulate outer most NVGRE tunnel from matched flow.
- *
- * If flow pattern does not define a valid NVGRE tunnel (as specified by
- * RFC7637) then the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION
- * error.
- */
- RTE_FLOW_ACTION_TYPE_NVGRE_DECAP,
-
- /**
* Encapsulate the packet with tunnel header as defined in
* rte_flow_action_tunnel_encap action structure.
*
@@ -1837,75 +1803,6 @@ struct rte_flow_action_of_push_mpls {
* @warning
* @b EXPERIMENTAL: this structure may change without prior notice
*
- * RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP
- *
- * VXLAN tunnel end-point encapsulation data definition
- *
- * The tunnel definition is provided through the flow item pattern, the
- * provided pattern must conform to RFC7348 for the tunnel specified. The flow
- * definition must be provided in order from the RTE_FLOW_ITEM_TYPE_ETH
- * definition up the end item which is specified by RTE_FLOW_ITEM_TYPE_END.
- *
- * The mask field allows user to specify which fields in the flow item
- * definitions can be ignored and which have valid data and can be used
- * verbatim.
- *
- * Note: the last field is not used in the definition of a tunnel and can be
- * ignored.
- *
- * Valid flow definition for RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP include:
- *
- * - ETH / IPV4 / UDP / VXLAN / END
- * - ETH / IPV6 / UDP / VXLAN / END
- * - ETH / VLAN / IPV4 / UDP / VXLAN / END
- *
- */
-struct rte_flow_action_vxlan_encap {
- /**
- * Encapsulating vxlan tunnel definition
- * (terminated by the END pattern item).
- */
- struct rte_flow_item *definition;
-};
-
-/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
- * RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP
- *
- * NVGRE tunnel end-point encapsulation data definition
- *
- * The tunnel definition is provided through the flow item pattern the
- * provided pattern must conform with RFC7637. The flow definition must be
- * provided in order from the RTE_FLOW_ITEM_TYPE_ETH definition up the end item
- * which is specified by RTE_FLOW_ITEM_TYPE_END.
- *
- * The mask field allows user to specify which fields in the flow item
- * definitions can be ignored and which have valid data and can be used
- * verbatim.
- *
- * Note: the last field is not used in the definition of a tunnel and can be
- * ignored.
- *
- * Valid flow definition for RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP include:
- *
- * - ETH / IPV4 / NVGRE / END
- * - ETH / VLAN / IPV6 / NVGRE / END
- *
- */
-struct rte_flow_action_nvgre_encap {
- /**
- * Encapsulating vxlan tunnel definition
- * (terminated by the END pattern item).
- */
- struct rte_flow_item *definition;
-};
-
-/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
* RTE_FLOW_ACTION_TYPE_TUNNEL_ENCAP
*
* Tunnel end-point encapsulation data definition