get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 114945,
    "url": "https://patches.dpdk.org/api/patches/114945/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20220812191827.3187441-14-ivan.malov@oktetlabs.ru/",
    "project": {
        "id": 1,
        "url": "https://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": "<20220812191827.3187441-14-ivan.malov@oktetlabs.ru>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220812191827.3187441-14-ivan.malov@oktetlabs.ru",
    "date": "2022-08-12T19:18:27",
    "name": "[13/13] ethdev: remove deprecated flow action PHY PORT",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "5238f2cb370ea469551a9e04c684ba5ab603be97",
    "submitter": {
        "id": 869,
        "url": "https://patches.dpdk.org/api/people/869/?format=api",
        "name": "Ivan Malov",
        "email": "Ivan.Malov@oktetlabs.ru"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20220812191827.3187441-14-ivan.malov@oktetlabs.ru/mbox/",
    "series": [
        {
            "id": 24302,
            "url": "https://patches.dpdk.org/api/series/24302/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=24302",
            "date": "2022-08-12T19:18:15",
            "name": "ethdev: proceed with flow subsystem rework",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/24302/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/114945/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/114945/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 879CDA0543;\n\tFri, 12 Aug 2022 21:19:48 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 19C9842C6B;\n\tFri, 12 Aug 2022 21:18:42 +0200 (CEST)",
            "from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113])\n by mails.dpdk.org (Postfix) with ESMTP id ACF8042C01\n for <dev@dpdk.org>; Fri, 12 Aug 2022 21:18:32 +0200 (CEST)",
            "from bree.oktetlabs.ru (bree.oktetlabs.ru [192.168.34.5])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by shelob.oktetlabs.ru (Postfix) with ESMTPS id 62714CB;\n Fri, 12 Aug 2022 22:18:32 +0300 (MSK)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 62714CB",
        "Authentication-Results": "shelob.oktetlabs.ru/62714CB; dkim=none;\n dkim-atps=neutral",
        "From": "Ivan Malov <ivan.malov@oktetlabs.ru>",
        "To": "dev@dpdk.org",
        "Cc": "Ori Kam <orika@nvidia.com>, Eli Britstein <elibr@nvidia.com>,\n Ilya Maximets <i.maximets@ovn.org>, Thomas Monjalon <thomas@monjalon.net>,\n Stephen Hemminger <stephen@networkplumber.org>,\n Jerin Jacob <jerinj@marvell.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,\n Aman Singh <aman.deep.singh@intel.com>,\n Yuying Zhang <yuying.zhang@intel.com>,\n Ajit Khaparde <ajit.khaparde@broadcom.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>,\n Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,\n Ferruh Yigit <ferruh.yigit@xilinx.com>,\n Hemant Agrawal <hemant.agrawal@nxp.com>,\n Sachin Saxena <sachin.saxena@oss.nxp.com>",
        "Subject": "[PATCH 13/13] ethdev: remove deprecated flow action PHY PORT",
        "Date": "Fri, 12 Aug 2022 22:18:27 +0300",
        "Message-Id": "<20220812191827.3187441-14-ivan.malov@oktetlabs.ru>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20220812191827.3187441-1-ivan.malov@oktetlabs.ru>",
        "References": "<20220812191827.3187441-1-ivan.malov@oktetlabs.ru>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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"
    },
    "content": "Such deprecation was commenced in DPDK 21.11.\nSince then, no parties have objected. Remove.\n\nThe patch breaks ABI.\n\nSigned-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>\nReviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>\n---\n app/test-pmd/cmdline_flow.c                   | 35 -------------\n doc/guides/nics/features/bnxt.ini             |  1 -\n doc/guides/nics/features/cxgbe.ini            |  1 -\n doc/guides/nics/features/default.ini          |  1 -\n doc/guides/nics/features/dpaa2.ini            |  1 -\n doc/guides/nics/features/sfc.ini              |  1 -\n doc/guides/nics/sfc_efx.rst                   |  2 -\n doc/guides/prog_guide/rte_flow.rst            | 22 ---------\n doc/guides/rel_notes/release_22_11.rst        |  5 ++\n doc/guides/testpmd_app_ug/testpmd_funcs.rst   |  5 --\n drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c |  4 --\n drivers/net/bnxt/tf_ulp/ulp_rte_parser.c      | 49 -------------------\n drivers/net/bnxt/tf_ulp/ulp_rte_parser.h      |  5 --\n drivers/net/cxgbe/cxgbe_flow.c                |  6 ---\n drivers/net/dpaa2/dpaa2_flow.c                | 13 +----\n drivers/net/sfc/sfc_mae.c                     | 36 --------------\n lib/ethdev/rte_flow.c                         |  1 -\n lib/ethdev/rte_flow.h                         | 28 -----------\n 18 files changed, 6 insertions(+), 210 deletions(-)",
    "diff": "diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c\nindex 758c1f0efa..80f4c0bbef 100644\n--- a/app/test-pmd/cmdline_flow.c\n+++ b/app/test-pmd/cmdline_flow.c\n@@ -487,9 +487,6 @@ enum index {\n \tACTION_VF,\n \tACTION_VF_ORIGINAL,\n \tACTION_VF_ID,\n-\tACTION_PHY_PORT,\n-\tACTION_PHY_PORT_ORIGINAL,\n-\tACTION_PHY_PORT_INDEX,\n \tACTION_PORT_ID,\n \tACTION_PORT_ID_ORIGINAL,\n \tACTION_PORT_ID_ID,\n@@ -1799,7 +1796,6 @@ static const enum index next_action[] = {\n \tACTION_RSS,\n \tACTION_PF,\n \tACTION_VF,\n-\tACTION_PHY_PORT,\n \tACTION_PORT_ID,\n \tACTION_METER,\n \tACTION_METER_COLOR,\n@@ -1893,13 +1889,6 @@ static const enum index action_vf[] = {\n \tZERO,\n };\n \n-static const enum index action_phy_port[] = {\n-\tACTION_PHY_PORT_ORIGINAL,\n-\tACTION_PHY_PORT_INDEX,\n-\tACTION_NEXT,\n-\tZERO,\n-};\n-\n static const enum index action_port_id[] = {\n \tACTION_PORT_ID_ORIGINAL,\n \tACTION_PORT_ID_ID,\n@@ -5240,30 +5229,6 @@ static const struct token token_list[] = {\n \t\t.args = ARGS(ARGS_ENTRY(struct rte_flow_action_vf, id)),\n \t\t.call = parse_vc_conf,\n \t},\n-\t[ACTION_PHY_PORT] = {\n-\t\t.name = \"phy_port\",\n-\t\t.help = \"direct packets to physical port index\",\n-\t\t.priv = PRIV_ACTION(PHY_PORT,\n-\t\t\t\t    sizeof(struct rte_flow_action_phy_port)),\n-\t\t.next = NEXT(action_phy_port),\n-\t\t.call = parse_vc,\n-\t},\n-\t[ACTION_PHY_PORT_ORIGINAL] = {\n-\t\t.name = \"original\",\n-\t\t.help = \"use original port index if possible\",\n-\t\t.next = NEXT(action_phy_port, NEXT_ENTRY(COMMON_BOOLEAN)),\n-\t\t.args = ARGS(ARGS_ENTRY_BF(struct rte_flow_action_phy_port,\n-\t\t\t\t\t   original, 1)),\n-\t\t.call = parse_vc_conf,\n-\t},\n-\t[ACTION_PHY_PORT_INDEX] = {\n-\t\t.name = \"index\",\n-\t\t.help = \"physical port index\",\n-\t\t.next = NEXT(action_phy_port, NEXT_ENTRY(COMMON_UNSIGNED)),\n-\t\t.args = ARGS(ARGS_ENTRY(struct rte_flow_action_phy_port,\n-\t\t\t\t\tindex)),\n-\t\t.call = parse_vc_conf,\n-\t},\n \t[ACTION_PORT_ID] = {\n \t\t.name = \"port_id\",\n \t\t.help = \"direct matching traffic to a given DPDK port ID\",\ndiff --git a/doc/guides/nics/features/bnxt.ini b/doc/guides/nics/features/bnxt.ini\nindex c05bcff909..b2d54f06aa 100644\n--- a/doc/guides/nics/features/bnxt.ini\n+++ b/doc/guides/nics/features/bnxt.ini\n@@ -82,7 +82,6 @@ of_push_vlan         = Y\n of_set_vlan_pcp      = Y\n of_set_vlan_vid      = Y\n pf                   = Y\n-phy_port             = Y\n port_id              = Y\n port_representor     = Y\n represented_port     = Y\ndiff --git a/doc/guides/nics/features/cxgbe.ini b/doc/guides/nics/features/cxgbe.ini\nindex 295816ab9d..a9dbcd0573 100644\n--- a/doc/guides/nics/features/cxgbe.ini\n+++ b/doc/guides/nics/features/cxgbe.ini\n@@ -51,7 +51,6 @@ of_pop_vlan          = Y\n of_push_vlan         = Y\n of_set_vlan_pcp      = Y\n of_set_vlan_vid      = Y\n-phy_port             = Y\n queue                = Y\n set_ipv4_dst         = Y\n set_ipv4_src         = Y\ndiff --git a/doc/guides/nics/features/default.ini b/doc/guides/nics/features/default.ini\nindex 7ed5bd8cb9..f7192cb0da 100644\n--- a/doc/guides/nics/features/default.ini\n+++ b/doc/guides/nics/features/default.ini\n@@ -170,7 +170,6 @@ of_set_vlan_pcp      =\n of_set_vlan_vid      =\n passthru             =\n pf                   =\n-phy_port             =\n port_id              =\n port_representor     =\n queue                =\ndiff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini\nindex 53148ad467..cedc234f26 100644\n--- a/doc/guides/nics/features/dpaa2.ini\n+++ b/doc/guides/nics/features/dpaa2.ini\n@@ -45,7 +45,6 @@ vlan                 = Y\n \n [rte_flow actions]\n drop                 = Y\n-phy_port             = Y\n port_id              = Y\n queue                = Y\n represented_port     = Y\ndiff --git a/doc/guides/nics/features/sfc.ini b/doc/guides/nics/features/sfc.ini\nindex 3dac105e35..f5ac644278 100644\n--- a/doc/guides/nics/features/sfc.ini\n+++ b/doc/guides/nics/features/sfc.ini\n@@ -70,7 +70,6 @@ of_push_vlan         = Y\n of_set_vlan_pcp      = Y\n of_set_vlan_vid      = Y\n pf                   = Y\n-phy_port             = Y\n port_id              = Y\n port_representor     = Y\n represented_port     = Y\ndiff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst\nindex 6eca86e96f..fcad671da2 100644\n--- a/doc/guides/nics/sfc_efx.rst\n+++ b/doc/guides/nics/sfc_efx.rst\n@@ -244,8 +244,6 @@ Supported actions (***transfer*** rules):\n \n - MARK\n \n-- PHY_PORT\n-\n - PF\n \n - VF\ndiff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst\nindex 9cf4261494..becf7c29c9 100644\n--- a/doc/guides/prog_guide/rte_flow.rst\n+++ b/doc/guides/prog_guide/rte_flow.rst\n@@ -2003,28 +2003,6 @@ rule or if packets are not addressed to a VF in the first place.\n    | ``id``       | VF ID                          |\n    +--------------+--------------------------------+\n \n-Action: ``PHY_PORT``\n-^^^^^^^^^^^^^^^^^^^^\n-\n-This action is deprecated. Consider:\n- - `Action: PORT_REPRESENTOR`_\n- - `Action: REPRESENTED_PORT`_\n-\n-Directs matching traffic to a given physical port index of the underlying\n-device.\n-\n-.. _table_rte_flow_action_phy_port:\n-\n-.. table:: PHY_PORT\n-\n-   +--------------+-------------------------------------+\n-   | Field        | Value                               |\n-   +==============+=====================================+\n-   | ``original`` | use original port index if possible |\n-   +--------------+-------------------------------------+\n-   | ``index``    | physical port index                 |\n-   +--------------+-------------------------------------+\n-\n Action: ``PORT_ID``\n ^^^^^^^^^^^^^^^^^^^\n This action is deprecated. Consider:\ndiff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst\nindex 343f40a041..a7a2bf2c60 100644\n--- a/doc/guides/rel_notes/release_22_11.rst\n+++ b/doc/guides/rel_notes/release_22_11.rst\n@@ -85,6 +85,9 @@ Removed Items\n * ethdev: removed ``RTE_FLOW_ITEM_TYPE_PHY_PORT``;\n   use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT``.\n \n+* ethdev: removed ``RTE_FLOW_ACTION_TYPE_PHY_PORT``;\n+  use ``RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT``.\n+\n \n API Changes\n -----------\n@@ -133,6 +136,8 @@ ABI Changes\n \n * ethdev: enum ``RTE_FLOW_ITEM`` was affected by deprecation procedure.\n \n+* ethdev: enum ``RTE_FLOW_ACTION`` was affected by deprecation procedure.\n+\n \n Known Issues\n ------------\ndiff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst\nindex b9c2d7a6fe..710d69ddca 100644\n--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst\n+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst\n@@ -4014,11 +4014,6 @@ This section lists supported actions and their attributes, if any.\n   - ``original {boolean}``: use original VF ID if possible.\n   - ``id {unsigned}``: VF ID.\n \n-- ``phy_port``: direct packets to physical port index.\n-\n-  - ``original {boolean}``: use original port index if possible.\n-  - ``index {unsigned}``: physical port index.\n-\n - ``port_id``: direct matching traffic to a given DPDK port ID.\n \n   - ``original {boolean}``: use original DPDK port ID if possible.\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c\nindex 66cd2fba7e..042425ff5c 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c\n@@ -61,10 +61,6 @@ struct bnxt_ulp_rte_act_info ulp_act_info[] = {\n \t.act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,\n \t.proto_act_func          = ulp_rte_vf_act_handler\n \t},\n-\t[RTE_FLOW_ACTION_TYPE_PHY_PORT] = {\n-\t.act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,\n-\t.proto_act_func          = ulp_rte_phy_port_act_handler\n-\t},\n \t[RTE_FLOW_ACTION_TYPE_PORT_ID] = {\n \t.act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,\n \t.proto_act_func          = ulp_rte_port_act_handler\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c\nindex 3faafcf788..1be649a16c 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c\n@@ -2255,55 +2255,6 @@ ulp_rte_port_act_handler(const struct rte_flow_action *act_item,\n \treturn ulp_rte_parser_act_port_set(param, ifindex, act_dir);\n }\n \n-/* Function to handle the parsing of RTE Flow action phy_port. */\n-int32_t\n-ulp_rte_phy_port_act_handler(const struct rte_flow_action *action_item,\n-\t\t\t     struct ulp_rte_parser_params *prm)\n-{\n-\tconst struct rte_flow_action_phy_port *phy_port;\n-\tuint32_t pid;\n-\tint32_t rc;\n-\tuint16_t pid_s;\n-\tenum bnxt_ulp_direction_type dir;\n-\n-\tphy_port = action_item->conf;\n-\tif (!phy_port) {\n-\t\tBNXT_TF_DBG(ERR,\n-\t\t\t    \"ParseErr: Invalid Argument\\n\");\n-\t\treturn BNXT_TF_RC_PARSE_ERR;\n-\t}\n-\n-\tif (phy_port->original) {\n-\t\tBNXT_TF_DBG(ERR,\n-\t\t\t    \"Parse Err:Port Original not supported\\n\");\n-\t\treturn BNXT_TF_RC_PARSE_ERR;\n-\t}\n-\tdir = ULP_COMP_FLD_IDX_RD(prm, BNXT_ULP_CF_IDX_DIRECTION);\n-\tif (dir != BNXT_ULP_DIR_EGRESS) {\n-\t\tBNXT_TF_DBG(ERR,\n-\t\t\t    \"Parse Err:Phy ports are valid only for egress\\n\");\n-\t\treturn BNXT_TF_RC_PARSE_ERR;\n-\t}\n-\t/* Get the physical port details from port db */\n-\trc = ulp_port_db_phy_port_vport_get(prm->ulp_ctx, phy_port->index,\n-\t\t\t\t\t    &pid_s);\n-\tif (rc) {\n-\t\tBNXT_TF_DBG(ERR, \"Failed to get port details\\n\");\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tpid = pid_s;\n-\tpid = rte_cpu_to_be_32(pid);\n-\tmemcpy(&prm->act_prop.act_details[BNXT_ULP_ACT_PROP_IDX_VPORT],\n-\t       &pid, BNXT_ULP_ACT_PROP_SZ_VPORT);\n-\n-\t/* Update the action port set bit */\n-\tULP_COMP_FLD_IDX_WR(prm, BNXT_ULP_CF_IDX_ACT_PORT_IS_SET, 1);\n-\tULP_COMP_FLD_IDX_WR(prm, BNXT_ULP_CF_IDX_ACT_PORT_TYPE,\n-\t\t\t    BNXT_ULP_INTF_TYPE_PHY_PORT);\n-\treturn BNXT_TF_RC_SUCCESS;\n-}\n-\n /* Function to handle the parsing of RTE Flow action pop vlan. */\n int32_t\n ulp_rte_of_pop_vlan_act_handler(const struct rte_flow_action *a __rte_unused,\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h\nindex 5a9b056b16..f59b10e88b 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h\n@@ -194,11 +194,6 @@ int32_t\n ulp_rte_port_act_handler(const struct rte_flow_action *act_item,\n \t\t\t struct ulp_rte_parser_params *params);\n \n-/* Function to handle the parsing of RTE Flow action phy_port. */\n-int32_t\n-ulp_rte_phy_port_act_handler(const struct rte_flow_action *action_item,\n-\t\t\t     struct ulp_rte_parser_params *params);\n-\n /* Function to handle the parsing of RTE Flow action pop vlan. */\n int32_t\n ulp_rte_of_pop_vlan_act_handler(const struct rte_flow_action *action_item,\ndiff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c\nindex d383334415..d66672a9e6 100644\n--- a/drivers/net/cxgbe/cxgbe_flow.c\n+++ b/drivers/net/cxgbe/cxgbe_flow.c\n@@ -598,7 +598,6 @@ ch_rte_parse_atype_switch(const struct rte_flow_action *a,\n \tconst struct rte_flow_action_set_ipv4 *ipv4;\n \tconst struct rte_flow_action_set_ipv6 *ipv6;\n \tconst struct rte_flow_action_set_tp *tp_port;\n-\tconst struct rte_flow_action_phy_port *port;\n \tconst struct rte_flow_action_set_mac *mac;\n \tint item_index;\n \tu16 tmp_vlan;\n@@ -645,10 +644,6 @@ ch_rte_parse_atype_switch(const struct rte_flow_action *a,\n \tcase RTE_FLOW_ACTION_TYPE_OF_POP_VLAN:\n \t\tfs->newvlan = VLAN_REMOVE;\n \t\tbreak;\n-\tcase RTE_FLOW_ACTION_TYPE_PHY_PORT:\n-\t\tport = (const struct rte_flow_action_phy_port *)a->conf;\n-\t\tfs->eport = port->index;\n-\t\tbreak;\n \tcase RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC:\n \t\titem_index = cxgbe_get_flow_item_index(items,\n \t\t\t\t\t\t       RTE_FLOW_ITEM_TYPE_IPV4);\n@@ -836,7 +831,6 @@ cxgbe_rtef_parse_actions(struct rte_flow *flow,\n \t\t\tgoto action_switch;\n \t\tcase RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN:\n \t\tcase RTE_FLOW_ACTION_TYPE_OF_POP_VLAN:\n-\t\tcase RTE_FLOW_ACTION_TYPE_PHY_PORT:\n \t\tcase RTE_FLOW_ACTION_TYPE_MAC_SWAP:\n \t\tcase RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC:\n \t\tcase RTE_FLOW_ACTION_TYPE_SET_IPV4_DST:\ndiff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c\nindex 25616b0035..df06c3862e 100644\n--- a/drivers/net/dpaa2/dpaa2_flow.c\n+++ b/drivers/net/dpaa2/dpaa2_flow.c\n@@ -83,7 +83,6 @@ static const\n enum rte_flow_action_type dpaa2_supported_action_type[] = {\n \tRTE_FLOW_ACTION_TYPE_END,\n \tRTE_FLOW_ACTION_TYPE_QUEUE,\n-\tRTE_FLOW_ACTION_TYPE_PHY_PORT,\n \tRTE_FLOW_ACTION_TYPE_PORT_ID,\n \tRTE_FLOW_ACTION_TYPE_REPRESENTED_PORT,\n \tRTE_FLOW_ACTION_TYPE_RSS\n@@ -92,7 +91,6 @@ enum rte_flow_action_type dpaa2_supported_action_type[] = {\n static const\n enum rte_flow_action_type dpaa2_supported_fs_action_type[] = {\n \tRTE_FLOW_ACTION_TYPE_QUEUE,\n-\tRTE_FLOW_ACTION_TYPE_PHY_PORT,\n \tRTE_FLOW_ACTION_TYPE_PORT_ID,\n \tRTE_FLOW_ACTION_TYPE_REPRESENTED_PORT,\n };\n@@ -3281,17 +3279,11 @@ static inline struct rte_eth_dev *\n dpaa2_flow_redirect_dev(struct dpaa2_dev_priv *priv,\n \tconst struct rte_flow_action *action)\n {\n-\tconst struct rte_flow_action_phy_port *phy_port;\n \tconst struct rte_flow_action_port_id *port_id;\n \tint idx = -1;\n \tstruct rte_eth_dev *dest_dev;\n \n-\tif (action->type == RTE_FLOW_ACTION_TYPE_PHY_PORT) {\n-\t\tphy_port = (const struct rte_flow_action_phy_port *)\n-\t\t\t\t\taction->conf;\n-\t\tif (!phy_port->original)\n-\t\t\tidx = phy_port->index;\n-\t} else if (action->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {\n+\tif (action->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {\n \t\tport_id = (const struct rte_flow_action_port_id *)\n \t\t\t\t\taction->conf;\n \t\tif (!port_id->original)\n@@ -3345,7 +3337,6 @@ dpaa2_flow_verify_action(\n \t\t\t}\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:\n-\t\tcase RTE_FLOW_ACTION_TYPE_PHY_PORT:\n \t\tcase RTE_FLOW_ACTION_TYPE_PORT_ID:\n \t\t\tif (!dpaa2_flow_redirect_dev(priv, &actions[j])) {\n \t\t\t\tDPAA2_PMD_ERR(\"Invalid port id of action\");\n@@ -3523,7 +3514,6 @@ dpaa2_generic_flow_set(struct rte_flow *flow,\n \t\tswitch (actions[j].type) {\n \t\tcase RTE_FLOW_ACTION_TYPE_QUEUE:\n \t\tcase RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:\n-\t\tcase RTE_FLOW_ACTION_TYPE_PHY_PORT:\n \t\tcase RTE_FLOW_ACTION_TYPE_PORT_ID:\n \t\t\tmemset(&action, 0, sizeof(struct dpni_fs_action_cfg));\n \t\t\tflow->action = actions[j].type;\n@@ -4098,7 +4088,6 @@ int dpaa2_flow_destroy(struct rte_eth_dev *dev,\n \tswitch (flow->action) {\n \tcase RTE_FLOW_ACTION_TYPE_QUEUE:\n \tcase RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:\n-\tcase RTE_FLOW_ACTION_TYPE_PHY_PORT:\n \tcase RTE_FLOW_ACTION_TYPE_PORT_ID:\n \t\tif (priv->num_rx_tc > 1) {\n \t\t\t/* Remove entry from QoS table first */\ndiff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c\nindex 4ddb63cbe5..421bb6da95 100644\n--- a/drivers/net/sfc/sfc_mae.c\n+++ b/drivers/net/sfc/sfc_mae.c\n@@ -3463,36 +3463,6 @@ sfc_mae_rule_parse_action_count(struct sfc_adapter *sa,\n \treturn rc;\n }\n \n-static int\n-sfc_mae_rule_parse_action_phy_port(struct sfc_adapter *sa,\n-\t\t\t\t   const struct rte_flow_action_phy_port *conf,\n-\t\t\t\t   efx_mae_actions_t *spec)\n-{\n-\tefx_mport_sel_t mport;\n-\tuint32_t phy_port;\n-\tint rc;\n-\n-\tif (conf->original != 0)\n-\t\tphy_port = efx_nic_cfg_get(sa->nic)->enc_assigned_port;\n-\telse\n-\t\tphy_port = conf->index;\n-\n-\trc = efx_mae_mport_by_phy_port(phy_port, &mport);\n-\tif (rc != 0) {\n-\t\tsfc_err(sa, \"failed to convert phys. port ID %u to m-port selector: %s\",\n-\t\t\tphy_port, strerror(rc));\n-\t\treturn rc;\n-\t}\n-\n-\trc = efx_mae_action_set_populate_deliver(spec, &mport);\n-\tif (rc != 0) {\n-\t\tsfc_err(sa, \"failed to request action DELIVER with m-port selector 0x%08x: %s\",\n-\t\t\tmport.sel, strerror(rc));\n-\t}\n-\n-\treturn rc;\n-}\n-\n static int\n sfc_mae_rule_parse_action_pf_vf(struct sfc_adapter *sa,\n \t\t\t\tconst struct rte_flow_action_vf *vf_conf,\n@@ -3626,7 +3596,6 @@ static const char * const action_names[] = {\n \t[RTE_FLOW_ACTION_TYPE_COUNT] = \"COUNT\",\n \t[RTE_FLOW_ACTION_TYPE_FLAG] = \"FLAG\",\n \t[RTE_FLOW_ACTION_TYPE_MARK] = \"MARK\",\n-\t[RTE_FLOW_ACTION_TYPE_PHY_PORT] = \"PHY_PORT\",\n \t[RTE_FLOW_ACTION_TYPE_PF] = \"PF\",\n \t[RTE_FLOW_ACTION_TYPE_VF] = \"VF\",\n \t[RTE_FLOW_ACTION_TYPE_PORT_ID] = \"PORT_ID\",\n@@ -3745,11 +3714,6 @@ sfc_mae_rule_parse_action(struct sfc_adapter *sa,\n \t\t\tcustom_error = B_TRUE;\n \t\t}\n \t\tbreak;\n-\tcase RTE_FLOW_ACTION_TYPE_PHY_PORT:\n-\t\tSFC_BUILD_SET_OVERFLOW(RTE_FLOW_ACTION_TYPE_PHY_PORT,\n-\t\t\t\t       bundle->actions_mask);\n-\t\trc = sfc_mae_rule_parse_action_phy_port(sa, action->conf, spec);\n-\t\tbreak;\n \tcase RTE_FLOW_ACTION_TYPE_PF:\n \t\tSFC_BUILD_SET_OVERFLOW(RTE_FLOW_ACTION_TYPE_PF,\n \t\t\t\t       bundle->actions_mask);\ndiff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c\nindex e7ccdb772e..eeb9398e77 100644\n--- a/lib/ethdev/rte_flow.c\n+++ b/lib/ethdev/rte_flow.c\n@@ -188,7 +188,6 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {\n \tMK_FLOW_ACTION(RSS, sizeof(struct rte_flow_action_rss)),\n \tMK_FLOW_ACTION(PF, 0),\n \tMK_FLOW_ACTION(VF, sizeof(struct rte_flow_action_vf)),\n-\tMK_FLOW_ACTION(PHY_PORT, sizeof(struct rte_flow_action_phy_port)),\n \tMK_FLOW_ACTION(PORT_ID, sizeof(struct rte_flow_action_port_id)),\n \tMK_FLOW_ACTION(METER, sizeof(struct rte_flow_action_meter)),\n \tMK_FLOW_ACTION(SECURITY, sizeof(struct rte_flow_action_security)),\ndiff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h\nindex 066e8c8a99..8c33e84ee8 100644\n--- a/lib/ethdev/rte_flow.h\n+++ b/lib/ethdev/rte_flow.h\n@@ -2224,18 +2224,6 @@ enum rte_flow_action_type {\n \t */\n \tRTE_FLOW_ACTION_TYPE_VF,\n \n-\t/**\n-\t * @deprecated\n-\t * @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR\n-\t * @see RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT\n-\t *\n-\t * Directs packets to a given physical port index of the underlying\n-\t * device.\n-\t *\n-\t * See struct rte_flow_action_phy_port.\n-\t */\n-\tRTE_FLOW_ACTION_TYPE_PHY_PORT,\n-\n \t/**\n \t * @deprecated\n \t * @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR\n@@ -2960,22 +2948,6 @@ struct rte_flow_action_vf {\n \tuint32_t id; /**< VF ID. */\n };\n \n-/**\n- * @deprecated\n- * @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR\n- * @see RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT\n- *\n- * RTE_FLOW_ACTION_TYPE_PHY_PORT\n- *\n- * Directs packets to a given physical port index of the underlying\n- * device.\n- */\n-struct rte_flow_action_phy_port {\n-\tuint32_t original:1; /**< Use original port index if possible. */\n-\tuint32_t reserved:31; /**< Reserved, must be zero. */\n-\tuint32_t index; /**< Physical port index. */\n-};\n-\n /**\n  * @deprecated\n  * @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR\n",
    "prefixes": [
        "13/13"
    ]
}