get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/81270/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 81270,
    "url": "http://patches.dpdk.org/api/patches/81270/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1603030152-13451-15-git-send-email-arybchenko@solarflare.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1603030152-13451-15-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1603030152-13451-15-git-send-email-arybchenko@solarflare.com",
    "date": "2020-10-18T14:09:11",
    "name": "[14/14] ethdev: remove legacy filter API functions",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "1231543e72774a91a095f97a5aa416f4f25343dc",
    "submitter": {
        "id": 607,
        "url": "http://patches.dpdk.org/api/people/607/?format=api",
        "name": "Andrew Rybchenko",
        "email": "arybchenko@solarflare.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1603030152-13451-15-git-send-email-arybchenko@solarflare.com/mbox/",
    "series": [
        {
            "id": 13082,
            "url": "http://patches.dpdk.org/api/series/13082/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13082",
            "date": "2020-10-18T14:08:57",
            "name": "ethdev: remove legacy filter API",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/13082/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/81270/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/81270/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id B0162A04B0;\n\tSun, 18 Oct 2020 16:14:37 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 1548BE285;\n\tSun, 18 Oct 2020 16:09:50 +0200 (CEST)",
            "from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com\n [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 6CC4FD01F\n for <dev@dpdk.org>; Sun, 18 Oct 2020 16:09:33 +0200 (CEST)",
            "from mx1-us1.ppe-hosted.com (unknown [10.110.50.143])\n by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id\n 1582020076; Sun, 18 Oct 2020 14:09:32 +0000 (UTC)",
            "from us4-mdac16-63.at1.mdlocal (unknown [10.110.50.156])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id 13BAA8009B;\n Sun, 18 Oct 2020 14:09:32 +0000 (UTC)",
            "from mx1-us1.ppe-hosted.com (unknown [10.110.49.105])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n 9AB9C40061;\n Sun, 18 Oct 2020 14:09:31 +0000 (UTC)",
            "from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n (No client certificate requested)\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n 5B5409C007A;\n Sun, 18 Oct 2020 14:09:31 +0000 (UTC)",
            "from ukex01.SolarFlarecom.com (10.17.10.4) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id\n 15.0.1497.2; Sun, 18 Oct 2020 15:09:24 +0100",
            "from opal.uk.solarflarecom.com (10.17.10.1) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id\n 15.0.1497.2 via Frontend Transport; Sun, 18 Oct 2020 15:09:24 +0100",
            "from ukv-loginhost.uk.solarflarecom.com\n (ukv-loginhost.uk.solarflarecom.com [10.17.10.39])\n by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 09IE9ORb002071;\n Sun, 18 Oct 2020 15:09:24 +0100",
            "from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])\n by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 2EAF41613A9;\n Sun, 18 Oct 2020 15:09:24 +0100 (BST)"
        ],
        "X-Virus-Scanned": "Proofpoint Essentials engine",
        "From": "Andrew Rybchenko <arybchenko@solarflare.com>",
        "To": "Ray Kinsella <mdr@ashroe.eu>, Neil Horman <nhorman@tuxdriver.com>, \"Hemant\n Agrawal\" <hemant.agrawal@nxp.com>,\n Sachin Saxena <sachin.saxena@oss.nxp.com>,\n Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@intel.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "CC": "<dev@dpdk.org>, Xiaoyun Li <xiaoyun.li@intel.com>",
        "Date": "Sun, 18 Oct 2020 15:09:11 +0100",
        "Message-ID": "<1603030152-13451-15-git-send-email-arybchenko@solarflare.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1603030152-13451-1-git-send-email-arybchenko@solarflare.com>",
        "References": "<1603030152-13451-1-git-send-email-arybchenko@solarflare.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-TM-AS-Product-Ver": "SMEX-12.5.0.1300-8.6.1012-25732.003",
        "X-TM-AS-Result": "No-9.300700-8.000000-10",
        "X-TMASE-MatchedRID": "aH100iTQ3OzeG4FwcWqAS8PRlYRmv+e2nKpQna4coUBjLp8Cm8vwF+90\n 4w74pUEJMdqMWOXDAJRA+I8ifrgnnSHhSBQfglfsA9lly13c/gEvwhrmqJxTu8D7Ns1/Zk7L8ne\n FHFEaJwr6EkU0l1Crc7n63Fi/MOGkHzoyklNKQhEdxBAG5/hkWzk4wzLIKf/BDfheddyhsquYx8\n Fo24xcvH+/zuQ3QEzXL90Vo0chuk5yOVk+FPzL15Xi1z8zt1TRSWg+u4ir2NNVZCccrGnfyOFo/\n YmgpQJJ2z651pu/qKCxuGjnUoGUr9brDrhTWGHOSHCU59h5KrEisyg/lfGoZ2e1vz0qwDbOi1Rb\n ZN1JuSg3CEbVHwWiYglqc6igYwN884wlaZlBms6cnm0v4tsY43l2c9WreWzscBqXYDUNCaztfrH\n 67fQFiNfLKPidT98O5m7tGik47+/dszRFwcTb55U7Bltw5qVLe8SChIGavwFZ+YxyNxdzRy5TcS\n oF9VwS37bT+Po/1I+kTlzEXpREXozQp7mciZRIngIgpj8eDcAZ1CdBJOsoY8RB0bsfrpPIfiAqr\n jYtFiSRKqxji/498f7nB6FK+iQzuoJs/QFZpiauxQn0uygbNn7cGd19dSFd",
        "X-TM-AS-User-Approved-Sender": "Yes",
        "X-TM-AS-User-Blocked-Sender": "No",
        "X-TMASE-Result": "10--9.300700-8.000000",
        "X-TMASE-Version": "SMEX-12.5.0.1300-8.6.1012-25732.003",
        "X-MDID": "1603030172-L87fY8xFhT6T",
        "X-PPE-DISP": "1603030172;L87fY8xFhT6T",
        "Subject": "[dpdk-dev] [PATCH 14/14] ethdev: remove legacy filter API functions",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The legacy filter API, including rte_eth_dev_filter_supported() and\nrte_eth_dev_filter_ctrl() is removed. Flow API should be used.\n\nexamples/tep_termination build is broken.\n\nSigned-off-by: Andrew Rybchenko <arybchenko@solarflare.com>\n---\n doc/guides/rel_notes/deprecation.rst     |  6 ----\n doc/guides/rel_notes/release_20_11.rst   |  3 ++\n drivers/net/dpaa2/dpaa2_ethdev.c         |  4 ---\n lib/librte_ethdev/rte_eth_ctrl.h         | 12 +------\n lib/librte_ethdev/rte_ethdev.c           | 28 ----------------\n lib/librte_ethdev/rte_ethdev.h           | 41 ------------------------\n lib/librte_ethdev/rte_ethdev_version.map |  2 --\n 7 files changed, 4 insertions(+), 92 deletions(-)",
    "diff": "diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 18a748bc88..42eafb97af 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -106,12 +106,6 @@ Deprecation Notices\n   while evaluating performance gains of a better use of the first cache line.\n \n \n-* ethdev: the legacy filter API, including\n-  ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()``\n-  is superseded by the generic flow API (rte_flow) in\n-  PMDs that implement the latter.\n-  The legacy API will be removed in DPDK 20.11.\n-\n * ethdev: The flow director API, including ``rte_eth_conf.fdir_conf`` field,\n   and the related structures (``rte_fdir_*`` and ``rte_eth_fdir_*``),\n   will be removed in DPDK 20.11.\ndiff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst\nindex 8dd1439935..ae88858de3 100644\n--- a/doc/guides/rel_notes/release_20_11.rst\n+++ b/doc/guides/rel_notes/release_20_11.rst\n@@ -452,6 +452,9 @@ API Changes\n * ethdev: Added fields rx_seg and rx_nseg to rte_eth_rxconf structure\n   to provide extended description of the receiving buffer.\n \n+* ethdev: Removed the legacy filter API, including\n+  ``rte_eth_dev_filter_supported()`` and ``rte_eth_dev_filter_ctrl()``.\n+\n * vhost: Moved vDPA APIs from experimental to stable.\n \n * vhost: Add a new function ``rte_vhost_crypto_driver_start`` to be called\ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex 04e60c56f2..44262c4b1f 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -91,10 +91,6 @@ static const struct rte_dpaa2_xstats_name_off dpaa2_xstats_strings[] = {\n };\n \n static const enum rte_filter_op dpaa2_supported_filter_ops[] = {\n-\tRTE_ETH_FILTER_ADD,\n-\tRTE_ETH_FILTER_DELETE,\n-\tRTE_ETH_FILTER_UPDATE,\n-\tRTE_ETH_FILTER_FLUSH,\n \tRTE_ETH_FILTER_GET\n };\n \ndiff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h\nindex 6911ff7f77..1faee434e7 100644\n--- a/lib/librte_ethdev/rte_eth_ctrl.h\n+++ b/lib/librte_ethdev/rte_eth_ctrl.h\n@@ -43,17 +43,7 @@ enum rte_filter_type {\n  * Generic operations on filters\n  */\n enum rte_filter_op {\n-\t/** used to check whether the type filter is supported */\n-\tRTE_ETH_FILTER_NOP = 0,\n-\tRTE_ETH_FILTER_ADD,      /**< add filter entry */\n-\tRTE_ETH_FILTER_UPDATE,   /**< update filter entry */\n-\tRTE_ETH_FILTER_DELETE,   /**< delete filter entry */\n-\tRTE_ETH_FILTER_FLUSH,    /**< flush all entries */\n-\tRTE_ETH_FILTER_GET,      /**< get filter entry */\n-\tRTE_ETH_FILTER_SET,      /**< configurations */\n-\tRTE_ETH_FILTER_INFO,     /**< retrieve information */\n-\tRTE_ETH_FILTER_STATS,    /**< retrieve statistics */\n-\tRTE_ETH_FILTER_OP_MAX\n+\tRTE_ETH_FILTER_GET,      /**< get flow API ops */\n };\n \n /**\ndiff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c\nindex b12bb3854d..aa030fd4fc 100644\n--- a/lib/librte_ethdev/rte_ethdev.c\n+++ b/lib/librte_ethdev/rte_ethdev.c\n@@ -4758,34 +4758,6 @@ rte_eth_dev_rx_intr_disable(uint16_t port_id,\n }\n \n \n-int\n-rte_eth_dev_filter_supported(uint16_t port_id,\n-\t\t\t     enum rte_filter_type filter_type)\n-{\n-\tstruct rte_eth_dev *dev;\n-\n-\tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);\n-\n-\tdev = &rte_eth_devices[port_id];\n-\tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->filter_ctrl, -ENOTSUP);\n-\treturn (*dev->dev_ops->filter_ctrl)(dev, filter_type,\n-\t\t\t\tRTE_ETH_FILTER_NOP, NULL);\n-}\n-\n-int\n-rte_eth_dev_filter_ctrl(uint16_t port_id, enum rte_filter_type filter_type,\n-\t\t\tenum rte_filter_op filter_op, void *arg)\n-{\n-\tstruct rte_eth_dev *dev;\n-\n-\tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);\n-\n-\tdev = &rte_eth_devices[port_id];\n-\tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->filter_ctrl, -ENOTSUP);\n-\treturn eth_err(port_id, (*dev->dev_ops->filter_ctrl)(dev, filter_type,\n-\t\t\t\t\t\t\t     filter_op, arg));\n-}\n-\n const struct rte_eth_rxtx_callback *\n rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id,\n \t\trte_rx_callback_fn fn, void *user_param)\ndiff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h\nindex e341a08817..c51faa9c5b 100644\n--- a/lib/librte_ethdev/rte_ethdev.h\n+++ b/lib/librte_ethdev/rte_ethdev.h\n@@ -4057,47 +4057,6 @@ int\n rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id,\n \t\t\t\t   struct rte_eth_udp_tunnel *tunnel_udp);\n \n-/**\n- * Check whether the filter type is supported on an Ethernet device.\n- * All the supported filter types are defined in 'rte_eth_ctrl.h'.\n- *\n- * @param port_id\n- *   The port identifier of the Ethernet device.\n- * @param filter_type\n- *   Filter type.\n- * @return\n- *   - (0) if successful.\n- *   - (-ENOTSUP) if hardware doesn't support this filter type.\n- *   - (-ENODEV) if *port_id* invalid.\n- *   - (-EIO) if device is removed.\n- */\n-__rte_deprecated\n-int rte_eth_dev_filter_supported(uint16_t port_id,\n-\t\tenum rte_filter_type filter_type);\n-\n-/**\n- * Take operations to assigned filter type on an Ethernet device.\n- * All the supported operations and filter types are defined in 'rte_eth_ctrl.h'.\n- *\n- * @param port_id\n- *   The port identifier of the Ethernet device.\n- * @param filter_type\n- *   Filter type.\n- * @param filter_op\n- *   Type of operation.\n- * @param arg\n- *   A pointer to arguments defined specifically for the operation.\n- * @return\n- *   - (0) if successful.\n- *   - (-ENOTSUP) if hardware doesn't support.\n- *   - (-ENODEV) if *port_id* invalid.\n- *   - (-EIO) if device is removed.\n- *   - others depends on the specific operations implementation.\n- */\n-__rte_deprecated\n-int rte_eth_dev_filter_ctrl(uint16_t port_id, enum rte_filter_type filter_type,\n-\t\t\tenum rte_filter_op filter_op, void *arg);\n-\n /**\n  * Get DCB information on an Ethernet device.\n  *\ndiff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map\nindex 8ddda2547f..fe628736c0 100644\n--- a/lib/librte_ethdev/rte_ethdev_version.map\n+++ b/lib/librte_ethdev/rte_ethdev_version.map\n@@ -15,8 +15,6 @@ DPDK_21 {\n \trte_eth_dev_count_avail;\n \trte_eth_dev_count_total;\n \trte_eth_dev_default_mac_addr_set;\n-\trte_eth_dev_filter_ctrl;\n-\trte_eth_dev_filter_supported;\n \trte_eth_dev_flow_ctrl_get;\n \trte_eth_dev_flow_ctrl_set;\n \trte_eth_dev_fw_version_get;\n",
    "prefixes": [
        "14/14"
    ]
}