From: Shahaf Shuler <shahafs@mellanox.com>
To: Thomas Monjalon <thomas@monjalon.net>,
Wenzhuo Lu <wenzhuo.lu@intel.com>,
Jingjing Wu <jingjing.wu@intel.com>,
Bernard Iremonger <bernard.iremonger@intel.com>,
Adrien Mazarguil <adrien.mazarguil@6wind.com>,
Hemant Agrawal <hemant.agrawal@nxp.com>,
Shreyansh Jain <shreyansh.jain@nxp.com>,
John Daley <johndale@cisco.com>,
Hyong Youb Kim <hyonkim@cisco.com>,
Gaetan Rivet <gaetan.rivet@6wind.com>,
Beilei Xing <beilei.xing@intel.com>,
Qi Zhang <qi.z.zhang@intel.com>, Matan Azrad <matan@mellanox.com>,
Yongseok Koh <yskoh@mellanox.com>,
Andrew Rybchenko <arybchenko@solarflare.com>,
John McNamara <john.mcnamara@intel.com>,
Pablo de Lara <pablo.de.lara.guarch@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Harry van Haaren <harry.van.haaren@intel.com>,
Xiaoyun Li <xiaoyun.li@intel.com>,
Ferruh Yigit <ferruh.yigit@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] ethdev: deprecate legacy filter API
Date: Wed, 17 Apr 2019 05:41:20 +0000 [thread overview]
Message-ID: <AM0PR0502MB37956D6E641A2AD0E181DF92C3250@AM0PR0502MB3795.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <20190417003627.24607-1-thomas@monjalon.net>
Wednesday, April 17, 2019 3:36 AM, Thomas Monjalon:
> Subject: [PATCH] ethdev: deprecate legacy filter API
>
> As stated in the deprecation notice from December 2016, "the legacy filter
> API, including rte_eth_dev_filter_supported(),
> rte_eth_dev_filter_ctrl() as well as filter types MACVLAN, ETHERTYPE,
> FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR, HASH and L2_TUNNEL, is superseded
> by the generic flow API (rte_flow)".
>
> After a long wait of more than two years, the legacy filter API is marked as
> deprecated, while still tested with testpmd and the tep_termination
> example.
>
> The next step will be to announce a deadline for complete removal.
> As preparation of the removal of rte_eth_ctrl.h, RTE_ETH_FLOW_*,
> RTE_TUNNEL_TYPE_* and RTE_ETH_HASH_FUNCTION_* definitions are
> moved to rte_ethdev.h and rte_flow.h.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
It's about time 😊.
> ---
> app/test-pmd/cmdline.c | 1 -
> app/test-pmd/cmdline_flow.c | 1 -
> drivers/net/dpaa2/dpaa2_flow.c | 1 -
> drivers/net/dpaa2/dpaa2_mux.c | 1 -
> drivers/net/enic/enic_clsf.c | 1 -
> drivers/net/failsafe/failsafe_ops.c | 20 +--------
> drivers/net/i40e/i40e_ethdev.c | 1 -
> drivers/net/i40e/i40e_ethdev.h | 1 -
> drivers/net/i40e/i40e_flow.c | 1 -
> drivers/net/mlx4/mlx4_flow.c | 1 -
> drivers/net/mlx4/mlx4_flow.h | 1 -
> drivers/net/mlx5/mlx5_flow.c | 1 -
> drivers/net/mlx5/mlx5_flow_dv.c | 1 -
> drivers/net/mlx5/mlx5_flow_verbs.c | 1 -
> drivers/net/sfc/sfc_flow.c | 1 -
> examples/tep_termination/Makefile | 2 +
> examples/tep_termination/meson.build | 1 +
> lib/librte_ethdev/rte_eth_ctrl.h | 64 +---------------------------
> lib/librte_ethdev/rte_ethdev.h | 62 +++++++++++++++++++++++++--
> lib/librte_ethdev/rte_flow.h | 11 ++++-
> 20 files changed, 75 insertions(+), 99 deletions(-)
>
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> 2ab03c111..3e405d262 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -44,7 +44,6 @@
> #include <rte_ethdev.h>
> #include <rte_string_fns.h>
> #include <rte_devargs.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_flow.h>
> #include <rte_gro.h>
>
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 54ff1753c..3070e0e0d 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -15,7 +15,6 @@
>
> #include <rte_string_fns.h>
> #include <rte_common.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_ethdev.h>
> #include <rte_byteorder.h>
> #include <cmdline_parse.h>
> diff --git a/drivers/net/dpaa2/dpaa2_flow.c
> b/drivers/net/dpaa2/dpaa2_flow.c index c94c7ef6b..98f68139b 100644
> --- a/drivers/net/dpaa2/dpaa2_flow.c
> +++ b/drivers/net/dpaa2/dpaa2_flow.c
> @@ -12,7 +12,6 @@
>
> #include <rte_ethdev.h>
> #include <rte_log.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_malloc.h>
> #include <rte_flow_driver.h>
> #include <rte_tailq.h>
> diff --git a/drivers/net/dpaa2/dpaa2_mux.c
> b/drivers/net/dpaa2/dpaa2_mux.c index 1d043dcdc..e487c6b54 100644
> --- a/drivers/net/dpaa2/dpaa2_mux.c
> +++ b/drivers/net/dpaa2/dpaa2_mux.c
> @@ -12,7 +12,6 @@
>
> #include <rte_ethdev.h>
> #include <rte_log.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_malloc.h>
> #include <rte_flow_driver.h>
> #include <rte_tailq.h>
> diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c index
> 48c8e6264..53f57b01a 100644
> --- a/drivers/net/enic/enic_clsf.c
> +++ b/drivers/net/enic/enic_clsf.c
> @@ -11,7 +11,6 @@
> #include <rte_tcp.h>
> #include <rte_udp.h>
> #include <rte_sctp.h>
> -#include <rte_eth_ctrl.h>
>
> #include "enic_compat.h"
> #include "enic.h"
> diff --git a/drivers/net/failsafe/failsafe_ops.c
> b/drivers/net/failsafe/failsafe_ops.c
> index 65957a2e5..43d6a828f 100644
> --- a/drivers/net/failsafe/failsafe_ops.c
> +++ b/drivers/net/failsafe/failsafe_ops.c
> @@ -1208,33 +1208,17 @@ fs_rss_hash_update(struct rte_eth_dev *dev, }
>
> static int
> -fs_filter_ctrl(struct rte_eth_dev *dev,
> +fs_filter_ctrl(struct rte_eth_dev *dev __rte_unused,
> enum rte_filter_type type,
> enum rte_filter_op op,
> void *arg)
> {
> - struct sub_device *sdev;
> - uint8_t i;
> - int ret;
> -
> if (type == RTE_ETH_FILTER_GENERIC &&
> op == RTE_ETH_FILTER_GET) {
> *(const void **)arg = &fs_flow_ops;
> return 0;
> }
> - fs_lock(dev, 0);
> - FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) {
> - DEBUG("Calling rte_eth_dev_filter_ctrl on sub_device %d",
> i);
> - ret = rte_eth_dev_filter_ctrl(PORT_ID(sdev), type, op, arg);
> - if ((ret = fs_err(sdev, ret))) {
> - ERROR("Operation rte_eth_dev_filter_ctrl failed for
> sub_device %d"
> - " with error %d", i, ret);
> - fs_unlock(dev, 0);
> - return ret;
> - }
> - }
> - fs_unlock(dev, 0);
> - return 0;
> + return -ENOTSUP;
> }
>
> const struct eth_dev_ops failsafe_ops = { diff --git
> a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index
> 5b01dc1f0..f6fc0056c 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -24,7 +24,6 @@
> #include <rte_memcpy.h>
> #include <rte_alarm.h>
> #include <rte_dev.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_tailq.h>
> #include <rte_hash_crc.h>
>
> diff --git a/drivers/net/i40e/i40e_ethdev.h
> b/drivers/net/i40e/i40e_ethdev.h index 930eb9aba..98550380e 100644
> --- a/drivers/net/i40e/i40e_ethdev.h
> +++ b/drivers/net/i40e/i40e_ethdev.h
> @@ -7,7 +7,6 @@
>
> #include <stdint.h>
>
> -#include <rte_eth_ctrl.h>
> #include <rte_time.h>
> #include <rte_kvargs.h>
> #include <rte_hash.h>
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
> index 3694df255..5447e4ea5 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -15,7 +15,6 @@
> #include <rte_ethdev_driver.h>
> #include <rte_log.h>
> #include <rte_malloc.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_tailq.h>
> #include <rte_flow_driver.h>
>
> diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c
> index 038dc71d3..1dcdb31a0 100644
> --- a/drivers/net/mlx4/mlx4_flow.c
> +++ b/drivers/net/mlx4/mlx4_flow.c
> @@ -28,7 +28,6 @@
>
> #include <rte_byteorder.h>
> #include <rte_errno.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_ethdev_driver.h>
> #include <rte_ether.h>
> #include <rte_flow.h>
> diff --git a/drivers/net/mlx4/mlx4_flow.h b/drivers/net/mlx4/mlx4_flow.h
> index 03a4bd05e..26465c66a 100644
> --- a/drivers/net/mlx4/mlx4_flow.h
> +++ b/drivers/net/mlx4/mlx4_flow.h
> @@ -18,7 +18,6 @@
> #pragma GCC diagnostic error "-Wpedantic"
> #endif
>
> -#include <rte_eth_ctrl.h>
> #include <rte_ethdev_driver.h>
> #include <rte_flow.h>
> #include <rte_flow_driver.h>
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 1c78a5f8e..63420fc3e 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -21,7 +21,6 @@
>
> #include <rte_common.h>
> #include <rte_ether.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_ethdev_driver.h>
> #include <rte_flow.h>
> #include <rte_flow_driver.h>
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c index ccb2f7593..04c969b73 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -19,7 +19,6 @@
>
> #include <rte_common.h>
> #include <rte_ether.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_ethdev_driver.h>
> #include <rte_flow.h>
> #include <rte_flow_driver.h>
> diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c
> b/drivers/net/mlx5/mlx5_flow_verbs.c
> index 3956df1a7..dc074bfb3 100644
> --- a/drivers/net/mlx5/mlx5_flow_verbs.c
> +++ b/drivers/net/mlx5/mlx5_flow_verbs.c
> @@ -20,7 +20,6 @@
>
> #include <rte_common.h>
> #include <rte_ether.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_ethdev_driver.h>
> #include <rte_flow.h>
> #include <rte_flow_driver.h>
> diff --git a/drivers/net/sfc/sfc_flow.c b/drivers/net/sfc/sfc_flow.c index
> cffcd9a4c..944296d7d 100644
> --- a/drivers/net/sfc/sfc_flow.c
> +++ b/drivers/net/sfc/sfc_flow.c
> @@ -11,7 +11,6 @@
> #include <rte_tailq.h>
> #include <rte_common.h>
> #include <rte_ethdev_driver.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_ether.h>
> #include <rte_flow.h>
> #include <rte_flow_driver.h>
> diff --git a/examples/tep_termination/Makefile
> b/examples/tep_termination/Makefile
> index 2da41922f..222679bc9 100644
> --- a/examples/tep_termination/Makefile
> +++ b/examples/tep_termination/Makefile
> @@ -26,6 +26,7 @@ LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)
> LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)
>
> CFLAGS += -DALLOW_EXPERIMENTAL_API
> +CFLAGS += -Wno-deprecated-declarations
>
> build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
> $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
> @@ -60,6 +61,7 @@ endif CFLAGS += -DALLOW_EXPERIMENTAL_API
> CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS)
> +CFLAGS += -Wno-deprecated-declarations
>
> include $(RTE_SDK)/mk/rte.extapp.mk
> endif
> diff --git a/examples/tep_termination/meson.build
> b/examples/tep_termination/meson.build
> index 6d3636243..0e0cb44f0 100644
> --- a/examples/tep_termination/meson.build
> +++ b/examples/tep_termination/meson.build
> @@ -11,6 +11,7 @@ if host_machine.system() != 'linux'
> endif
> deps += ['hash', 'vhost']
> allow_experimental_apis = true
> +cflags += '-Wno-deprecated-declarations'
> sources = files(
> 'main.c', 'vxlan.c', 'vxlan_setup.c'
> )
> diff --git a/lib/librte_ethdev/rte_eth_ctrl.h
> b/lib/librte_ethdev/rte_eth_ctrl.h
> index b3416341b..9fb0657e5 100644
> --- a/lib/librte_ethdev/rte_eth_ctrl.h
> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> @@ -8,55 +8,20 @@
> #include <stdint.h>
> #include <rte_common.h>
> #include "rte_ether.h"
> +#include "rte_flow.h"
>
> /**
> + * @deprecated Please use rte_flow API instead of this legacy one.
> * @file
> *
> * Ethernet device features and related data structures used
> * by control APIs should be defined in this file.
> - *
> */
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> -/*
> - * A packet can be identified by hardware as different flow types. Different
> - * NIC hardwares may support different flow types.
> - * Basically, the NIC hardware identifies the flow type as deep protocol as
> - * possible, and exclusively. For example, if a packet is identified as
> - * 'RTE_ETH_FLOW_NONFRAG_IPV4_TCP', it will not be any of other flow
> types,
> - * though it is an actual IPV4 packet.
> - * Note that the flow types are used to define RSS offload types in
> - * rte_ethdev.h.
> - */
> -#define RTE_ETH_FLOW_UNKNOWN 0
> -#define RTE_ETH_FLOW_RAW 1
> -#define RTE_ETH_FLOW_IPV4 2
> -#define RTE_ETH_FLOW_FRAG_IPV4 3
> -#define RTE_ETH_FLOW_NONFRAG_IPV4_TCP 4
> -#define RTE_ETH_FLOW_NONFRAG_IPV4_UDP 5
> -#define RTE_ETH_FLOW_NONFRAG_IPV4_SCTP 6
> -#define RTE_ETH_FLOW_NONFRAG_IPV4_OTHER 7
> -#define RTE_ETH_FLOW_IPV6 8
> -#define RTE_ETH_FLOW_FRAG_IPV6 9
> -#define RTE_ETH_FLOW_NONFRAG_IPV6_TCP 10
> -#define RTE_ETH_FLOW_NONFRAG_IPV6_UDP 11
> -#define RTE_ETH_FLOW_NONFRAG_IPV6_SCTP 12 -#define
> RTE_ETH_FLOW_NONFRAG_IPV6_OTHER 13
> -#define RTE_ETH_FLOW_L2_PAYLOAD 14
> -#define RTE_ETH_FLOW_IPV6_EX 15
> -#define RTE_ETH_FLOW_IPV6_TCP_EX 16
> -#define RTE_ETH_FLOW_IPV6_UDP_EX 17
> -#define RTE_ETH_FLOW_PORT 18
> - /**< Consider device port number as a flow differentiator */
> -#define RTE_ETH_FLOW_VXLAN 19 /**< VXLAN protocol based flow
> */
> -#define RTE_ETH_FLOW_GENEVE 20 /**< GENEVE protocol based
> flow */
> -#define RTE_ETH_FLOW_NVGRE 21 /**< NVGRE protocol based flow
> */
> -#define RTE_ETH_FLOW_VXLAN_GPE 22 /**< VXLAN-GPE protocol
> based flow */
> -#define RTE_ETH_FLOW_MAX 23
> -
> /**
> * Feature filter types
> */
> @@ -218,21 +183,6 @@ struct rte_eth_ntuple_filter {
> uint16_t queue; /**< Queue assigned to when match*/
> };
>
> -/**
> - * Tunneled type.
> - */
> -enum rte_eth_tunnel_type {
> - RTE_TUNNEL_TYPE_NONE = 0,
> - RTE_TUNNEL_TYPE_VXLAN,
> - RTE_TUNNEL_TYPE_GENEVE,
> - RTE_TUNNEL_TYPE_TEREDO,
> - RTE_TUNNEL_TYPE_NVGRE,
> - RTE_TUNNEL_TYPE_IP_IN_GRE,
> - RTE_L2_TUNNEL_TYPE_E_TAG,
> - RTE_TUNNEL_TYPE_VXLAN_GPE,
> - RTE_TUNNEL_TYPE_MAX,
> -};
> -
> /**
> * filter type of tunneling packet
> */
> @@ -765,16 +715,6 @@ enum rte_eth_hash_filter_info_type {
> RTE_ETH_HASH_FILTER_INFO_TYPE_MAX,
> };
>
> -/**
> - * Hash function types.
> - */
> -enum rte_eth_hash_function {
> - RTE_ETH_HASH_FUNCTION_DEFAULT = 0,
> - RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */
> - RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */
> - RTE_ETH_HASH_FUNCTION_MAX,
> -};
> -
> #define RTE_SYM_HASH_MASK_ARRAY_SIZE \
> (RTE_ALIGN(RTE_ETH_FLOW_MAX, UINT64_BIT)/UINT64_BIT)
> /**
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 40a068fe8..ca3a990ae 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -158,7 +158,6 @@ extern "C" {
> #include <rte_config.h>
>
> #include "rte_ether.h"
> -#include "rte_eth_ctrl.h"
> #include "rte_dev_info.h"
>
> extern int rte_eth_dev_logtype;
> @@ -448,8 +447,43 @@ struct rte_eth_rss_conf { };
>
> /*
> - * The RSS offload types are defined based on flow types which are defined
> - * in rte_eth_ctrl.h. Different NIC hardwares may support different RSS
> offload
> + * A packet can be identified by hardware as different flow types.
> +Different
> + * NIC hardwares may support different flow types.
> + * Basically, the NIC hardware identifies the flow type as deep
> +protocol as
> + * possible, and exclusively. For example, if a packet is identified as
> + * 'RTE_ETH_FLOW_NONFRAG_IPV4_TCP', it will not be any of other flow
> +types,
> + * though it is an actual IPV4 packet.
> + * Note that the flow types are used to define RSS offload types.
> + */
> +#define RTE_ETH_FLOW_UNKNOWN 0
> +#define RTE_ETH_FLOW_RAW 1
> +#define RTE_ETH_FLOW_IPV4 2
> +#define RTE_ETH_FLOW_FRAG_IPV4 3
> +#define RTE_ETH_FLOW_NONFRAG_IPV4_TCP 4
> +#define RTE_ETH_FLOW_NONFRAG_IPV4_UDP 5
> +#define RTE_ETH_FLOW_NONFRAG_IPV4_SCTP 6
> +#define RTE_ETH_FLOW_NONFRAG_IPV4_OTHER 7
> +#define RTE_ETH_FLOW_IPV6 8
> +#define RTE_ETH_FLOW_FRAG_IPV6 9
> +#define RTE_ETH_FLOW_NONFRAG_IPV6_TCP 10
> +#define RTE_ETH_FLOW_NONFRAG_IPV6_UDP 11
> +#define RTE_ETH_FLOW_NONFRAG_IPV6_SCTP 12 #define
> +RTE_ETH_FLOW_NONFRAG_IPV6_OTHER 13
> +#define RTE_ETH_FLOW_L2_PAYLOAD 14
> +#define RTE_ETH_FLOW_IPV6_EX 15
> +#define RTE_ETH_FLOW_IPV6_TCP_EX 16
> +#define RTE_ETH_FLOW_IPV6_UDP_EX 17
> +#define RTE_ETH_FLOW_PORT 18
> + /**< Consider device port number as a flow differentiator */
> +#define RTE_ETH_FLOW_VXLAN 19 /**< VXLAN protocol based flow
> */
> +#define RTE_ETH_FLOW_GENEVE 20 /**< GENEVE protocol based
> flow */
> +#define RTE_ETH_FLOW_NVGRE 21 /**< NVGRE protocol based flow
> */
> +#define RTE_ETH_FLOW_VXLAN_GPE 22 /**< VXLAN-GPE protocol
> based flow */
> +#define RTE_ETH_FLOW_MAX 23
> +
> +/*
> + * The RSS offload types are defined based on flow types.
> + * Different NIC hardwares may support different RSS offload
> * types. The supported flow types or RSS offload types can be queried by
> * rte_eth_dev_info_get().
> */
> @@ -834,6 +868,24 @@ struct rte_eth_pfc_conf {
> uint8_t priority; /**< VLAN User Priority. */
> };
>
> +/**
> + * Tunneled type.
> + */
> +enum rte_eth_tunnel_type {
> + RTE_TUNNEL_TYPE_NONE = 0,
> + RTE_TUNNEL_TYPE_VXLAN,
> + RTE_TUNNEL_TYPE_GENEVE,
> + RTE_TUNNEL_TYPE_TEREDO,
> + RTE_TUNNEL_TYPE_NVGRE,
> + RTE_TUNNEL_TYPE_IP_IN_GRE,
> + RTE_L2_TUNNEL_TYPE_E_TAG,
> + RTE_TUNNEL_TYPE_VXLAN_GPE,
> + RTE_TUNNEL_TYPE_MAX,
> +};
> +
> +/* Deprecated API file for rte_eth_dev_filter_* functions */ #include
> +"rte_eth_ctrl.h"
> +
> /**
> * Memory space that can be configured to store Flow Director filters
> * in the board memory.
> @@ -934,7 +986,7 @@ struct rte_eth_conf {
> /** Currently,Priority Flow Control(PFC) are supported,if DCB with
> PFC
> is needed,and the variable must be set ETH_DCB_PFC_SUPPORT.
> */
> uint32_t dcb_capability_en;
> - struct rte_fdir_conf fdir_conf; /**< FDIR configuration. */
> + struct rte_fdir_conf fdir_conf; /**< FDIR configuration. DEPRECATED
> */
> struct rte_intr_conf intr_conf; /**< Interrupt mode configuration. */
> };
>
> @@ -3251,6 +3303,7 @@ rte_eth_dev_udp_tunnel_port_delete(uint16_t
> port_id,
> * - (-ENODEV) if *port_id* invalid.
> * - (-EIO) if device is removed.
> */
> +__rte_deprecated
> int rte_eth_dev_filter_supported(uint16_t port_id,
> enum rte_filter_type filter_type);
>
> @@ -3273,6 +3326,7 @@ int rte_eth_dev_filter_supported(uint16_t port_id,
> * - (-EIO) if device is removed.
> * - others depends on the specific operations implementation.
> */
> +__rte_deprecated
> int rte_eth_dev_filter_ctrl(uint16_t port_id, enum rte_filter_type
> filter_type,
> enum rte_filter_op filter_op, void *arg);
>
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h index
> c0fe87924..63f84fca6 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -20,7 +20,6 @@
> #include <rte_arp.h>
> #include <rte_common.h>
> #include <rte_ether.h>
> -#include <rte_eth_ctrl.h>
> #include <rte_icmp.h>
> #include <rte_ip.h>
> #include <rte_sctp.h>
> @@ -1738,6 +1737,16 @@ struct rte_flow_query_count {
> uint64_t bytes; /**< Number of bytes through this rule [out]. */ };
>
> +/**
> + * Hash function types.
> + */
> +enum rte_eth_hash_function {
> + RTE_ETH_HASH_FUNCTION_DEFAULT = 0,
> + RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */
> + RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */
> + RTE_ETH_HASH_FUNCTION_MAX,
> +};
> +
> /**
> * RTE_FLOW_ACTION_TYPE_RSS
> *
> --
> 2.21.0
next prev parent reply other threads:[~2019-04-17 5:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-17 0:36 Thomas Monjalon
2019-04-17 0:36 ` Thomas Monjalon
2019-04-17 5:41 ` Shahaf Shuler [this message]
2019-04-17 5:41 ` Shahaf Shuler
2019-04-17 5:59 ` Andrew Rybchenko
2019-04-17 5:59 ` Andrew Rybchenko
2019-04-17 6:00 ` Jerin Jacob Kollanukkaran
2019-04-17 6:00 ` Jerin Jacob Kollanukkaran
2019-04-17 16:54 ` Stephen Hemminger
2019-04-17 16:54 ` Stephen Hemminger
2019-04-18 9:24 ` [dpdk-dev] [EXT] " Hemant Agrawal
2019-04-18 9:24 ` Hemant Agrawal
2019-04-18 12:37 ` [dpdk-dev] " Adrien Mazarguil
2019-04-18 12:37 ` Adrien Mazarguil
2019-04-18 17:58 ` Ajit Khaparde
2019-04-18 17:58 ` Ajit Khaparde
2019-04-18 18:16 ` Ferruh Yigit
2019-04-18 18:16 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AM0PR0502MB37956D6E641A2AD0E181DF92C3250@AM0PR0502MB3795.eurprd05.prod.outlook.com \
--to=shahafs@mellanox.com \
--cc=adrien.mazarguil@6wind.com \
--cc=arybchenko@solarflare.com \
--cc=beilei.xing@intel.com \
--cc=bernard.iremonger@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=gaetan.rivet@6wind.com \
--cc=harry.van.haaren@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=hyonkim@cisco.com \
--cc=jingjing.wu@intel.com \
--cc=john.mcnamara@intel.com \
--cc=johndale@cisco.com \
--cc=matan@mellanox.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=shreyansh.jain@nxp.com \
--cc=thomas@monjalon.net \
--cc=wenzhuo.lu@intel.com \
--cc=xiaoyun.li@intel.com \
--cc=yskoh@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).