Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/132387/?format=api
https://patches.dpdk.org/api/patches/132387/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20231008015041.1551165-5-chaoyong.he@corigine.com/", "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": "<20231008015041.1551165-5-chaoyong.he@corigine.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20231008015041.1551165-5-chaoyong.he@corigine.com", "date": "2023-10-08T01:50:37", "name": "[v3,4/8] net/bonding: add bonding port arguments", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "c04ffb8fff375f1cd8e5656232d829de4c51ebda", "submitter": { "id": 2554, "url": "https://patches.dpdk.org/api/people/2554/?format=api", "name": "Chaoyong He", "email": "chaoyong.he@corigine.com" }, "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/20231008015041.1551165-5-chaoyong.he@corigine.com/mbox/", "series": [ { "id": 29761, "url": "https://patches.dpdk.org/api/series/29761/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29761", "date": "2023-10-08T01:50:33", "name": "Enhance the bond framework to support offload", "version": 3, "mbox": "https://patches.dpdk.org/series/29761/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/132387/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/132387/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 4FE4E426E6;\n\tSun, 8 Oct 2023 03:52:02 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2ECB1406BA;\n\tSun, 8 Oct 2023 03:51:38 +0200 (CEST)", "from NAM12-BN8-obe.outbound.protection.outlook.com\n (mail-bn8nam12on2120.outbound.protection.outlook.com [40.107.237.120])\n by mails.dpdk.org (Postfix) with ESMTP id 34713402F1\n for <dev@dpdk.org>; Sun, 8 Oct 2023 03:51:35 +0200 (CEST)", "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by BLAPR13MB4579.namprd13.prod.outlook.com (2603:10b6:208:327::14)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.41; Sun, 8 Oct\n 2023 01:51:33 +0000", "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::28c0:63e2:ecd1:9314]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::28c0:63e2:ecd1:9314%4]) with mapi id 15.20.6813.027; Sun, 8 Oct 2023\n 01:51:33 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=eco2c4CKi0BW3QUyPtxBoTmD2PC4mbIRSynWjpT6mb256AxGIMPLkzg3f1g6MV1ce1/3eqLwrbBnlMnqoOAq3epPPkZ8J5b+6NRKqR7DQSRQu68MId1S+tdtJiOyq4SZqN15Vh1DSYkPcmk6lGfF+xX6BqeCls9Id33HmD0omvCs0OK5U+mFi4+TIRlpWnKTv65mWi5VoMzflN/fOLLBFYz3BFanuzqKUQYfcLElP3CN9tRdz0PyjuWh1Zt5VnzELXUOxP6NFHmGxVKnmAFpxnbWtxRaUQjgpK1dBAnwVr5+VcMxRNBIM7vHTYqn+/LCd55Ua3DN7clXMEWoNThiPQ==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=bwS4KxFY8DCg389KtohA9DSS4UmpV/wOLzrxSmdnIkk=;\n b=adF4I77c/CBOyWWN7kjbyxivj0ppx8HlEo8yOUThSDKuEybpaunw7y6Ps+RM1ZB77+WS+n4zENnqODdruVkZzU7VRbrHlZnN+tU1pBaYmCG2LW/u3OunqQ/ndhbIeJxwUsCwCpkJAiKOSmDT3ikeBf546w6FfxrHKLKqrsEXFKqNXBK9UwYVk3f+QRp5yhGLc3jlYU9e6/UM6k0al+3gzYcb0Fa7AhD7cC69sEKj2G8H+5gD7x9YPaAge7WI0xYgaXCdijPzY5jUAZTBaXgr+yGmr1wkqIpsQ/UTZd1XFZtntnbgGNd+lO+VaDTkXi5khKYM4gLrBUgLRMBWIlRQjQ==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com;\n dkim=pass header.d=corigine.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=bwS4KxFY8DCg389KtohA9DSS4UmpV/wOLzrxSmdnIkk=;\n b=Axm+Mc0twB7LGYHxWrg9kl4QOJfCj8rdy8wHYzp0Zi4mtofm6dxLjQa19Ql19UlfSBlsVguWnjZz+51QP0A14gdyWmxrDOezioKRZjb/bN7pjMHVssXN7X6QOjFZL0evhZo/5bUmwIvL3EaThWOh/p/97yyF8e3s1RjhRCuX2Wk=", "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=corigine.com;", "From": "Chaoyong He <chaoyong.he@corigine.com>", "To": "dev@dpdk.org", "Cc": "oss-drivers@corigine.com, Long Wu <long.wu@corigine.com>,\n James Hershaw <james.hershaw@corigine.com>,\n Chaoyong He <chaoyong.he@corigine.com>", "Subject": "[PATCH v3 4/8] net/bonding: add bonding port arguments", "Date": "Sun, 8 Oct 2023 09:50:37 +0800", "Message-Id": "<20231008015041.1551165-5-chaoyong.he@corigine.com>", "X-Mailer": "git-send-email 2.39.1", "In-Reply-To": "<20231008015041.1551165-1-chaoyong.he@corigine.com>", "References": "<20231007013440.1309422-1-chaoyong.he@corigine.com>\n <20231008015041.1551165-1-chaoyong.he@corigine.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "SJ0PR05CA0173.namprd05.prod.outlook.com\n (2603:10b6:a03:339::28) To SJ0PR13MB5545.namprd13.prod.outlook.com\n (2603:10b6:a03:424::5)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "SJ0PR13MB5545:EE_|BLAPR13MB4579:EE_", "X-MS-Office365-Filtering-Correlation-Id": "249b373c-8207-466d-a88c-08dbc7a1196a", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n 3rsFK9ksCoPaBuDSOFQzJ4z4ku/Pi1YArwCE+1NIaEv3Zy83Za/wy5jb2IsykQ7BAv0Cg121aTbp7Dw/gnhGlIJTE/rZ7GCQmAusmqKRp4I7bUQMYzhn4jw0AtW/uNV07IlRGLr/CyNVf4pweOAGwzkWAxbIvsRbGevFMtVDLOiam+1UQB5zv9oaA9iu/o6Er7zSNKenucKFiLBhAILSw6IV00hMZQSbawaXbX331asoaEL/2uLA6VhU7OEdms3Rurn53qnkmWDCx1qntTsB+mBsOxN1Ysyp5OyMRUfj90GaHpQnu0mUw3Zt+Jzvux3/xndAiFb36uBusedkDz94j9Hf6iVKieZu3iuGfjUEGV+dfDqxBRP6xMOG5cxir4im29v//5ptcnrqbyVTOfRH/X7CngjR2pHyIHBsrsbnUKDhbIX/Y79PKJkk3Z9W446y3sAXprnZHCWYg+AbRzOMDMkOP5dkO/Z593Azb5/US5qis2AX3a0CAVizIa8tX7ePbbZX1E90kcm1ETX9YNZYkovCV9dkDuLnBKbYljGcnXV8qFOyPHoqMNJuTIy3tZUvB2PxFEOeqAq2ewaNnRUer/ow7LTcRfbKZFsoi4rTOBc1T8wCmvRcucJg3+2ZO8DX8xl4mV9Y3QKH2uE3ahL3AP8BRzCTVL4z6dkUeUhQHaQ=", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230031)(39830400003)(376002)(396003)(366004)(136003)(346002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(41300700001)(1076003)(107886003)(2616005)(316002)(6916009)(66556008)(66946007)(54906003)(66476007)(36756003)(5660300002)(44832011)(83380400001)(38350700002)(38100700002)(86362001)(2906002)(26005)(8676002)(8936002)(4326008)(478600001)(6486002)(6506007)(52116002)(6512007);\n DIR:OUT; SFP:1102;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n ttpeZN6+YPZA4ggw3lk0mAjMGMEYSHEKtbgTXPtXLDcV9IIUPkscVnp3ZMgAdMKbITmC+0RotW/cn1t++cW6p0dI4HpX/IAam8LOYwOiL44DgRzJAEXV+w7ijnYAqxDNNVl6PLosvbFJqJcUIerBfgqPYNLqiMQadeHxSHwIHixi3Aitn7prtl8GqXpI7z+wl6zz8xmpvtpbaUVQjzBWO3LOudGOXM+0Hfcbd4JRZ6Am0Hia1/d0J3T8o7khF0fsxBl73EwHBY61pktuAXOBpJub4SCmB7lM4YwLL1KRN1ZcBYEO0Z2vD7Ijh+iPMtI9kyKQq/sDQUyyIm3c0KeVHWDYq6cHWhgStO6JfUh3OVy4Kqb+zQt50iIqjaD06oCIHfIqcEnuytWrKm1VW0pJLTuy6g803rwSnCPbrRTKEB3Ylk/Nq/eAOsiJ/ikk2Rq4JpZwbReYjQw/yN9joa2z8Xo8c2NF/7slkLs3jnv51uzMgFayPYOObgT1tECeENh2YJjwYQoZHRsyEzG6rj8IIaasEbTVNz/B8GdmLE4CBdfb+/E4njjzZ1h8Qqoxno5FldvTwNldyFg8yVqvxoIlu7DODumRudsP4m797UAGBAuFqlHdx7SeSHSxd+DcVEYyFU+C4vtQJlxsiL79gE5mjnTV85RJX5+0ANXJZOsoEums5YQJtEQvGQ46uuL7s82c6WfrlFTq9sRDDj3xisNQTya+5ByHJdf2EnTImBk9HRLS6bTLMHWNin0aMj9I/a+3nzm8XRKduo/k7oFUQp3o2HiU9duY+4SIJ0rRpZTXzJ7t0WD5ZXneSPuQYal76pyqenbOEc/4Vv+G09BGpm4zrtKsgr2OYnERhty/ium8TD7iynODNpQcmSRksJSNUVZajecr3Syk4rOjmEAyk3YaLYxqY8dk8mUeOALaS5UIuami11vHZek081N2b8kAGLAhdiFmMtYRUguTHx/RcVZId9cIkXdsD7wxQoR4CcVlgNpUgVtntBhi5wqebnQ92l13A6ydXQ31tFKwdrZk7PUm2b2CFdPeXUqOCc2E3r7HGaLRdtkiiEa3txJuG/Ljw9N3i+ga9vyBVb38lXUc4l+KJLrId9D34E3FBzgFb7lwv+Wwui79dFWdHRX8yB8pd/AQQLXl4pl1nyr7aKIuF6ALHFWemubIIWoHKIPohlD0uQDpPwhH4hM11ZA/orN1FdHgTARluJHTIzGu4oaqVZFv4fX0p9rTMNUk2dTFIgEyB+xdc6M2pZCkcheLizvLJjGZbY7EoubfVAEDjqaRXCnUf877jLBiLsDAUPTwShDCmE5gbX/bR7lI/9Is5lL7QG/FhDmFMp05rHvA5gTJq63jPgWZ5e3IaE8ywup6J8N3OVQcR/Rd8S9DiNE0PD2MrRn3a4iPuiA+/R7+pFkMeD37EQwN8aJM4Bx1WmBAuFdlHsugO1N8XCv9p4PyLb3UMoN9Ue47wwORbAvjWV08VFtvi2+YJWpJlBHsNVOMP85vki/sgiD05n9l6i6MHoN+252lQsVT5URGjWie/Om+8kc19bfydV92U7eCPZrMji+3L1KTZz5bCA2yoZ7zf9Bjx7PMJpvWVtVY3bZABTQGR3L5OQ==", "X-OriginatorOrg": "corigine.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 249b373c-8207-466d-a88c-08dbc7a1196a", "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Oct 2023 01:51:33.6197 (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "fe128f2c-073b-4c20-818e-7246a585940c", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n wxXfZaH7Hj/23kKl31ug3I3A11/E76onzBMCsi5cTbm7khScSMCzm7O1TrMY5kN9Z1Kn55WCXGF4u8OWad3LgTpUdAbXe0edAGmBLdVkacY=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BLAPR13MB4579", "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": "From: Long Wu <long.wu@corigine.com>\n\nInclude the following new arguments for bonding ports:\n- \"notify_member\" to enable/disable member notification.\n- \"dedicated_queue\" to enable/disable dedicated queue.\n\nAdd these two arguments in initial argument.\n\nSigned-off-by: Long Wu <long.wu@corigine.com>\nReviewed-by: James Hershaw <james.hershaw@corigine.com>\nReviewed-by: Chaoyong He <chaoyong.he@corigine.com>\n---\n drivers/net/bonding/eth_bond_private.h | 10 ++++\n drivers/net/bonding/rte_eth_bond.h | 14 ++++++\n drivers/net/bonding/rte_eth_bond_api.c | 14 ++++++\n drivers/net/bonding/rte_eth_bond_args.c | 44 ++++++++++++++++++\n drivers/net/bonding/rte_eth_bond_pmd.c | 61 ++++++++++++++++++++++++-\n 5 files changed, 142 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/bonding/eth_bond_private.h b/drivers/net/bonding/eth_bond_private.h\nindex f69e85c199..f9603a0f6b 100644\n--- a/drivers/net/bonding/eth_bond_private.h\n+++ b/drivers/net/bonding/eth_bond_private.h\n@@ -28,6 +28,8 @@\n #define PMD_BOND_LSC_POLL_PERIOD_KVARG\t\t(\"lsc_poll_period_ms\")\n #define PMD_BOND_LINK_UP_PROP_DELAY_KVARG\t(\"up_delay\")\n #define PMD_BOND_LINK_DOWN_PROP_DELAY_KVARG\t(\"down_delay\")\n+#define PMD_BOND_NOTIFY_MEMBER_KVARG\t\t(\"notify_member\")\n+#define PMD_BOND_DEDICATED_QUEUE_KVARG\t\t(\"dedicated_queue\")\n \n #define PMD_BOND_XMIT_POLICY_LAYER2_KVARG\t(\"l2\")\n #define PMD_BOND_XMIT_POLICY_LAYER23_KVARG\t(\"l23\")\n@@ -319,6 +321,14 @@ int\n bond_ethdev_parse_time_ms_kvarg(const char *key,\n \t\tconst char *value, void *extra_args);\n \n+int\n+bond_ethdev_parse_notify_member_kvarg(const char *key __rte_unused,\n+\t\tconst char *value, void *extra_args);\n+\n+int\n+bond_ethdev_parse_dedicated_queue_kvarg(const char *key __rte_unused,\n+\t\tconst char *value, void *extra_args);\n+\n void\n bond_tlb_disable(struct bond_dev_private *internals);\n \ndiff --git a/drivers/net/bonding/rte_eth_bond.h b/drivers/net/bonding/rte_eth_bond.h\nindex 28aa341d2f..3f427b6bab 100644\n--- a/drivers/net/bonding/rte_eth_bond.h\n+++ b/drivers/net/bonding/rte_eth_bond.h\n@@ -385,6 +385,20 @@ rte_eth_bond_link_up_prop_delay_set(uint16_t bonding_port_id,\n int\n rte_eth_bond_link_up_prop_delay_get(uint16_t bonding_port_id);\n \n+/**\n+ * Set the flag that whether bonding device enable dedicated queue.\n+ *\n+ * @param bonding_port_id\n+ * Port ID of bonding device.\n+ * @param queue_flag\n+ * The flag of enable bond dedicated queue\n+ *\n+ * @return\n+ * 0 on success, negative value otherwise.\n+ */\n+int\n+rte_eth_bond_dedicated_queue_flag_set(uint16_t bonding_port_id, bool queue_flag);\n+\n /**\n * Set the flag of whether bonding port notifies member ports.\n *\ndiff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c\nindex 0be580b19b..a042f05a4c 100644\n--- a/drivers/net/bonding/rte_eth_bond_api.c\n+++ b/drivers/net/bonding/rte_eth_bond_api.c\n@@ -1114,6 +1114,20 @@ rte_eth_bond_link_up_prop_delay_get(uint16_t bonding_port_id)\n \treturn internals->link_up_delay_ms;\n }\n \n+int\n+rte_eth_bond_dedicated_queue_flag_set(uint16_t bonding_port_id, bool queue_flag)\n+{\n+\tstruct bond_dev_private *internals;\n+\n+\tif (valid_bonding_port_id(bonding_port_id) != 0)\n+\t\treturn -1;\n+\n+\tinternals = rte_eth_devices[bonding_port_id].data->dev_private;\n+\tinternals->mode4.dedicated_queues.enabled = queue_flag;\n+\n+\treturn 0;\n+}\n+\n int\n rte_eth_bond_notify_member_flag_set(uint16_t bonding_port_id, bool notify_member)\n {\ndiff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c\nindex bdec5d61d4..8a3e4656ef 100644\n--- a/drivers/net/bonding/rte_eth_bond_args.c\n+++ b/drivers/net/bonding/rte_eth_bond_args.c\n@@ -20,6 +20,8 @@ const char *pmd_bond_init_valid_arguments[] = {\n \tPMD_BOND_MAC_ADDR_KVARG,\n \tPMD_BOND_AGG_MODE_KVARG,\n \tRTE_DEVARGS_KEY_DRIVER,\n+\tPMD_BOND_NOTIFY_MEMBER_KVARG,\n+\tPMD_BOND_DEDICATED_QUEUE_KVARG,\n \tNULL\n };\n \n@@ -297,3 +299,45 @@ bond_ethdev_parse_time_ms_kvarg(const char *key __rte_unused,\n \n \treturn 0;\n }\n+\n+int\n+bond_ethdev_parse_notify_member_kvarg(const char *key __rte_unused,\n+\t\tconst char *value, void *extra_args)\n+{\n+\tbool *notify_member;\n+\n+\tif (value == NULL || extra_args == NULL)\n+\t\treturn -1;\n+\n+\tnotify_member = extra_args;\n+\n+\tif (strcmp(\"enable\", value) == 0)\n+\t\t*notify_member = true;\n+\telse if (strcmp(\"disable\", value) == 0)\n+\t\t*notify_member = false;\n+\telse\n+\t\treturn -1;\n+\n+\treturn 0;\n+}\n+\n+int\n+bond_ethdev_parse_dedicated_queue_kvarg(const char *key __rte_unused,\n+\t\tconst char *value, void *extra_args)\n+{\n+\tbool *dedicated_queue;\n+\n+\tif (value == NULL || extra_args == NULL)\n+\t\treturn -1;\n+\n+\tdedicated_queue = extra_args;\n+\n+\tif (strcmp(\"enable\", value) == 0)\n+\t\t*dedicated_queue = true;\n+\telse if (strcmp(\"disable\", value) == 0)\n+\t\t*dedicated_queue = false;\n+\telse\n+\t\treturn -1;\n+\n+\treturn 0;\n+}\ndiff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c\nindex b99b8b8938..1ebeb270c8 100644\n--- a/drivers/net/bonding/rte_eth_bond_pmd.c\n+++ b/drivers/net/bonding/rte_eth_bond_pmd.c\n@@ -4227,6 +4227,63 @@ bond_ethdev_configure(struct rte_eth_dev *dev)\n \t\treturn -1;\n \t}\n \n+\t/* Parse/set notify member flag */\n+\targ_count = rte_kvargs_count(kvlist, PMD_BOND_NOTIFY_MEMBER_KVARG);\n+\tif (arg_count == 1) {\n+\t\tbool notify_member;\n+\t\tif (rte_kvargs_process(kvlist,\n+\t\t\t\t PMD_BOND_NOTIFY_MEMBER_KVARG,\n+\t\t\t\t &bond_ethdev_parse_notify_member_kvarg,\n+\t\t\t\t ¬ify_member) < 0) {\n+\t\t\tRTE_BOND_LOG(ERR,\n+\t\t\t\t \"Invalid notify member value specified\"\n+\t\t\t\t \" for bonding device %s\", name);\n+\t\t\treturn -1;\n+\t\t}\n+\n+\t\tif (rte_eth_bond_notify_member_flag_set(port_id, notify_member) != 0) {\n+\t\t\tRTE_BOND_LOG(ERR,\n+\t\t\t\t \"Failed to set notify member (%u) on\"\n+\t\t\t\t \" bonding device %s\", notify_member, name);\n+\t\t\treturn -1;\n+\t\t}\n+\t} else if (arg_count > 1) {\n+\t\tRTE_BOND_LOG(ERR,\n+\t\t\t \"notify member flag can be specified only once\"\n+\t\t\t \" for bonding device %s\", name);\n+\t\treturn -1;\n+\t}\n+\n+\t/* Parse/set dedicated queue flag */\n+\targ_count = rte_kvargs_count(kvlist, PMD_BOND_DEDICATED_QUEUE_KVARG);\n+\tif (arg_count == 1) {\n+\t\tbool dedicated_queue;\n+\t\tif (rte_kvargs_process(kvlist,\n+\t\t\t\t PMD_BOND_DEDICATED_QUEUE_KVARG,\n+\t\t\t\t &bond_ethdev_parse_dedicated_queue_kvarg,\n+\t\t\t\t &dedicated_queue) < 0) {\n+\t\t\tRTE_BOND_LOG(ERR,\n+\t\t\t\t \"Invalid dedicated queue flag specified\"\n+\t\t\t\t \" for bonding device %s\", name);\n+\t\t\treturn -1;\n+\t\t}\n+\n+\t\tif (internals->mode == BONDING_MODE_8023AD) {\n+\t\t\tif (rte_eth_bond_dedicated_queue_flag_set(port_id, dedicated_queue) != 0) {\n+\t\t\t\tRTE_BOND_LOG(ERR,\n+\t\t\t\t\t \"Failed to enable/disable dedicated\"\n+\t\t\t\t\t \" queue flag on bonding device %s\",\n+\t\t\t\t\t name);\n+\t\t\t\treturn -1;\n+\t\t\t}\n+\t\t}\n+\t} else if (arg_count > 1) {\n+\t\tRTE_BOND_LOG(ERR,\n+\t\t\t \"dedicated queue flag can be specified only once\"\n+\t\t\t \" for bonding device %s\", name);\n+\t\treturn -1;\n+\t}\n+\n \t/* configure members so we can pass mtu setting */\n \tfor (i = 0; i < internals->member_count; i++) {\n \t\tstruct rte_eth_dev *member_ethdev =\n@@ -4264,7 +4321,9 @@ RTE_PMD_REGISTER_PARAM_STRING(net_bonding,\n \t\"mac=<mac addr> \"\n \t\"lsc_poll_period_ms=<int> \"\n \t\"up_delay=<int> \"\n-\t\"down_delay=<int>\");\n+\t\"down_delay=<int>\"\n+\t\"notify_member=[enable | disable] \"\n+\t\"dedicated_queue=[enable | disable] \");\n \n /* We can't use RTE_LOG_REGISTER_DEFAULT because of the forced name for\n * this library, see meson.build.\n", "prefixes": [ "v3", "4/8" ] }{ "id": 132387, "url": "