From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Ray Kinsella <mdr@ashroe.eu>, Neil Horman <nhorman@tuxdriver.com>,
"Hemant Agrawal" <hemant.agrawal@nxp.com>,
Sachin Saxena <sachin.saxena@oss.nxp.com>,
"Wei Hu (Xavier)" <xavier.huwei@huawei.com>,
"Min Hu (Connor)" <humin29@huawei.com>,
Yisen Zhuang <yisen.zhuang@huawei.com>,
Jeff Guo <jia.guo@intel.com>, Haiyue Wang <haiyue.wang@intel.com>,
Rasesh Mody <rmody@marvell.com>,
Shahed Shaikh <shshaikh@marvell.com>,
Thomas Monjalon <thomas@monjalon.net>,
Ferruh Yigit <ferruh.yigit@intel.com>,
"Andrew Rybchenko" <andrew.rybchenko@oktetlabs.ru>
Cc: <dev@dpdk.org>
Subject: [dpdk-dev] [PATCH v2 14/14] ethdev: remove legacy filter API functions
Date: Thu, 22 Oct 2020 10:42:37 +0100 [thread overview]
Message-ID: <1603359758-13297-15-git-send-email-arybchenko@solarflare.com> (raw)
In-Reply-To: <1603359758-13297-1-git-send-email-arybchenko@solarflare.com>
The legacy filter API, including rte_eth_dev_filter_supported() and
rte_eth_dev_filter_ctrl() is removed. Flow API should be used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
v2:
- remove RTE_ETH_FILTER_MAX
- move remaining rte_filter_op and rte_filter_type to ethdev driver
interface
doc/guides/rel_notes/deprecation.rst | 7 -----
doc/guides/rel_notes/release_20_11.rst | 3 ++
drivers/net/dpaa2/dpaa2_ethdev.c | 4 ---
drivers/net/hns3/hns3_ethdev.h | 1 +
drivers/net/igc/igc_filter.h | 1 +
drivers/net/qede/qede_filter.c | 1 -
lib/librte_ethdev/rte_eth_ctrl.h | 34 ---------------------
lib/librte_ethdev/rte_ethdev.c | 28 ------------------
lib/librte_ethdev/rte_ethdev.h | 41 --------------------------
lib/librte_ethdev/rte_ethdev_driver.h | 22 ++++++++++++++
lib/librte_ethdev/version.map | 2 --
11 files changed, 27 insertions(+), 117 deletions(-)
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 9ef08e32b8..e9905c8d74 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -94,13 +94,6 @@ Deprecation Notices
avoiding impact on vectorized implementation of the driver datapaths,
while evaluating performance gains of a better use of the first cache line.
-
-* ethdev: the legacy filter API, including
- ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()``
- is superseded by the generic flow API (rte_flow) in
- PMDs that implement the latter.
- The legacy API will be removed in DPDK 20.11.
-
* ethdev: The flow director API, including ``rte_eth_conf.fdir_conf`` field,
and the related structures (``rte_fdir_*`` and ``rte_eth_fdir_*``),
will be removed in DPDK 20.11.
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index fa666e04fd..14f83f7206 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -468,6 +468,9 @@ API Changes
As the data of ``uint8_t`` will be truncated when queue number under
a TC is greater than 256.
+* ethdev: Removed the legacy filter API, including
+ ``rte_eth_dev_filter_supported()`` and ``rte_eth_dev_filter_ctrl()``.
+
* vhost: Moved vDPA APIs from experimental to stable.
* vhost: Add a new function ``rte_vhost_crypto_driver_start`` to be called
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 04e60c56f2..44262c4b1f 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -91,10 +91,6 @@ static const struct rte_dpaa2_xstats_name_off dpaa2_xstats_strings[] = {
};
static const enum rte_filter_op dpaa2_supported_filter_ops[] = {
- RTE_ETH_FILTER_ADD,
- RTE_ETH_FILTER_DELETE,
- RTE_ETH_FILTER_UPDATE,
- RTE_ETH_FILTER_FLUSH,
RTE_ETH_FILTER_GET
};
diff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h
index da8aead2f3..31f49ba874 100644
--- a/drivers/net/hns3/hns3_ethdev.h
+++ b/drivers/net/hns3/hns3_ethdev.h
@@ -7,6 +7,7 @@
#include <sys/time.h>
#include <rte_alarm.h>
+#include <rte_ethdev_driver.h>
#include "hns3_cmd.h"
#include "hns3_mbx.h"
diff --git a/drivers/net/igc/igc_filter.h b/drivers/net/igc/igc_filter.h
index 79951504f5..877f51c88b 100644
--- a/drivers/net/igc/igc_filter.h
+++ b/drivers/net/igc/igc_filter.h
@@ -8,6 +8,7 @@
#include <rte_ethdev.h>
#include <rte_ethdev_core.h>
+#include <rte_ethdev_driver.h>
#include <rte_eth_ctrl.h>
#include "igc_ethdev.h"
diff --git a/drivers/net/qede/qede_filter.c b/drivers/net/qede/qede_filter.c
index 71c1f68b90..df5c07dfe5 100644
--- a/drivers/net/qede/qede_filter.c
+++ b/drivers/net/qede/qede_filter.c
@@ -1070,7 +1070,6 @@ int qede_dev_filter_ctrl(struct rte_eth_dev *eth_dev,
*(const void **)arg = &qede_flow_ops;
return 0;
- case RTE_ETH_FILTER_MAX:
default:
DP_ERR(edev, "Unsupported filter type %d\n",
filter_type);
diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
index 0ed2dad55d..012e8059ad 100644
--- a/lib/librte_ethdev/rte_eth_ctrl.h
+++ b/lib/librte_ethdev/rte_eth_ctrl.h
@@ -22,40 +22,6 @@
extern "C" {
#endif
-/**
- * Feature filter types
- */
-enum rte_filter_type {
- RTE_ETH_FILTER_NONE = 0,
- RTE_ETH_FILTER_ETHERTYPE,
- RTE_ETH_FILTER_FLEXIBLE,
- RTE_ETH_FILTER_SYN,
- RTE_ETH_FILTER_NTUPLE,
- RTE_ETH_FILTER_TUNNEL,
- RTE_ETH_FILTER_FDIR,
- RTE_ETH_FILTER_HASH,
- RTE_ETH_FILTER_L2_TUNNEL,
- RTE_ETH_FILTER_GENERIC,
- RTE_ETH_FILTER_MAX
-};
-
-/**
- * Generic operations on filters
- */
-enum rte_filter_op {
- /** used to check whether the type filter is supported */
- RTE_ETH_FILTER_NOP = 0,
- RTE_ETH_FILTER_ADD, /**< add filter entry */
- RTE_ETH_FILTER_UPDATE, /**< update filter entry */
- RTE_ETH_FILTER_DELETE, /**< delete filter entry */
- RTE_ETH_FILTER_FLUSH, /**< flush all entries */
- RTE_ETH_FILTER_GET, /**< get filter entry */
- RTE_ETH_FILTER_SET, /**< configurations */
- RTE_ETH_FILTER_INFO, /**< retrieve information */
- RTE_ETH_FILTER_STATS, /**< retrieve statistics */
- RTE_ETH_FILTER_OP_MAX
-};
-
/**
* Define all structures for ntuple Filter type.
*/
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index b12bb3854d..aa030fd4fc 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -4758,34 +4758,6 @@ rte_eth_dev_rx_intr_disable(uint16_t port_id,
}
-int
-rte_eth_dev_filter_supported(uint16_t port_id,
- enum rte_filter_type filter_type)
-{
- struct rte_eth_dev *dev;
-
- RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-
- dev = &rte_eth_devices[port_id];
- RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->filter_ctrl, -ENOTSUP);
- return (*dev->dev_ops->filter_ctrl)(dev, filter_type,
- RTE_ETH_FILTER_NOP, NULL);
-}
-
-int
-rte_eth_dev_filter_ctrl(uint16_t port_id, enum rte_filter_type filter_type,
- enum rte_filter_op filter_op, void *arg)
-{
- struct rte_eth_dev *dev;
-
- RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-
- dev = &rte_eth_devices[port_id];
- RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->filter_ctrl, -ENOTSUP);
- return eth_err(port_id, (*dev->dev_ops->filter_ctrl)(dev, filter_type,
- filter_op, arg));
-}
-
const struct rte_eth_rxtx_callback *
rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id,
rte_rx_callback_fn fn, void *user_param)
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index e341a08817..c51faa9c5b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4057,47 +4057,6 @@ int
rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id,
struct rte_eth_udp_tunnel *tunnel_udp);
-/**
- * Check whether the filter type is supported on an Ethernet device.
- * All the supported filter types are defined in 'rte_eth_ctrl.h'.
- *
- * @param port_id
- * The port identifier of the Ethernet device.
- * @param filter_type
- * Filter type.
- * @return
- * - (0) if successful.
- * - (-ENOTSUP) if hardware doesn't support this filter type.
- * - (-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);
-
-/**
- * Take operations to assigned filter type on an Ethernet device.
- * All the supported operations and filter types are defined in 'rte_eth_ctrl.h'.
- *
- * @param port_id
- * The port identifier of the Ethernet device.
- * @param filter_type
- * Filter type.
- * @param filter_op
- * Type of operation.
- * @param arg
- * A pointer to arguments defined specifically for the operation.
- * @return
- * - (0) if successful.
- * - (-ENOTSUP) if hardware doesn't support.
- * - (-ENODEV) if *port_id* invalid.
- * - (-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);
-
/**
* Get DCB information on an Ethernet device.
*
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 7a54f0c81b..d830789ff6 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -476,6 +476,28 @@ typedef int (*eth_l2_tunnel_offload_set_t)
uint8_t en);
/**< @internal enable/disable the l2 tunnel offload functions */
+/**
+ * Feature filter types
+ */
+enum rte_filter_type {
+ RTE_ETH_FILTER_NONE = 0,
+ RTE_ETH_FILTER_ETHERTYPE,
+ RTE_ETH_FILTER_FLEXIBLE,
+ RTE_ETH_FILTER_SYN,
+ RTE_ETH_FILTER_NTUPLE,
+ RTE_ETH_FILTER_TUNNEL,
+ RTE_ETH_FILTER_FDIR,
+ RTE_ETH_FILTER_HASH,
+ RTE_ETH_FILTER_L2_TUNNEL,
+ RTE_ETH_FILTER_GENERIC,
+};
+
+/**
+ * Generic operations on filters
+ */
+enum rte_filter_op {
+ RTE_ETH_FILTER_GET, /**< get flow API ops */
+};
typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
enum rte_filter_type filter_type,
diff --git a/lib/librte_ethdev/version.map b/lib/librte_ethdev/version.map
index 8ddda2547f..fe628736c0 100644
--- a/lib/librte_ethdev/version.map
+++ b/lib/librte_ethdev/version.map
@@ -15,8 +15,6 @@ DPDK_21 {
rte_eth_dev_count_avail;
rte_eth_dev_count_total;
rte_eth_dev_default_mac_addr_set;
- rte_eth_dev_filter_ctrl;
- rte_eth_dev_filter_supported;
rte_eth_dev_flow_ctrl_get;
rte_eth_dev_flow_ctrl_set;
rte_eth_dev_fw_version_get;
--
2.17.1
next prev parent reply other threads:[~2020-10-22 9:47 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-18 14:08 [dpdk-dev] [PATCH 00/14] ethdev: remove legacy filter API Andrew Rybchenko
2020-10-18 14:08 ` [dpdk-dev] [PATCH 01/14] ethdev: remove legacy MACVLAN filter type support Andrew Rybchenko
2020-10-20 11:07 ` David Marchand
2020-10-21 16:34 ` Andrew Rybchenko
2020-10-21 3:31 ` Guo, Jia
2020-10-21 16:05 ` Andrew Rybchenko
2020-10-22 1:59 ` Guo, Jia
2020-10-18 14:08 ` [dpdk-dev] [PATCH 02/14] ethdev: move MAC filter type to i40e driver Andrew Rybchenko
2020-10-21 4:01 ` Guo, Jia
2020-10-21 16:09 ` Andrew Rybchenko
2020-10-22 2:58 ` Guo, Jia
2020-10-22 7:19 ` Andrew Rybchenko
2020-10-18 14:09 ` [dpdk-dev] [PATCH 03/14] ethdev: remove legacy EtherType filter type support Andrew Rybchenko
2020-10-18 22:13 ` Ajit Khaparde
2020-10-19 6:40 ` Wang, Haiyue
[not found] ` <BYAPR11MB3493BE2EB0D5B91DDDCD99758C1C0@BYAPR11MB3493.namprd11.prod.outlook.com>
2020-10-21 5:38 ` Guo, Jia
2020-10-21 16:12 ` Andrew Rybchenko
2020-10-18 14:09 ` [dpdk-dev] [PATCH 04/14] ethdev: remove legacy flexible " Andrew Rybchenko
2020-10-19 6:29 ` Wang, Haiyue
2020-10-18 14:09 ` [dpdk-dev] [PATCH 05/14] ethdev: move flexible filter type to e1000 driver Andrew Rybchenko
2020-10-19 6:20 ` Wang, Haiyue
2020-10-18 14:09 ` [dpdk-dev] [PATCH 06/14] ethdev: remove legacy SYN filter type support Andrew Rybchenko
2020-10-19 6:45 ` Wang, Haiyue
2020-10-18 14:09 ` [dpdk-dev] [PATCH 07/14] ethdev: remove legacy N-tuple " Andrew Rybchenko
2020-10-18 22:13 ` Ajit Khaparde
2020-10-19 6:47 ` Wang, Haiyue
2020-10-18 14:09 ` [dpdk-dev] [PATCH 08/14] ethdev: remove legacy TUNNEL " Andrew Rybchenko
2020-10-18 22:14 ` Ajit Khaparde
2020-10-19 8:01 ` Li, Xiaoyun
2020-10-18 14:09 ` [dpdk-dev] [PATCH 09/14] ethdev: remove legacy HASH " Andrew Rybchenko
2020-10-18 14:09 ` [dpdk-dev] [PATCH 10/14] ethdev: remove legacy L2_TUNNEL " Andrew Rybchenko
2020-10-19 6:42 ` Wang, Haiyue
2020-10-18 14:09 ` [dpdk-dev] [PATCH 11/14] ethdev: remove legacy global filter configuration support Andrew Rybchenko
2020-10-21 5:42 ` Guo, Jia
2020-10-18 14:09 ` [dpdk-dev] [PATCH 12/14] ethdev: remove legacy FDIR filter type support Andrew Rybchenko
2020-10-18 22:15 ` Ajit Khaparde
2020-10-19 6:53 ` Wang, Haiyue
2020-10-21 5:45 ` Guo, Jia
2020-10-21 16:17 ` Andrew Rybchenko
2020-10-22 2:45 ` Guo, Jia
2020-10-18 14:09 ` [dpdk-dev] [PATCH 13/14] app/testpmd: remove flow_director_flex_mask command Andrew Rybchenko
2020-10-20 10:53 ` David Marchand
2020-10-22 9:01 ` Andrew Rybchenko
2020-10-18 14:09 ` [dpdk-dev] [PATCH 14/14] ethdev: remove legacy filter API functions Andrew Rybchenko
2020-10-20 10:47 ` David Marchand
2020-10-20 14:52 ` Ferruh Yigit
2020-10-22 9:12 ` Andrew Rybchenko
2020-10-22 9:33 ` Ferruh Yigit
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 00/14] ethdev: remove legacy filter API Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 01/14] ethdev: remove legacy MACVLAN filter type support Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 02/14] ethdev: move MAC filter type to i40e driver Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 03/14] ethdev: remove legacy EtherType filter type support Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 04/14] ethdev: remove legacy flexible " Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 05/14] ethdev: move flexible filter type to e1000 driver Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 06/14] ethdev: remove legacy SYN filter type support Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 07/14] ethdev: remove legacy N-tuple " Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 08/14] ethdev: remove legacy TUNNEL " Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 09/14] ethdev: remove legacy HASH " Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 10/14] ethdev: remove legacy L2_TUNNEL " Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 11/14] ethdev: remove legacy global filter configuration support Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 12/14] ethdev: remove legacy FDIR filter type support Andrew Rybchenko
2020-10-23 3:32 ` Hyong Youb Kim (hyonkim)
2020-10-23 6:41 ` Andrew Rybchenko
2020-10-22 9:42 ` [dpdk-dev] [PATCH v2 13/14] app/testpmd: remove command to set FDIR flexible filter mask Andrew Rybchenko
2020-10-22 9:42 ` Andrew Rybchenko [this message]
2020-10-23 16:03 ` [dpdk-dev] [PATCH v2 00/14] ethdev: remove legacy filter API Ferruh Yigit
2020-10-29 21:36 ` 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=1603359758-13297-15-git-send-email-arybchenko@solarflare.com \
--to=arybchenko@solarflare.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=haiyue.wang@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=humin29@huawei.com \
--cc=jia.guo@intel.com \
--cc=mdr@ashroe.eu \
--cc=nhorman@tuxdriver.com \
--cc=rmody@marvell.com \
--cc=sachin.saxena@oss.nxp.com \
--cc=shshaikh@marvell.com \
--cc=thomas@monjalon.net \
--cc=xavier.huwei@huawei.com \
--cc=yisen.zhuang@huawei.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).