Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/97428/?format=api
https://patches.dpdk.org/api/patches/97428/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210827065717.1838258-11-andrew.rybchenko@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": "<20210827065717.1838258-11-andrew.rybchenko@oktetlabs.ru>", "list_archive_url": "https://inbox.dpdk.org/dev/20210827065717.1838258-11-andrew.rybchenko@oktetlabs.ru", "date": "2021-08-27T06:56:49", "name": "[10/38] common/sfc_efx/base: allow creating invalid mport selectors", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "7bdb7ca7b8b58b6d81cdc57746e08eaeb9e80b24", "submitter": { "id": 2013, "url": "https://patches.dpdk.org/api/people/2013/?format=api", "name": "Andrew Rybchenko", "email": "Andrew.Rybchenko@oktetlabs.ru" }, "delegate": { "id": 319, "url": "https://patches.dpdk.org/api/users/319/?format=api", "username": "fyigit", "first_name": "Ferruh", "last_name": "Yigit", "email": "ferruh.yigit@amd.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210827065717.1838258-11-andrew.rybchenko@oktetlabs.ru/mbox/", "series": [ { "id": 18492, "url": "https://patches.dpdk.org/api/series/18492/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=18492", "date": "2021-08-27T06:56:39", "name": "net/sfc: support port representors", "version": 1, "mbox": "https://patches.dpdk.org/series/18492/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/97428/comments/", "check": "warning", "checks": "https://patches.dpdk.org/api/patches/97428/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 307E5A0C43;\n\tFri, 27 Aug 2021 08:58:48 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9AD6641270;\n\tFri, 27 Aug 2021 08:58:08 +0200 (CEST)", "from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113])\n by mails.dpdk.org (Postfix) with ESMTP id C0E2341288\n for <dev@dpdk.org>; Fri, 27 Aug 2021 08:58:07 +0200 (CEST)", "by shelob.oktetlabs.ru (Postfix, from userid 122)\n id 863F07F6D7; Fri, 27 Aug 2021 09:58:07 +0300 (MSK)", "from aros.oktetlabs.ru (aros.oktetlabs.ru [192.168.38.17])\n by shelob.oktetlabs.ru (Postfix) with ESMTP id D68447F6DA;\n Fri, 27 Aug 2021 09:57:33 +0300 (MSK)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on shelob.oktetlabs.ru", "X-Spam-Level": "", "X-Spam-Status": "No, score=0.8 required=5.0 tests=ALL_TRUSTED,\n DKIM_ADSP_DISCARD,\n URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2", "DKIM-Filter": "OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru D68447F6DA", "Authentication-Results": "shelob.oktetlabs.ru/D68447F6DA; dkim=none;\n dkim-atps=neutral", "From": "Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>", "To": "dev@dpdk.org", "Cc": "Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru>,\n Andy Moreton <amoreton@xilinx.com>", "Date": "Fri, 27 Aug 2021 09:56:49 +0300", "Message-Id": "<20210827065717.1838258-11-andrew.rybchenko@oktetlabs.ru>", "X-Mailer": "git-send-email 2.30.2", "In-Reply-To": "<20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru>", "References": "<20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 10/38] common/sfc_efx/base: allow creating\n invalid mport selectors", "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", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru>\n\nThere isn't always a valid mport that can be used. For these cases,\nspecial invalid selectors can be generated. Requests that use such\nselectors in any way will be rejected.\n\nSigned-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru>\nSigned-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>\nReviewed-by: Andy Moreton <amoreton@xilinx.com>\n---\n drivers/common/sfc_efx/base/efx.h | 11 +++++++++++\n drivers/common/sfc_efx/base/efx_mae.c | 25 +++++++++++++++++++++++++\n drivers/common/sfc_efx/version.map | 1 +\n 3 files changed, 37 insertions(+)", "diff": "diff --git a/drivers/common/sfc_efx/base/efx.h b/drivers/common/sfc_efx/base/efx.h\nindex 94803815ac..c0d1535017 100644\n--- a/drivers/common/sfc_efx/base/efx.h\n+++ b/drivers/common/sfc_efx/base/efx.h\n@@ -4196,6 +4196,17 @@ typedef struct efx_mport_id_s {\n \n #define\tEFX_MPORT_NULL\t\t\t(0U)\n \n+/*\n+ * Generate an invalid MPORT selector.\n+ *\n+ * The resulting MPORT selector is opaque to the caller. Requests\n+ * that attempt to use it will be rejected.\n+ */\n+LIBEFX_API\n+extern\t__checkReturn\t\t\tefx_rc_t\n+efx_mae_mport_invalid(\n+\t__out\t\t\t\tefx_mport_sel_t *mportp);\n+\n /*\n * Get MPORT selector of a physical port.\n *\ndiff --git a/drivers/common/sfc_efx/base/efx_mae.c b/drivers/common/sfc_efx/base/efx_mae.c\nindex b38b1143d6..b7afe8fdc8 100644\n--- a/drivers/common/sfc_efx/base/efx_mae.c\n+++ b/drivers/common/sfc_efx/base/efx_mae.c\n@@ -660,6 +660,31 @@ static const efx_mae_mv_bit_desc_t __efx_mae_action_rule_mv_bit_desc_set[] = {\n #undef EFX_MAE_MV_BIT_DESC\n };\n \n+\t__checkReturn\t\t\tefx_rc_t\n+efx_mae_mport_invalid(\n+\t__out\t\t\t\tefx_mport_sel_t *mportp)\n+{\n+\tefx_dword_t dword;\n+\tefx_rc_t rc;\n+\n+\tif (mportp == NULL) {\n+\t\trc = EINVAL;\n+\t\tgoto fail1;\n+\t}\n+\n+\tEFX_POPULATE_DWORD_1(dword,\n+\t MAE_MPORT_SELECTOR_TYPE, MAE_MPORT_SELECTOR_TYPE_INVALID);\n+\n+\tmemset(mportp, 0, sizeof (*mportp));\n+\tmportp->sel = dword.ed_u32[0];\n+\n+\treturn (0);\n+\n+fail1:\n+\tEFSYS_PROBE1(fail1, efx_rc_t, rc);\n+\treturn (rc);\n+}\n+\n \t__checkReturn\t\t\tefx_rc_t\n efx_mae_mport_by_phy_port(\n \t__in\t\t\t\tuint32_t phy_port,\ndiff --git a/drivers/common/sfc_efx/version.map b/drivers/common/sfc_efx/version.map\nindex 3dc21878c0..611757ccde 100644\n--- a/drivers/common/sfc_efx/version.map\n+++ b/drivers/common/sfc_efx/version.map\n@@ -127,6 +127,7 @@ INTERNAL {\n \tefx_mae_mport_by_pcie_function;\n \tefx_mae_mport_by_phy_port;\n \tefx_mae_mport_id_by_selector;\n+\tefx_mae_mport_invalid;\n \tefx_mae_outer_rule_insert;\n \tefx_mae_outer_rule_remove;\n \n", "prefixes": [ "10/38" ] }{ "id": 97428, "url": "