From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB766C282EC for ; Mon, 17 Mar 2025 14:50:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 95E4040721; Mon, 17 Mar 2025 14:50:28 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id IUPUJ5au6xr9; Mon, 17 Mar 2025 14:50:27 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.142; helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 736A1406EB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1742223027; bh=5WIJ+8TBnZgt44xIupXMy1EKcwd+joAjI8dAsqjHLCw=; h=Date:To:CC:References:From:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=rA2idbheacT4zcrDU7iKqS7I3FKTIr2ZxMraDJR1rQyfqaEvWxEv+6P9fklcx8+/l c8YmAbcwivwX+28vcxROickapND9UJEAaIm7iFfd2thbdEKQQUKRMAJPdQ6CkiB8Vl QCi3akhwriDYudlkYY4nF71ggCG9VMutSNZ+Y3mliKx6W2+9dh//nAYtxFyjFrO+s8 qT3kbfHX0tOVIwKrjTeszdN7tBibMJsGKT9lz1XLjjvJ5azuvHPYiATquRC922qEaI hDYGh3yoM/CkhmmssRWB4zPAoTyNf6SW5LE+oL19i1wzz8RJ7HTTsWM6Ey7ZyjJ9/m B7S10QLCDfz8Q== Received: from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142]) by smtp4.osuosl.org (Postfix) with ESMTP id 736A1406EB; Mon, 17 Mar 2025 14:50:27 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists1.osuosl.org (Postfix) with ESMTP id 7366FD5 for ; Mon, 17 Mar 2025 14:50:25 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 57202406F4 for ; Mon, 17 Mar 2025 14:50:25 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id woqug5axc-6y for ; Mon, 17 Mar 2025 14:50:24 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.12; helo=mgamail.intel.com; envelope-from=aleksander.lobakin@intel.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 1B6B84070B DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 1B6B84070B Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by smtp4.osuosl.org (Postfix) with ESMTPS id 1B6B84070B for ; Mon, 17 Mar 2025 14:50:23 +0000 (UTC) X-CSE-ConnectionGUID: kLEjDAt1Sw+m3aYato662w== X-CSE-MsgGUID: Jq/P4b8eRieUnsh64eboSg== X-IronPort-AV: E=McAfee;i="6700,10204,11376"; a="47213876" X-IronPort-AV: E=Sophos;i="6.14,254,1736841600"; d="scan'208";a="47213876" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2025 07:50:23 -0700 X-CSE-ConnectionGUID: Atlu8HJLS4qXSCBMR3Sabw== X-CSE-MsgGUID: YeEaTcKcSX6aJwHJzeSBpQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,254,1736841600"; d="scan'208";a="121912261" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2025 07:50:22 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 17 Mar 2025 07:50:22 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend Transport; Mon, 17 Mar 2025 07:50:22 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Mon, 17 Mar 2025 07:50:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EcdM2FNKW5ZyiCqxTr3Lz/GGa2tPGYnW+nPupzK80M+JJQ//D8/cH/XJ0QuqpvpcF18iBrsL3eCXzx2zcKsd2wbWYQfNOdgVqts0x6SLdVKmrUquJgMcn7eAY/vZeQ6F2XsSFH11amhf21aDZUsKTrYpFYBuPMT7MYGbhXZ1Os0gsz6TC1qe4jpqaGWIfPfTeI030wKPGw6QiME9268Dxl4h8cAEQz2s2f38FSjhX9HTRT0MnQ3uDRGlmiHDuOnna/HVdBsOMPsLUZYg1+Tf99TXff6Eqczlrv8pH5wluM+oLQesShroi5xxv9F36vCkod+1/pooJQdzK3yoHxwxRg== 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=5WIJ+8TBnZgt44xIupXMy1EKcwd+joAjI8dAsqjHLCw=; b=vK/jfHClk3GdZezG01/ZQmVqPlUzEC0o0mBaJGO9gDV5aDqhXN1Xw31rAMTRKPqCmazeFhHmFNXCV6mKlnyGmwPAIEt5SQDPWDzUl18ioQj9IVuqU99FN6YJwpgAO2Xfr3YeDlnoovDExqqzPMECSqY6TUFg/P0A8v6jM33MAByVDbsxAX8D5cGEtZFqK98HKl2VlK4XHsSP3T8O+HySk6ZySoUcfO8gtxs2pqFjVRivFMZM68Kar/sPpYqbOnQquz5NOP7gTiM/PGkkGz8VmBCS3UqIxYxfREOen4czumb6+Q6aIHRyhEz4nnTglc8DRDVM5YYT3cyG2UILV5y0gw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DS0PR11MB8718.namprd11.prod.outlook.com (2603:10b6:8:1b9::20) by CO1PR11MB5060.namprd11.prod.outlook.com (2603:10b6:303:93::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar 2025 14:50:18 +0000 Received: from DS0PR11MB8718.namprd11.prod.outlook.com ([fe80::4b3b:9dbe:f68c:d808]) by DS0PR11MB8718.namprd11.prod.outlook.com ([fe80::4b3b:9dbe:f68c:d808%5]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025 14:50:18 +0000 Message-ID: Date: Mon, 17 Mar 2025 15:50:11 +0100 User-Agent: Mozilla Thunderbird To: Maciej Fijalkowski CC: , Michal Kubiak , Tony Nguyen , "Przemek Kitszel" , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , "Alexei Starovoitov" , Daniel Borkmann , "Jesper Dangaard Brouer" , John Fastabend , Simon Horman , , , References: <20250305162132.1106080-1-aleksander.lobakin@intel.com> <20250305162132.1106080-12-aleksander.lobakin@intel.com> From: Alexander Lobakin Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MI1P293CA0015.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:2::14) To DS0PR11MB8718.namprd11.prod.outlook.com (2603:10b6:8:1b9::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB8718:EE_|CO1PR11MB5060:EE_ X-MS-Office365-Filtering-Correlation-Id: a92efb4b-3d41-449f-51b7-08dd656308ca X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NnVMS0NuVzdBQkxHVWxnRjh5Yjg4OEtxSlMxNkxvYldCK2J0dktlT2RDRmNh?= =?utf-8?B?Z1owRlh4OHpMOHMxeldjMU9mSFlnS0VmcktFUDQyUzlReXdmOC9rRk1VSG9Z?= =?utf-8?B?b1grQVF0NHBiU2JEZnlNQWtDTVJyNHdrWS9pUzVjblhIaFcxRkluWmJUNExG?= =?utf-8?B?dDUrc3F3R1lraUhub21qQWVzTHNoNUVNanJNUU1TbnJvaGxBQXBFV0xLRUZV?= =?utf-8?B?UXdRcjlnd2RPOGdxMzFlbmNGU1oxREJpOUl4Nnk4SWtKMWRvWmZZTVBXSmxl?= =?utf-8?B?RjFMWVFidVVoRUFOR0JtMHl3M0Z3MUVsNEkzMWhsRDBzZ2xoVlZDVFZFOUNX?= =?utf-8?B?YVVCbFRLZmVkbUdaQ0FHdU5LbVdxVHFQbyt0anFvcTN1bHVrYmZpNG5vT1h1?= =?utf-8?B?VUZrMHVINFo5TElreTZPWGE1K3ZzVHZoSzE3Z1ZVdG93RHNkVXkvS0ovbnFz?= =?utf-8?B?MTFrWUxKWDdaMkZreXBLOE1ja3RPd3ZJZmxTYU83Z0xIRXA1TFlxY1VCaXlj?= =?utf-8?B?dEtmMU9CMDNBV1ptUnNaTDRtOC9IR0RBOU1lSS9rTStXYlJXSHpWaXhIcFcx?= =?utf-8?B?Y3BETXo5QTlucWFKVTZialpFVHVjTHIvVUltSWxwYXdpTnZZaFliMnZ5WVl6?= =?utf-8?B?clBFM084eStyTDhqL1Z0Zm4zS0VIeXJMd2tMdnhPbkkxanRRQTJlMERlNjNX?= =?utf-8?B?b1RtVDRyNm9uQ1phWThZcitiSHZPUzFPL3k1MnkxZzdDY04rL2daL1NQUTRr?= =?utf-8?B?Z0RpUm0vU3ZKZEJGVWlSZWpFY09QUVlPQy9ybFRpcnNRYndpNzIvazRGNUg5?= =?utf-8?B?SXBhUkJzUG5rYmpuYXp5NCs2UVJKM0k3RDZmUlowaFQwbnRPK2hucVd4bzFP?= =?utf-8?B?SEhtY0JyNURsMDdHZjJIbnhZWUlYQzE3c0ZuN0l2WFlsRk50dVlsS25iZXBr?= =?utf-8?B?elJaUnNtMlc3Uk0xTmwyZVJ5cytZMC9QdGpRRUlNeVBtK1VLWk1mOGc1Yksz?= =?utf-8?B?dDdObGJCQ2EySXkxbGMyVDRmWEh0b0hNWGQwUnFkOXRVT3lDaWVqWm9ha3ZO?= =?utf-8?B?WTY0VldBblJYajFIRlkvOGVnVUdqS0prdVFFNWZ2LzZmV052UTJNMm81aldO?= =?utf-8?B?NzlRdVNxUmJna0g2aVZYU1BTMTJpNFdwMWdnTnlZV01HUythNjFhdWtiTWpD?= =?utf-8?B?aGVpbG5LRXRybk15K1FwTkhGN2J2ay9waWxVbVVSNllwZXdjdjFyM3BWMGlE?= =?utf-8?B?SDBMNnRwOWlzVkdTSTZXTENOcUx2NzVSVnZHOUxnRTJLeGZhWjMyVldveHNk?= =?utf-8?B?ajh2REZEYS9QdWNscVFGZDdNMFBBZXlMbTE1L1Z0UzByMWtWam5obDArRUFT?= =?utf-8?B?V1JQMTV6emI5cmYyOGdiNDc5QXhxeDVjYlcyTnBmdVVuZWhCSVhsTXdOUnEy?= =?utf-8?B?bU02ak5FNHhma3hLLzV5bHVqOGwzV2hXR3NuY2lKL0NNcGwvWEZXaHJJdXIz?= =?utf-8?B?WVYyVkh3cVJiMm1mZ1JCL09CQ3krWkh4Q09LWHB4UUlwRnF6MGEyb2tyazVQ?= =?utf-8?B?U2Q4bnZGYnlIUXFHZnhUQWNieDFLNGwzcTF4S3NBRXJpQTBxS0djaTF1VXVR?= =?utf-8?B?WHNIMUpyaUpNQmd1cFcxZysrRmpBUzgyK3lUcnpBZWtpSkxGb3pnU29IcjVD?= =?utf-8?B?QU01YUpTRGdOK0R3YlJKMGFVanVnSCt6K2hmTklUMkIxdm1iYktpNUliZXky?= =?utf-8?B?eTB1c1BUYlFka0xvZVNQU3JDc0NtZ0JjWW9wVmZ3YXVab2ZwcjExT3VtSTlO?= =?utf-8?B?ZHYwZmhlcUJsWmVzWWpqUk0zeGQwbWdXaFpqZjR5bnVnMC9Mc3h0ZHdIT2FJ?= =?utf-8?Q?mUqvo0mTMa0nr?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB8718.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(7416014)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bjE2TE5sTjlFU0dna1A5SXpEZ0NWdUZ5SW5STzY1YXVpZHNLbEdiMHBRektk?= =?utf-8?B?bE5lajljendqaVpIa2lydmFXdWpVTlYzeGJhUnh5M1h2S2U0UjNUUHE0ZnlN?= =?utf-8?B?RkNvcVp1Y1RSTzFCci9MR3JoNmM4M2ZsWmpQWnlkckwvZnZ0bjZ1eW1GVmNZ?= =?utf-8?B?UjNDeWRVbW1wcDRPK3VqaFNlTjI3Q09VM3hJdXFLLzNDK2ljK3pBTllFMTZT?= =?utf-8?B?TXlUejJIUzJFN2grcTB3RmVOZEVzRFljajU1aHdQWmthaUttd0V1T0xOSjlF?= =?utf-8?B?Vytwc0tMMnAxUVFOYlNQYUZWZ0dhekREZ1hYZjlkZ1daS05WY3ZhWUR6ZkJ6?= =?utf-8?B?bDJNTjU1Wnh0RXc2UU5ESDkvOTNzanJPRjhIOVRESGIyd1N2aXRLQ3paVld2?= =?utf-8?B?R09LWldpS2tGRkh4Z3FGVVJ4bjBiQTBMV2MvOVMvSjJVdkVJM3EwNFJ5T3BK?= =?utf-8?B?cDlmU01rV0k3MVNiakppdHcwNERkaU9Jc004Qmgyb1ZKc2NPQVgxaGNScXNK?= =?utf-8?B?QUpMTTVJY2I4eGtJS0FhL01MOEhuOWN1SjJMbVFIaE40Z29qUDRVL0djTkpG?= =?utf-8?B?OFI1R0lWc3RsUndEbjVLNUFpTldOVXdsN1lZdlRaTStYbGJmR2U2VGRKMkY4?= =?utf-8?B?YzYwd21PeklDWk81TGp5bFJ4NVY5a2dXR0FJKytGMVBoNlphKzhYY2E0emNV?= =?utf-8?B?NVcza0Z4UENyNlljZ0JEQk1oN2ZHM1phQ01LTkVSaEVSU3hjcU9kZGtmYWVr?= =?utf-8?B?UWpsRU9UU3h6UVRCVHltWlpCUmJBbHpNa21lQlB2WUQ0QVI5ZlhBeGRJTkky?= =?utf-8?B?RXFxZGxnTjQ4bkZ6c1lFc0grdUFVOUQzcTE2Q2p3ckFPMVJ3djg4WUtId1d4?= =?utf-8?B?OXEyeFNpZXVMVzh1Q0hjUkE5RzhIckljRmN4QVV2bGJKQkdLcnlKbzVtNGVT?= =?utf-8?B?RmxiS3dzUll3QlVOTmo1U1JqbFhkYkkwSm5PZ1Z2YmxhVXZUdEJSNUx2RzFS?= =?utf-8?B?c1hISGJianJOa0FGWGZsY2lITzd6U005NG0vaFp4bnpvRHh0RU1XY1VRZkI1?= =?utf-8?B?NHl6a0hXbUNENVVpVEsrY0NUMDlwY3B6TTRmVXdSL2pLbnBVNXpSazRvTjBN?= =?utf-8?B?dHQrSTFHbDl2S2Q3OWRnODJEMTVyY3ZpWjUrejNQZG9YQjVzTmNKZ1FCV0xs?= =?utf-8?B?RzJKaDQ4R1h0WURLb2EwcWJZaHB0emZqMk5LVzhuMFNldzJ1NXlmZDZEelQv?= =?utf-8?B?ZUhJV3hGeHFiTE9sYVRHd29sVE1XdEpaMDZRTWs5SHl1eFo2YmNscWJEbW5K?= =?utf-8?B?MWUyZlJ3aEtYekUvK3pNM2djbzl1b0Roa1FOL1lma0ppcXF5TWVYeXRPUC9a?= =?utf-8?B?NlBuUG1hNHc0VWFiTEY2ZS9SeG1QUVRPN2pEeGo1eE8zc0RFU2tyRlJ4bUFm?= =?utf-8?B?SHg0dktvN1Bjb3NOcU1rbjlWRGFkYUNxUkwvQ0lYQk9zU1drVTVpSGZQQzcw?= =?utf-8?B?c2pMdDhnZjNhRC9oa3JwcWlOYktPZVFGMmFQWFdZU256SzViRE93bVRWQUFk?= =?utf-8?B?L2ltZ3JLTG4zVThMa21velFpMjVnTnZGZ1hWNVRuOHRRMDVqdUUxNWJlcldO?= =?utf-8?B?dnF2ZURWcDdyM21tVXNZMEU0QU5yRkM1U3RubHhkNzd2UUpaQkRnZU16OExv?= =?utf-8?B?ZjR0Qkd1WmRsc0FmTTZHWk91czltM1pSSDFVMmdUb1VIU3FwRGM3dDNWYnNJ?= =?utf-8?B?aCtJM0JxSm1OMnYrWEJwMGlwR3V4dHBxU0tOd3NnaUl2SHErcmVzVUpxS2RM?= =?utf-8?B?NFlkM2NTOTJacjQwKzZYd0FGTHBrVjAwS1F5TEJkYW9Vd3MrNDZVZHUwMjZN?= =?utf-8?B?L1NndjFOZmtIajN6OG5SWVBhVGM3am1ITmxYZkVlWGx3SjByZUtXZXdGeXEz?= =?utf-8?B?YmMvL2t1Z1dNelZiMEwxRUxreWhqZkRreHZBVWJ1Tk9uaXU2S0RDaHFwb3JF?= =?utf-8?B?MlRXcExNLzJkZ1U3TVZPa2hOWms0SVJ3dStZckgwUExxa0o1Sk8wcTNGRGg1?= =?utf-8?B?M2g4QlZkNlc3Ui9aVzBKb09iNWNwUG4wZUFuSU8yRDUzd1ZrczN1Nk5MejVD?= =?utf-8?B?NGkzc2ppTG1tVHBBMXcyOUxMWUZWaWQzaE00ZUFQQ3JOdFM2VlFlcmtJU1FF?= =?utf-8?B?OUE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: a92efb4b-3d41-449f-51b7-08dd656308ca X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB8718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 14:50:18.2077 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: METCJvPr3mxPMPfvIdH2OV3ByNqhbnVggYu+KN4jnLsTWPGzoDmCBm569gGcuYgR8jY5fcHaeYLJJng6J/JuG1zvEirgAUfihRuRAwYZU5o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5060 X-OriginatorOrg: intel.com X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1742223024; x=1773759024; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=99U3R6KmO4mfLNpP9wQ5nbG0PQ18fU6FoGIW+poGzCE=; b=FyV9ABmmAyNqx1AyhPojLEFoxtFIIcOT+Z2z43rsAhAnhBHrNX4FlY4f 9CRpLE9zzAR0Y4/f8/iQfqw3gwEucPk7VpvLcVBopJ0gmVOQk+ByVsCAf dqQikGRoIAfCqjoBUneYu+TLIK8RvDLV0XiTYOeWJezM92/jxhEA1bYCS YdQzlequamVmrmxT8ue2bt7GweR+VAYIJmMxG8wtEj/E/7r3jUIRpTKuJ MhjbLZGKweC7ylJsNkoELdU589cZmY0f6SRFxW9Ir3NWhUmNwYLlZigFQ u8Cdq3Ml+G5exiITKR2eqrZunlkSirqtFHCLd+aOUHFPepdxMH3fmbPCu w==; X-Mailman-Original-Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=none dis=none) header.from=intel.com X-Mailman-Original-Authentication-Results: smtp4.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=FyV9ABmm X-Mailman-Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Subject: Re: [Intel-wired-lan] [PATCH net-next 11/16] idpf: prepare structures to support XDP X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" From: Maciej Fijalkowski Date: Fri, 7 Mar 2025 14:27:13 +0100 > On Wed, Mar 05, 2025 at 05:21:27PM +0100, Alexander Lobakin wrote: >> From: Michal Kubiak >> >> Extend basic structures of the driver (e.g. 'idpf_vport', 'idpf_*_queue', >> 'idpf_vport_user_config_data') by adding members necessary to support XDP. >> Add extra XDP Tx queues needed to support XDP_TX and XDP_REDIRECT actions >> without interfering with regular Tx traffic. >> Also add functions dedicated to support XDP initialization for Rx and >> Tx queues and call those functions from the existing algorithms of >> queues configuration. [...] >> diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c >> index 59b1a1a09996..1ca322bfe92f 100644 >> --- a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c >> +++ b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c >> @@ -186,9 +186,11 @@ static void idpf_get_channels(struct net_device *netdev, >> { >> struct idpf_netdev_priv *np = netdev_priv(netdev); >> struct idpf_vport_config *vport_config; >> + const struct idpf_vport *vport; >> u16 num_txq, num_rxq; >> u16 combined; >> >> + vport = idpf_netdev_to_vport(netdev); >> vport_config = np->adapter->vport_config[np->vport_idx]; >> >> num_txq = vport_config->user_config.num_req_tx_qs; >> @@ -202,8 +204,8 @@ static void idpf_get_channels(struct net_device *netdev, >> ch->max_rx = vport_config->max_q.max_rxq; >> ch->max_tx = vport_config->max_q.max_txq; >> >> - ch->max_other = IDPF_MAX_MBXQ; >> - ch->other_count = IDPF_MAX_MBXQ; >> + ch->max_other = IDPF_MAX_MBXQ + vport->num_xdp_txq; >> + ch->other_count = IDPF_MAX_MBXQ + vport->num_xdp_txq; > > That's new I think. Do you explain somewhere that other `other` will carry > xdpq count? Otherwise how would I know to interpret this value? Where? :D > > Also from what I see num_txq carries (txq + xdpq) count. How is that > affecting the `combined` from ethtool_channels? No changes in combined/Ethtool, num_txq is not used there. Stuff like req_txq_num includes skb queues only. > >> >> ch->combined_count = combined; >> ch->rx_count = num_rxq - combined; >> diff --git a/drivers/net/ethernet/intel/idpf/idpf_lib.c b/drivers/net/ethernet/intel/idpf/idpf_lib.c >> index 2594ca38e8ca..0f4edc9cd1ad 100644 > > (...) > >> + >> +/** >> + * __idpf_xdp_rxq_info_init - Setup XDP RxQ info for a given Rx queue >> + * @rxq: Rx queue for which the resources are setup >> + * @arg: flag indicating if the HW works in split queue mode >> + * >> + * Return: 0 on success, negative on failure. >> + */ >> +static int __idpf_xdp_rxq_info_init(struct idpf_rx_queue *rxq, void *arg) >> +{ >> + const struct idpf_vport *vport = rxq->q_vector->vport; >> + bool split = idpf_is_queue_model_split(vport->rxq_model); >> + const struct page_pool *pp; >> + int err; >> + >> + err = __xdp_rxq_info_reg(&rxq->xdp_rxq, vport->netdev, rxq->idx, >> + rxq->q_vector->napi.napi_id, >> + rxq->rx_buf_size); >> + if (err) >> + return err; >> + >> + pp = split ? rxq->bufq_sets[0].bufq.pp : rxq->pp; >> + xdp_rxq_info_attach_page_pool(&rxq->xdp_rxq, pp); >> + >> + if (!split) >> + return 0; > > why do you care about splitq model if on next patch you don't allow > XDP_SETUP_PROG for that? This function is called unconditionally for both queue models. If we don't account it here, we'd break regular traffic flow. (singleq will be removed soon, don't take it seriously anyway) [...] >> +int idpf_vport_xdpq_get(const struct idpf_vport *vport) >> +{ >> + struct libeth_xdpsq_timer **timers __free(kvfree) = NULL; > > please bear with me here - so this array will exist as long as there is a > single timers[i] allocated? even though it's a local var? No problem. No, this array will be freed when the function exits. This array is an array of pointers to iterate in a loop and assign timers to queues. When we exit this function, it's no longer needed. I can't place the whole array on the stack since I don't know the actual queue count + it can be really big (1024 pointers * 8 = 8 Kb, even 128 or 256 queues is already 1-2 Kb). The actual timers are allocated separately and NUMA-locally below. > > this way you avoid the need to store it in vport? > >> + struct net_device *dev; >> + u32 sqs; >> + >> + if (!idpf_xdp_is_prog_ena(vport)) >> + return 0; >> + >> + timers = kvcalloc(vport->num_xdp_txq, sizeof(*timers), GFP_KERNEL); >> + if (!timers) >> + return -ENOMEM; >> + >> + for (u32 i = 0; i < vport->num_xdp_txq; i++) { >> + timers[i] = kzalloc_node(sizeof(*timers[i]), GFP_KERNEL, >> + cpu_to_mem(i)); >> + if (!timers[i]) { >> + for (int j = i - 1; j >= 0; j--) >> + kfree(timers[j]); >> + >> + return -ENOMEM; >> + } >> + } >> + >> + dev = vport->netdev; >> + sqs = vport->xdp_txq_offset; >> + >> + for (u32 i = sqs; i < vport->num_txq; i++) { >> + struct idpf_tx_queue *xdpq = vport->txqs[i]; >> + >> + xdpq->complq = xdpq->txq_grp->complq; >> + >> + idpf_queue_clear(FLOW_SCH_EN, xdpq); >> + idpf_queue_clear(FLOW_SCH_EN, xdpq->complq); >> + idpf_queue_set(NOIRQ, xdpq); >> + idpf_queue_set(XDP, xdpq); >> + idpf_queue_set(XDP, xdpq->complq); >> + >> + xdpq->timer = timers[i - sqs]; >> + libeth_xdpsq_get(&xdpq->xdp_lock, dev, vport->xdpq_share); >> + >> + xdpq->pending = 0; >> + xdpq->xdp_tx = 0; >> + xdpq->thresh = libeth_xdp_queue_threshold(xdpq->desc_count); >> + } >> + >> + return 0; >> +} Thanks, Olek