From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 782424625C for ; Tue, 18 Feb 2025 13:36:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 72874402E5; Tue, 18 Feb 2025 13:36:48 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2061.outbound.protection.outlook.com [40.107.92.61]) by mails.dpdk.org (Postfix) with ESMTP id C71B1402E4 for ; Tue, 18 Feb 2025 13:36:46 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Urfdh2QN/1mhMmv+6uu5WM2D/NcHnF0Zd9PLgiBDT3htzLsFxDOY5V/TsEkF8QIqSZHA5E+9qdA+31u7DBRP+yGOQuqIskemHafCPumFfCdRHIkWQvaHPiziIhMpTzOZs0sxtFnqZ/bYxJFYWKBsYeSBm9Nj3J4rSMohkv09+wiPVWN4nty2W/Ub2eGNQb0RfkalrWn2cs9ODtfe7B11rWPZtMQOUaTloIKZ8/hZ1tD/olbRzgDB8GF32uDPWKrBjR5BqTzLRXasfDE8qK8iFr/gntXTqHCgvD6ud3E7kV65HQoy7kfWXCewKNwWy0jHF0pCYuEsMRGZrHBbGC+LKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=LL1TANbtxM5mh53TN98Buel6PA0cgZWo1qcomPkzOb0=; b=C57X0krDR6c6/BNF6Nji2/S3dk06G6jtEkW8pPbmQr610X7cEE1cb3NwuZvNYeCRX9kGQz/zU2ScN7ccQyVs2tyZWUpA47iAwKqiBVO9KLD4voHj1b1Md0nNbvWzb9PqA9e+dz1WPNIdAunF+JnUz5kKjxqodI1n08vVYW4DuI4MDuRREIaAA1evtZYCWw7gjrYN9L6v+ds4E4aSVWglvmBTu+qhOueBFow9oRxpoS16gELrJ3ZTxdqdD6nj95qqwUmDvrRPdM7Te+GFrwqShvBZAVMccrNBFCSpUirbJLdvWVV7Tk4Sigb+cWtCB3HxL0OLfHbtf2qUhlSPOE1AFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=networkplumber.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LL1TANbtxM5mh53TN98Buel6PA0cgZWo1qcomPkzOb0=; b=QDMdUX53C8VZyOMkiuRQStOB9eCgZTjvqTOmU1dzU+to9dthbq6uGfb7YMpcIa0AewTfVC/oZkfCCc+P6dvHRMKLpHGGFC8/biXEzktF5NVvsasyb6KT3ZWFscRgzebSfSK6CgjWoPRKfPtipEFg/A9i7fz4Pkm6jvMGl4ddJgyX5CcbhFr9N11npdYvOBBbL7OgUNxTlLXroCABIBNLwzsX2HgHrjd+fxczhrfA0hWaeAU8MKn+ElKBfFJ7Dj3Kg56TaD1MuvQ7fP7g7awXxh8EmPugI9yEn8gfwnwS+q0ExvCzQOP7FI6Q2egOvdGLGkwVf0in6J3OSbKnksTPkA== Received: from BYAPR08CA0045.namprd08.prod.outlook.com (2603:10b6:a03:117::22) by BY5PR12MB4308.namprd12.prod.outlook.com (2603:10b6:a03:20a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.19; Tue, 18 Feb 2025 12:36:43 +0000 Received: from MWH0EPF000989E7.namprd02.prod.outlook.com (2603:10b6:a03:117:cafe::2) by BYAPR08CA0045.outlook.office365.com (2603:10b6:a03:117::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.14 via Frontend Transport; Tue, 18 Feb 2025 12:36:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by MWH0EPF000989E7.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.11 via Frontend Transport; Tue, 18 Feb 2025 12:36:42 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 18 Feb 2025 04:36:29 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 18 Feb 2025 04:36:27 -0800 From: Xueming Li To: Stephen Hemminger CC: , Huisong Li , dpdk stable Subject: patch 'test/bonding: fix active backup receive test' has been queued to stable release 23.11.4 Date: Tue, 18 Feb 2025 20:34:04 +0800 Message-ID: <20250218123523.36836-10-xuemingl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250218123523.36836-1-xuemingl@nvidia.com> References: <20250218123523.36836-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E7:EE_|BY5PR12MB4308:EE_ X-MS-Office365-Filtering-Correlation-Id: b752d20a-e21a-4407-6ed9-08dd5018e62e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024|13003099007|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?g7CXdCb27hOwLywos/0Oz+biXYX8k6eigkR7UuRzzPxl6j36FrVVLXq5qQiK?= =?us-ascii?Q?BC0A7Ytoo4gXVkLfYRvzbnG+S4PBIbKdolYRNMlAq9Em9wJ4lLg6LgzoyZfQ?= =?us-ascii?Q?n5qtNHRplZNhhCqcGxNT4L+5ipefJ6eI5IJQiGpEXGqFZgzOfjf+ur3me3j0?= =?us-ascii?Q?LIGkKU2AWC7UZ+NfBO38yi27nT17D81J7R56D5GwpHyjzNtTXJPqj2JlPgWd?= =?us-ascii?Q?lsmPx6pa/AIRUZLLvWfwhoBq23KlA4euEPfD/r8TyO1flKQ9O1aOIVah2CRW?= =?us-ascii?Q?bEGyNtfnpMUhaY8xSR+IrIaCUkpe2+xW3Yg4zXij7ctjcwQRq5HAmvWrLHRM?= =?us-ascii?Q?+qMYBjsfe/XuO8vZFH8ocpxmeHtt+W6BnOfgRvKmIAsKx1F0XDjMFGb4r8Do?= =?us-ascii?Q?qH1nuH3FWkDJ40gY/Hpb+wFWCAo4Wq/iOpKjrOZsz7CwhlJJMiBX4uHgRIn2?= =?us-ascii?Q?38EUsloYqUQRuDwVfYKXnpnsOuCeLpjf1Vx1hGrH1EK1Ejv+mE00g0zrAVsu?= =?us-ascii?Q?tup3wnC/kss45HzTRmcMdOR7zh4viY4d/FdmDjmUAAgfx69ay2QkCHaED04j?= =?us-ascii?Q?w2HCRXzydWTRKqmYBkhOrpz3OH7wPm1nd5Gt3AirS4PJWCrbDuOLPlA5vaS2?= =?us-ascii?Q?BcaKmQ8BvOmsWRzZL4MCsYtnBLwTDF9SxkjlIWkjjWj4GRmoBiwLYfcSrnaF?= =?us-ascii?Q?nkvnYqjplDuFa/7RYympw4CyVRg8PDkTQ9PGecxWw0E/PZ2uA2Q3JIyIena3?= =?us-ascii?Q?UGw87+lYSAgpZBU6TqcHfui4CLls072/j1WVa2nb1aBzmqlqY5J+RKlQHUk+?= =?us-ascii?Q?upwYItsSDeLBiBENa8d/ZRYEq72ViRyGYZsANb6Iw/vjqCH90+V8i9px7GxV?= =?us-ascii?Q?cjmH1msDQ3tDzBJHY+lSFxF7T57Hh2hakRnCwGBRQwP4eO+Ux/G2tuE107tN?= =?us-ascii?Q?lOeBwC7aTgaL0rN9NPjfGo/+Pj7aUREUvMt5zYFVI7rCm2LC1CBMXuGOaHnv?= =?us-ascii?Q?jUFY2AkzxqbUZivl8PyDuklPe7sqWISBzS93yV6yjwkdcV1jO3E1TEdtDXi+?= =?us-ascii?Q?Lv+uc4v2KLgIc5hhCEhn4npI0trwDFxZr/UOswjSu/HLoGivnQGoGVkan2Pn?= =?us-ascii?Q?GCBGjJQ9otdSxCclv3JCi5zbw2H8rATqHdmQkUvBgAaD4hSB3hBQp62+yRkv?= =?us-ascii?Q?F6Pjqf6nj0VGLOpqgot75UrBbrikibGznld+rfNz2AiA5gxgzntEplAJ4SR5?= =?us-ascii?Q?PROoaWoyDDgxX0r1v32BBnqs0IUg5RqzxEjleNftvZgJOwU7HwAxTmPLdJcG?= =?us-ascii?Q?aU1dq/lCO3Xh9IN8NnKgJaMywOWHwDmUdCvkjar0YVDzgzWy3ndy2PTYWUS/?= =?us-ascii?Q?s/NNbsMxiliO1nTwDtwP3dF8pjUQt39yLcK1Wfu7F7zWx4qlUBf97khLT1KZ?= =?us-ascii?Q?82Q/ywwkzYnLauAj8HOilKsiIbJW9M3kSHJ8PsPgrKsS+XM3c6S0q8jRN7sM?= =?us-ascii?Q?0I3bWFhL1zWC68U=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024)(13003099007)(7053199007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 12:36:42.6780 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b752d20a-e21a-4407-6ed9-08dd5018e62e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4308 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 23.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. Please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging This queued commit can be viewed at: https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=d0d04dead13a23640736a8b83a27bda0164f45be Thanks. Xueming Li --- >From d0d04dead13a23640736a8b83a27bda0164f45be Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 13 Dec 2024 09:17:14 -0800 Subject: [PATCH] test/bonding: fix active backup receive test Cc: Xueming Li [ upstream commit eb29e625ce41b50898efc8e2618b7eeb128460ed ] The test had incorrect assumptions about how active backup should work. When in active backup mode, the secondary (not primary) ports should be ignored. The test was always broken since initially written but earlier bug was masking the part of the test which tested non-primary ports. Bugzilla ID: 1589 Fixes: 112ce3917674 ("test/bonding: fix loop on members") Signed-off-by: Stephen Hemminger Acked-by: Huisong Li Tested-by: Huisong Li --- app/test/test_link_bonding.c | 74 +++++++++++++++++------------------- 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c index b53f512815..19b064771a 100644 --- a/app/test/test_link_bonding.c +++ b/app/test/test_link_bonding.c @@ -2246,54 +2246,48 @@ test_activebackup_rx_burst(void) virtual_ethdev_add_mbufs_to_rx_queue(test_params->member_port_ids[i], &gen_pkt_burst[0], burst_size); + /* Expect burst if this was the active port, zero otherwise */ + unsigned int rx_expect + = (test_params->member_port_ids[i] == primary_port) ? burst_size : 0; + /* Call rx burst on bonding device */ - TEST_ASSERT_EQUAL(rte_eth_rx_burst(test_params->bonding_port_id, 0, - &rx_pkt_burst[0], MAX_PKT_BURST), burst_size, - "rte_eth_rx_burst failed"); + unsigned int rx_count = rte_eth_rx_burst(test_params->bonding_port_id, 0, + &rx_pkt_burst[0], MAX_PKT_BURST); + TEST_ASSERT_EQUAL(rx_count, rx_expect, + "rte_eth_rx_burst (%u) not as expected (%u)", + rx_count, rx_expect); - if (test_params->member_port_ids[i] == primary_port) { - /* Verify bonding device rx count */ - rte_eth_stats_get(test_params->bonding_port_id, &port_stats); - TEST_ASSERT_EQUAL(port_stats.ipackets, (uint64_t)burst_size, - "Bonding Port (%d) ipackets value (%u) not as expected (%d)", + /* Verify bonding device rx count */ + rte_eth_stats_get(test_params->bonding_port_id, &port_stats); + TEST_ASSERT_EQUAL(port_stats.ipackets, rx_expect, + "Bonding Port (%d) ipackets value (%u) not as expected (%u)", test_params->bonding_port_id, - (unsigned int)port_stats.ipackets, burst_size); + (unsigned int)port_stats.ipackets, rx_expect); - /* Verify bonding member devices rx count */ - for (j = 0; j < test_params->bonding_member_count; j++) { - rte_eth_stats_get(test_params->member_port_ids[j], &port_stats); - if (i == j) { - TEST_ASSERT_EQUAL(port_stats.ipackets, (uint64_t)burst_size, - "Member Port (%d) ipackets value (%u) not as " - "expected (%d)", - test_params->member_port_ids[i], - (unsigned int)port_stats.ipackets, - burst_size); - } else { - TEST_ASSERT_EQUAL(port_stats.ipackets, 0, - "Member Port (%d) ipackets value (%u) not as " - "expected (%d)\n", - test_params->member_port_ids[i], - (unsigned int)port_stats.ipackets, 0); - } - } - } else { - for (j = 0; j < test_params->bonding_member_count; j++) { - rte_eth_stats_get(test_params->member_port_ids[j], &port_stats); + for (j = 0; j < test_params->bonding_member_count; j++) { + rte_eth_stats_get(test_params->member_port_ids[j], &port_stats); + if (i == j) { + TEST_ASSERT_EQUAL(port_stats.ipackets, rx_expect, + "Member Port (%d) ipackets (%u) not as expected (%d)", + test_params->member_port_ids[i], + (unsigned int)port_stats.ipackets, rx_expect); + + /* reset member device stats */ + rte_eth_stats_reset(test_params->member_port_ids[j]); + } else { TEST_ASSERT_EQUAL(port_stats.ipackets, 0, - "Member Port (%d) ipackets value (%u) not as expected " - "(%d)", test_params->member_port_ids[i], - (unsigned int)port_stats.ipackets, 0); + "Member Port (%d) ipackets (%u) not as expected (%d)", + test_params->member_port_ids[i], + (unsigned int)port_stats.ipackets, 0); } } - /* free mbufs */ - for (i = 0; i < MAX_PKT_BURST; i++) { - if (rx_pkt_burst[i] != NULL) { - rte_pktmbuf_free(rx_pkt_burst[i]); - rx_pkt_burst[i] = NULL; - } - } + /* extract packets queued to inactive member */ + if (rx_count == 0) + rx_count = rte_eth_rx_burst(test_params->member_port_ids[i], 0, + rx_pkt_burst, MAX_PKT_BURST); + if (rx_count > 0) + rte_pktmbuf_free_bulk(rx_pkt_burst, rx_count); /* reset bonding device stats */ rte_eth_stats_reset(test_params->bonding_port_id); -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-02-18 19:39:01.070352072 +0800 +++ 0009-test-bonding-fix-active-backup-receive-test.patch 2025-02-18 19:39:00.428244082 +0800 @@ -1 +1 @@ -From eb29e625ce41b50898efc8e2618b7eeb128460ed Mon Sep 17 00:00:00 2001 +From d0d04dead13a23640736a8b83a27bda0164f45be Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit eb29e625ce41b50898efc8e2618b7eeb128460ed ] @@ -14 +16,0 @@ -Cc: stable@dpdk.org @@ -20,2 +22,2 @@ - app/test/test_link_bonding.c | 69 ++++++++++++++++++------------------ - 1 file changed, 34 insertions(+), 35 deletions(-) + app/test/test_link_bonding.c | 74 +++++++++++++++++------------------- + 1 file changed, 34 insertions(+), 40 deletions(-) @@ -24 +26 @@ -index b752a5ecbf..19b064771a 100644 +index b53f512815..19b064771a 100644 @@ -27 +29 @@ -@@ -2246,49 +2246,48 @@ test_activebackup_rx_burst(void) +@@ -2246,54 +2246,48 @@ test_activebackup_rx_burst(void) @@ -101 +103,6 @@ -- rte_pktmbuf_free_bulk(rx_pkt_burst, burst_size); +- for (i = 0; i < MAX_PKT_BURST; i++) { +- if (rx_pkt_burst[i] != NULL) { +- rte_pktmbuf_free(rx_pkt_burst[i]); +- rx_pkt_burst[i] = NULL; +- } +- }