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 CC2D0A0543; Wed, 14 Dec 2022 11:38:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 73B16400D6; Wed, 14 Dec 2022 11:38:18 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2081.outbound.protection.outlook.com [40.107.94.81]) by mails.dpdk.org (Postfix) with ESMTP id 51B794003F for ; Wed, 14 Dec 2022 11:38:17 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lVgOfzNnAJUtuqjEgWHhrOrQq+dKaZgZWr7vfjN+mJSgRVLjfZd69Knyd4KYL3L60VdXWihkMqpLFIPHajtFZ4ByHNwwzlaETz5KMUK3MMRT0M4X6HFXFHgw0m9AUCCL2yoxv1GczdYaXMAtfX5Onx87DJJfgC3z/r4gbklkP9VhXHB3lx2/0smyaMdoDOmf4Rl4Ov95hHEg+7gY/K8AnkJWahzzW8BhSh2KSEdZU3YpcEoOyLvLxkrcKvOnxqNByqhXSpEvwjnOdG2YUgDdCE0kHM03bS2NlianJNrbJQ72+wmUty2ycTNtPcwhgfvvKKpq89qSu+7riSOnQ9C8hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=KSsIHUjzwaIhCGliw4POX8Zk2Q1EoUDo98n58YdfRww=; b=KbVGlQdz5YiXqh401x1Cd9WgBcyq0DN+8d4vvSCFR0sY5qgfZCfzc9tQEw/dS7KA8H3mxFoTrMqvJUCyMSN60bWwDIbc+HXLQfpsitBYBghXtckAAUkj1lNmBkYfGnT5rjp1UwndoMd9x6H3XG2i2jjb59yiWNULJLqRoTjzUFYOeYLiqxmvpCc1E3YNHQPzb0r+JsePy2im8APG5BS/aV4DslHZfqHYBuRkt3BqxDZXEdDv3uDIPxG2lQ+n8WI2sZMR5+4u+wk5RrtIdPow5TCDX0LWQ0mWMPu84s5vC/1LbuyF6xH6WPQNU3RdLzUE4Opcuq8EcivVnNiINNG38w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KSsIHUjzwaIhCGliw4POX8Zk2Q1EoUDo98n58YdfRww=; b=OGbqgF64J7VzbXtm4T7Lpsos6ZXOsE6BT+9TDxGvco3Kf2Jl15yqgqPzK+gtbpZyZDoinGZwP5n32hsbf7c/dPlCtqmV5VLtVsXKa6okHWgKLEolfA4W8yR5b3TVEs1mrLpYy0DTMZ8Hx0lRplsFonhoqmxyRrKzI/w4Tscn924= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by SJ2PR12MB7797.namprd12.prod.outlook.com (2603:10b6:a03:4c5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec 2022 10:38:15 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::b482:d5bd:c7d0:3842]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::b482:d5bd:c7d0:3842%8]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022 10:38:14 +0000 Message-ID: Date: Wed, 14 Dec 2022 10:38:08 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Content-Language: en-US To: fengchengwen Cc: "dev@dpdk.org" , Andrew Rybchenko , Ori Kam , Thomas Monjalon References: <1109431c-2b18-cc02-5e36-5c1e2d298a82@amd.com> <2d70ef33-5cc8-f56e-91c1-a44fd5450ba2@huawei.com> From: Ferruh Yigit Subject: Re: Question about add ethdev loopback set API In-Reply-To: <2d70ef33-5cc8-f56e-91c1-a44fd5450ba2@huawei.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO0P123CA0009.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::14) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|SJ2PR12MB7797:EE_ X-MS-Office365-Filtering-Correlation-Id: a1bc4b17-068a-41a9-11a1-08daddbf4d83 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KHQNXlgvDGkZCMKQFtFmQkeO4CrW2pwTsarLyDxl8K0q+w1K2lFJ9wj3ugH5POzt7/c8VebiAmrmsg4RgyM+fNwMVexmRhoPa9XaSwkbkTlEuN5305ks+bMBjJJYF/8/qEuZEcnk6c0g9hXc+lbfa+Gy09jx4UrpGF0vuHhF3597m9YpZ/tRUM/01WxshLTdHqAMxZ7A6P6wBlcPEpVMXT0temkZMpzZQe13qXM+rWjcKEbTbj/rpUtGOI6zUn6bB9d8U4ZURjC14/LUzQI5mo1zwnS+NORcEtRZWk+AjkAnigpZ3EFHorzuf+FkD7TZzJqZV+QelrAh2oeMXgGtkOcig86cN7BvfC1r14rcQhJ8eitqPtNAkPwwX+vt5HWmm5WRcQhEF4txr42XsQgrhmrBcDu8pZIw9i5nL225aDAcTJ8NbJsnON6x64RcME7iFRqwc3/iKyQZBzSRSsWs1OWmoFBoqHsPaLqAf5vghJ+ALWtbea92ECxGAy9+deaydz9WK4rD65N6AfSe0apuos02qghUFBgq4zBb2AS6vkRQskbXmzQXQlsxpQxe7Win1+318ZgKiiJwzz2xoxkP6e1fjPmkNPSdtQI8fLjT7EgGfpg2W5eyKZ7dT6PJjYwKjuwfNo041wmOIKvFdR66J/Itl/wV4JMF/KluAdQ+gOteWu6EecfYhXOn7zos0cKEdLM1ntnCZZV5RKo40aE089ADO6+3LfEx1d77FyLAfeE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(366004)(346002)(376002)(39860400002)(136003)(396003)(451199015)(478600001)(6666004)(86362001)(31686004)(31696002)(38100700002)(6486002)(6512007)(53546011)(6506007)(26005)(36756003)(83380400001)(6916009)(54906003)(2906002)(8936002)(316002)(186003)(66556008)(66476007)(66946007)(5660300002)(44832011)(41300700001)(2616005)(4326008)(8676002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c29DQXRKcVArcWpqeHE4NzBlZVlRSnlaa0pUSnFabndibndpWDdRcVlYcTJR?= =?utf-8?B?ek5mbXY4ZXVxUCtGWXpwZ09hRGEwOElqajJWbWQ4d0VNNXUxZFEzOFZHQW14?= =?utf-8?B?eUVsMjlwQWU4czdMNmI0ekdMZEliSnhJSS9CNCtxS1hrWEpxSzNGVDVhTnFZ?= =?utf-8?B?TUsxbStHbnh6b0hGOEQzbEtpRGlBZzNveEtOTGhwalVDSE9nREltUkxkU3N3?= =?utf-8?B?VDR0bEErSlFEa2NrendPV045NjZ5aTlIZzBNWTFwckJvQzN5WjFORDBjaTQ1?= =?utf-8?B?OWtqOUd4Ym5WVXBoNTJwYTB1dGdISkZzbzFGaXhmQXdVdFp6dHNLak5WTE9J?= =?utf-8?B?NFUwUkRPdWNuS05rdlo2azBiKzQzRDI1dzgxWU9IbkhjWGhlR3R1VFhoQVpD?= =?utf-8?B?aFR5YjIwV3Z0Ykt5TUVIREVWKytFcE9QN0ZGMGhML2NNZ1htY0pSZHpUbVBR?= =?utf-8?B?NWd4UWR5ZlhIbkpFQ1lVWnErMzZkRGErNEpKU01heURqMHcwZ3lzUllnOFZB?= =?utf-8?B?eUZNVGh3Z25IQU1KYUluS2lLY1lxZS9xaHM1MThpQjI1UVFnNHBPSFAwemg5?= =?utf-8?B?Z1ZLMUZlTEpkbmJPVnZTeWdsTnlDOW40dzJWZnBjWDh5dml2dDhHU3N4ZFl3?= =?utf-8?B?bjduVlVaZnlXMi9KbWI4WnhXZWRBc3REaFlBYUpHT05oN2xDbkVSVHFocXNC?= =?utf-8?B?WEN0eFM2b0xlSTNybDNDejN6bk1NMmVEMS9nYWY2OUFVY2xZcXNOVGVNZmlY?= =?utf-8?B?V3grQUNnWFRadFcraERLVStXQk02b3FGV1Frd0wxM3B5NjYwRGdZOVlNa1FH?= =?utf-8?B?d3V5VVVCR0JiWmNTRUJidk1YcVU5ZUI3VlVKWlc3Z2RPZVFFbEFSZUFodUUr?= =?utf-8?B?ZG9rUFBEZWhBRlUreFJGTFVmR0R5UTE4R0NuZ2M1Mmp4RFNPN2t3YTdUdE5z?= =?utf-8?B?NnVTYkpwYjdUR2t1L1ZRQUJiQkNhNHJ6R0dhdndwcHhPc0pkbXpTSEY3Nmx0?= =?utf-8?B?R0J0TzBwTzNza2IyMWxnWTVkek8rTkFkWWpyald2Y25CWUpzZDlJdmxXbWxy?= =?utf-8?B?SmRnV1hEZU10RDVUUzN6TlRhemlxRFFPSU82bkpiV2hGWUtCZmZCNnNWWDJi?= =?utf-8?B?Z2RVQnVDckxrTDh2UVBINktwU0l4TUNYaVJkTGIyaHR3SEd2ako0Ty9Ob3Fq?= =?utf-8?B?VVA4VXVhTG9Nbk1JOXcvbTRMTjQwQk1nSDVZdkh5VFZ2enlaSVhqSjQrL083?= =?utf-8?B?emJBVUNobTlpVmRSNTlWT2IzNkI0MmVCRGRXK3NpcWp5dkRVZEQvUWR6bUN4?= =?utf-8?B?eFowQzJNMFpneXljbXo2YkRDM1VOYkRJMU1uYUN1OVFLei8zOXgzSGJqanNj?= =?utf-8?B?OUVZVUNxOUd3amxGWW1odmFwMTREczFJRFJZdUk5ZktIQ29QcWR3cFdiQkkz?= =?utf-8?B?VXNvV1cxUDdIUkpiV1JDM1Jha0k5cm90SVp1VjY2REJDaDk5MHczSkZuZkIz?= =?utf-8?B?dmZpaVVRQzc4ZE9vQjFjV1pNbTFFSTRFbUlib3ZUU21FTWRsUDhJUUpubXVk?= =?utf-8?B?cWw5YmR2ZjIwRWxWa3ZmR0FmNFhjL1ZhblN3ZnpRL2E2VXNrS0x3VnRFZWp2?= =?utf-8?B?SGM0WElUZEhMZG1wOGJ5S1RiWWlvTncwTkxLZDM1aG41YUMxdVpoNVZ6WnRP?= =?utf-8?B?WWdOSFlad1Jvc24rQmZ6TEhhKzZLaFllUmo2TUw3WGh6Vlk1REZpb01FZmJ5?= =?utf-8?B?UytpT1dlSjVXeFo4MWxjd0l1Mm1VelBLb0tacGhNV2EySHo5azNVTzZCdFFz?= =?utf-8?B?T1VOdndjWS81aWsxNTR4eUE3cjlOM0x6STZUeG5xbjdURVA4NlhpTVRaVTdC?= =?utf-8?B?L1ZzWjQvdlY0M0R6UFpuQWZDdVpzZFVIYzJ5ZGpIeWVmeVJyRTNsdWRDc2cy?= =?utf-8?B?YmhQZEt5aHpyTFhDK1ZheE96V1gzTDdsQW51NVNqKzY0OVptbmhkUXBUQ2lK?= =?utf-8?B?VENJUUhuL2o1bmZhUUh4ZzBXd1pramVsMG5GRE1EeGc0dWlCRUt6T1pPMGho?= =?utf-8?B?RG9MWDluSzhFZDk0dzBrUmxMcERYdyt3bm4za1UxY0RKZitiVXgxcXpVaHFa?= =?utf-8?Q?gZj1Lj/wEOPjGo8Oxi4/R6UUR?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1bc4b17-068a-41a9-11a1-08daddbf4d83 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 10:38:14.8109 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: H2/yYUb5GhyP51WjV7XE4Ba580DmtVves8RombROwv/IZGnzzHkcHe0Wz3kkYG1T X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7797 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 12/14/2022 7:25 AM, fengchengwen wrote: > On 2022/12/13 19:25, Ferruh Yigit wrote: >> On 12/13/2022 10:04 AM, fengchengwen wrote: >>> Hi Ferruh, >>> >>> During the test, we need to delineate where go wrong when encountered >>> e.g. CRC error. In this scenario, loopback is useful. >>> >>> I think we can add a loopback set API which could set inner or outer loop, >>> and user can use telemetry to set the loopback in the above scenario. >>> >>> I'd like to hear your opinion about add a loopback set API. >>> >> >> Hi Chengwen, >> >> Is the intention to test ethdev layer or driver? >> >> It is possible to use ring vdev to create a loopback and to test ethdev >> layer. >> >> For driver, it can be possible to create physical loopback connection, >> or even can implement loopback Rx/Tx burst functions in driver. >> Using another host to send/receive packets to DUT (device under test) is >> another approach. >> >> >> What kind of loopback implementation do you have in your mind? > > Mainly MAC layer and lower physical layer: > > -------- --------------- ------------ ---------- -------------------- > | | | - rx | | - rx - | | - rx - | | | > | Host | - | MAC | - | SerDes | - | PHY | ==== | Packet Generator | > | | | - tx | | - tx - | | - tx - | | | > -------- --------------- ------------ ---------- -------------------- > > The support loopback in hns3 platform: > Inner loopback subtypes: which host send pkts and recv and then verify: > Serdes tx to rx > PHY tx to rx > > Outer loopback subtypes: which Packet-Generator send pkts and recv and then verify: > MAC tx to rx > > I think we could support the above loopback types, and maybe other PMD platform support > more loopback types. > There is a 'lpbk_mode' field of "struct rte_eth_conf", to configure loopback in 'rte_eth_dev_configure()', but it isn't fine grained to define the possible modes you mentioned above. Currently '0' means loopback disabled and non zero means it is enabled, details left to drivers. 'lpbk_mode' is 32bit, we have space to define detailed loopback modes. Having loopback configuration in 'rte_eth_dev_configure()' requires port to stop and reconfigure to enable/disable loopback. If it is possible to change loopback behavior without full reconfiguration cycle, we can add two new APIs to enable/disable loopback. But this has the downside of two different APIs change same config, and we had problems related this in the past. Also there is a hairpin feature in ethdev, that connects Rx queue back to Tx queue, but not sure if that justifies your "MAC tx ro rx" testcase.