From patchwork Tue Oct 1 09:20:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Czesla X-Patchwork-Id: 1991378 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=stackit.cloud header.i=@stackit.cloud header.a=rsa-sha256 header.s=selector1 header.b=uXzoZyI7; dkim=fail reason="signature verification failed" (2048-bit key) header.d=stackit.cloud header.i=@stackit.cloud header.a=rsa-sha256 header.s=selector1 header.b=k2ihoSt7; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XHsqq5z7Qz1xsc for ; Tue, 1 Oct 2024 19:20:55 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 7E20940563; Tue, 1 Oct 2024 09:20:53 +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 tt0folz2MjTV; Tue, 1 Oct 2024 09:20:52 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org EA64040555 Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=stackit.cloud header.i=@stackit.cloud header.a=rsa-sha256 header.s=selector1 header.b=uXzoZyI7; dkim=fail reason="signature verification failed" (2048-bit key) header.d=stackit.cloud header.i=@stackit.cloud header.a=rsa-sha256 header.s=selector1 header.b=k2ihoSt7 Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id EA64040555; Tue, 1 Oct 2024 09:20:51 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id A2E20C002B; Tue, 1 Oct 2024 09:20:51 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 91337C002A for ; Tue, 1 Oct 2024 09:20:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 72BA44055C for ; Tue, 1 Oct 2024 09:20:50 +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 YAaDaCKoU-gL for ; Tue, 1 Oct 2024 09:20:49 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:2614::600; helo=eur05-db8-obe.outbound.protection.outlook.com; envelope-from=luca.czesla@stackit.cloud; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 0263D40555 Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=reject dis=none) header.from=stackit.cloud DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 0263D40555 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2614::600]) by smtp4.osuosl.org (Postfix) with ESMTPS id 0263D40555 for ; Tue, 1 Oct 2024 09:20:48 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=fail; b=xfny2uEH3/BaE78fuxTivOKG3AJ9KU/GByYs0ZjQangW/+veX+Lja7pDmII9r/tHXgRb1z8ezom0HXm9PKdgqWazfZJN1wsga+aBuqPdSsb7SxahC9DNpXLqeqWy/tqWJOnE96rEaSqwITOtrlNbew2PC+rVCOIv/jwlKEqD9eFlxZ27dUKEHh0FxXASdHf6rzlqfbIfBQnw0SAwd6BTWelPYBVil/JZHjm8KMw75AtC7xvysM5tRCye5/NrgbFpztgHC54JR73zRYMWYHkgUX5lyRrRQz/MLRaWwbGSW2+t8uNvE1KKO4erivuHFKCIzy4ettdgQbQUnH2WQV49zg== ARC-Message-Signature: i=2; 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=W7jtLlG994Y1EFT0E/q/6iYPGCYMoWxlgldIj0rAc6g=; b=XUSD03SXvw3yhoZokqBRonoR8dDmYMN0pfJFpiZCtNrf8vofI8mfPQCgznUrP2+pnr3TAk5bu7R75WKAELtsPFgzj3hYVhkLaV/kr5un1jnHElCvXMTRdNC+TiGAMgQUWNKtUUxXUSKGSXioM0UXCtg+X7TiPeqaYhe3Jxoc+sgmVt/c/Bw81xES32odRXVrWqB1twQhU0POTtRmMAFwYVSEnU3STK9V29TJuZ/nSAeVzh+0DmrJMt8++XT0Y3CRROKReghREOk9prgL4i5pyeOC+fv+Bz/k0Np7xFeKmVTQ1r4IZnA/tfqNYAYcvWB7qJxp4xYIRMkjd8wT1NY/BA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=fail (sender ip is 52.169.0.179) smtp.rcpttodomain=openvswitch.org smtp.mailfrom=stackit.cloud; dmarc=fail (p=reject sp=none pct=100) action=oreject header.from=stackit.cloud; dkim=fail (body hash did not verify) header.d=stackit.cloud; arc=fail (47) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stackit.cloud; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W7jtLlG994Y1EFT0E/q/6iYPGCYMoWxlgldIj0rAc6g=; b=uXzoZyI70fuc6ezSkLwgbamKGNFHNCGPU1BA684a4zVgjSlAvMikLxnzWR/G9qFO2Nsm+yPNQTFOVVIKbCdSMjMZfLWLLMR4GLm3Z9SXzNZ6nfGy6RDv3tm9ptIYyGFEWlEXlMFm4ROVJk3B227WxEa0ZiEODxTD9qo81LTSYXd4duQ2AXJA4QzuOvtvGARclSwdpRwqSFTDILBMatiLnZc/H/CS54uJGUO0cbAIq0Zx9elL3zJOkDOKBKeuFtBIy4u8HNj5OFJ6m6NpTmAmsSoLGJMRo/fFKUe2oDz9A/eYzaOSTu4et2zJRqAUhbIMdcQI4nroQoxO93UcIw4aiQ== Received: from DU2PR04CA0228.eurprd04.prod.outlook.com (2603:10a6:10:2b1::23) by DB4PR10MB6048.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:378::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Tue, 1 Oct 2024 09:20:42 +0000 Received: from DB3PEPF0000885E.eurprd02.prod.outlook.com (2603:10a6:10:2b1:cafe::c8) by DU2PR04CA0228.outlook.office365.com (2603:10a6:10:2b1::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.27 via Frontend Transport; Tue, 1 Oct 2024 09:20:42 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 52.169.0.179) smtp.mailfrom=stackit.cloud; dkim=fail (body hash did not verify) header.d=stackit.cloud;dmarc=fail action=oreject header.from=stackit.cloud; Received-SPF: Fail (protection.outlook.com: domain of stackit.cloud does not designate 52.169.0.179 as permitted sender) receiver=protection.outlook.com; client-ip=52.169.0.179; helo=eu2.smtp.exclaimer.net; Received: from eu2.smtp.exclaimer.net (52.169.0.179) by DB3PEPF0000885E.mail.protection.outlook.com (10.167.242.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.11 via Frontend Transport; Tue, 1 Oct 2024 09:20:40 +0000 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (104.47.11.47) by eu2.smtp.exclaimer.net (52.169.0.179) with Exclaimer Signature Manager ESMTP Proxy eu2.smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_DIFFIEHELLMAN_WITH_AES256_NONE); Tue, 1 Oct 2024 09:20:41 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 13490668 X-ExclaimerImprintLatency: 2813041 X-ExclaimerImprintAction: 2448f2c082ed485eb439c683929cea21 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YjmOQwi4eX1S4mICjz+eVj3Bt2jtr8fwX9mtxS1i38CInSbcb/LYmPE6EWIPVTPLPcnr6G8TyeFXO2ObJCCn6rNFHbBL4zmtTSQeq2rvDdPK/gEPPf7cRctlSaI2stYfQ6IbWz21OmqYR9iQjOIGV4QIszAj8IgPjipicXnTmqE0Z0u3oANriitLIw/r5HqKvwV34G5GHeY3OeLaGSabmCBLWZoYJSTyqYLxKoWwmtxH6jbA68M2dN+3MLg+xmoLJZnbiufWzOG8zmqf/X94KMxg6OfbSboLmkxcqpimRzjoBjqCfAEvo2z6oAnjzRYEYnXjpT5E3IlsfzAgGx/YQA== 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=fkifRab6A287YBS5Y9Ejhf0T3cLu+FAhHJlUZnWXWLw=; b=e2h80KvrBJkFNqi4X+HBoHh76Bfnk6dujrDZVAIO4KWW66qr8XRHUVTDsWIyYd1O5H/Dgw8Zdgieg4lTN8Kgpv50Mrq26zoISq71pUKBdXwN5S5y6azD3iiN8qVyxVl2lIduxV+Z7cUYycW6WYTavl8MAgx8Tyb/+ltbn7aCGc3Pinkn1coBCVCl9yMFa+jsFezM+Wa4Ui+YO2xJieZoqwBs/scFAHrY/v5jQT5Cm89aJxh8DGmVS4HXRtP9emUHg55rTh2yhrJ4UqqjCrRaicg0jy48h6pLEKD44Sb/SS8fq6sPOTJN83CKtgOXOsTEFOCz4oUddCen3yvyweQqqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stackit.cloud; dmarc=pass action=none header.from=stackit.cloud; dkim=pass header.d=stackit.cloud; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stackit.cloud; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fkifRab6A287YBS5Y9Ejhf0T3cLu+FAhHJlUZnWXWLw=; b=k2ihoSt7KQ1/V8bkVMkWPW8qAf6b/Cd5FiMT672+SjSDiUT8jDQfbHJeRb93R3X8kgK/ZPTEMdRlKf+tOaaYPT9rStTxVhaTXaBHEIlYH4wfvLtJlgQwMOhOJR/puocvHuOJGW5i5Z/hI7ccPj+Ivvp7tqidtGrlFrO1B1Ws0f88PswqkFAUVSQmLAPNb6B+19mX3GG7+WxcvETKcP7f9ERN4GSqEGz+Sl/bmVpxtYI7iFzZRqngGJ2j7iuTB3zeKeDuS5RCfVnA1SPSEuwquI2YRxBAML8s/Ep4ym0+gOX7J7pk8FRJnqUSqdbO6K7ZztVYx3JystCs58g1M8xNAg== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=stackit.cloud; Received: from PAVPR10MB7329.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:31c::22) by AS8PR10MB6771.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5bb::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Tue, 1 Oct 2024 09:20:38 +0000 Received: from PAVPR10MB7329.EURPRD10.PROD.OUTLOOK.COM ([fe80::6bb0:10ec:5e32:972f]) by PAVPR10MB7329.EURPRD10.PROD.OUTLOOK.COM ([fe80::6bb0:10ec:5e32:972f%3]) with mapi id 15.20.8026.014; Tue, 1 Oct 2024 09:20:37 +0000 Date: Tue, 1 Oct 2024 11:20:36 +0200 To: dev@openvswitch.org Message-ID: Content-Disposition: inline X-ClientProxiedBy: FR2P281CA0080.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9a::13) To PAVPR10MB7329.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:31c::22) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAVPR10MB7329:EE_|AS8PR10MB6771:EE_|DB3PEPF0000885E:EE_|DB4PR10MB6048:EE_ X-MS-Office365-Filtering-Correlation-Id: 95f571f6-cc4f-43b0-8f2c-08dce1fa5200 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?q?kohL2Nuh1E9sgopdfjbXBR?= =?utf-8?q?cr38gLKRjneQnsp0FHxHli0y+kO48QwUBnXK7HkE+1IPOoF/WwzjoonlT1M41jc/w?= =?utf-8?q?apwzEeTj+dUYJh/DmNhHCoqpxigGVZ0p2pMTjev/761doOr0lVD9WC/dlm057m9pe?= =?utf-8?q?BfOJChsAjDl8lpOWVnFaRzVtwfGvXZ/lIxHWJKSs9ZeWwLz0tEPuGunUxXPi4K4qT?= =?utf-8?q?C9oy6iHnJbTWEMitMdxheGoi7uLQXPGV84gYQa6HhLjlD8JXDA9xF5yEKwEy/NPrL?= =?utf-8?q?UjG4HDNQnt54NiqRRqhxepQrmK5yIEPRdITjIXJY2P93TCEuzvKUJv4VbnjyH14WT?= =?utf-8?q?LFnBBLLmFGVqbtIBtVmZlTsCFrhSNrLpEnpJRxqd3yV1tH6cKwS/8d61EUWKN2J9m?= =?utf-8?q?eDk+gr55/pNgxy7Y63YysGh/ArJ8ij6QwMsgr9bOk9HWQkJzT8kpD4X2uSbuolrOY?= =?utf-8?q?FaeWGsi1j6BZAjm+9tn+AbUOgbgdJD0Wr24VX1N9iOqG+PLxYO7ViK4gxMAZGFa+m?= =?utf-8?q?66bLQnk/ymd7N4zncLhstJQf58mR90qn4PmIFG9mmUJ7+OXiarajo4vsh4/iA/0YW?= =?utf-8?q?vujp/TJeMxKr0EmN0KgOPmlpglhoJyRBrUQblh7ai+cqlZ2oM95rXWOLpHNnWPfq1?= =?utf-8?q?v4BAjO1POX4xVdjnw/vOG/t9N+/5u7UweLweCp0TCUEyoGWBy/6s8T+R5PI5CkqUs?= =?utf-8?q?vpf4yEzZPNRWUyUGkeFwxMmfiAhp4qu67XtwvxqM3X1QRUdD9czQDM5gDy6d/UjLz?= =?utf-8?q?OEAbQReBGv8eUaHYcMi228rsdFK64r69vpDxKh/4KEVuF7lAeXq45oVME3X6yTorl?= =?utf-8?q?E3ISQriIbukXtFcXGdmNZQ/3NVxzwTT+/0SRN9tSWkv4DS9lPiX4aXbaIFCwoZc6e?= =?utf-8?q?TiLk6ZdEEyE9f9pAWzsasvrn5Sgdo9xjEmq15ZFdndJb6B5egEDF77ww+WHLNAIB/?= =?utf-8?q?NTVH6ukQyqIe5XN7o63UVScLwtqPdDLRX/tWtnPp1i+3m5kYrTtVzO25WSE7bso1d?= =?utf-8?q?cEKy3clttLNdNJF7pNyQVQ5uPCcZKlNjGEBUlQUHhxbgkBMTgkLIv7OvcQyd9mvWL?= =?utf-8?q?kyX1znZ9id7JB0oGy5w3tsehDPno1f1hYXLykQx18LS3Mki9y+om/25GZrvXZ1rWb?= =?utf-8?q?luLu+BQHwbl/PMSLxR8BY2LYC+zXorzDbDMrwwwVa4jdi3uafp9gaHDzjpoCpjFVK?= =?utf-8?q?E/06HMjsSu20p9d7CNHvO/Aq1lbQxsJ4J7+uhmP6XsEBmqbI/rD1MR6RwPRzI6yj3?= =?utf-8?q?irib9wYLFq5ZeiMAeBQcTiz5wTGKCfj+tBmxh+ukvRbw=3D=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAVPR10MB7329.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB6771 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB3PEPF0000885E.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 46500cea-0846-4bfe-8fa7-08dce1fa4fd4 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|35042699022|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?ju3l6nWD61L5VBL9XKGOrLQvR2asVJa?= =?utf-8?q?zIpZmwGnf2nh0KKV1w4IcDTlnO0RG8HqUZNwt3HhCWqwDzvm4wObH0UFVm4WCbVKk?= =?utf-8?q?fQdHN0DdKtBlwTnXR7+MuBvo4QMOWcjtZskayqnC1zt1jIoXebVFqfd1DFHq5jTZi?= =?utf-8?q?QNV/DoFM6XYMqZpcI3ct4AST/vgpLY9qC2xbnnBMH5qnNXIa1/bHoz4ZxhcaXFna4?= =?utf-8?q?oXzeDR+Jcb/p5lJtNuUraHMeucZ+mEPtnXMMy2HDYcCZR8YBd7jmc8mG7aEAS+DSO?= =?utf-8?q?XK8Ee6uWSQg1EFFSFczc8oetsN5782EtGlIegcks1KxjHrGLiK5jUkMKEg6U7UVdq?= =?utf-8?q?PTtfCmitTDogSVbZ8Ca7yWXlF/x6W3cpBXm+ixbm+fieLQ5iF1WXcj0eM8pC5W53R?= =?utf-8?q?lWIaKG7gfZoT60QxDaSHMFk6oLlRSA//NbhEjFcJ88mCGVgSyt1nuko6W+rk8srJX?= =?utf-8?q?TOrf18YQsRyhyPynsSZLeH6tvqA+W7SEnUYtujdsqOxpkqnojRQM08WD0ENDSP19A?= =?utf-8?q?nmG9iJO3SR4IlDdO2CsQc/Wv/Bu1cGqV4U+FbPOle/UMMdxaDgH2S+PiiIaa4JziU?= =?utf-8?q?63ngub8pWtalUmDKm/cgkNcnNUtGlORmQChxZ4DmcCt56253/OWnAf6oLTTu2d5vz?= =?utf-8?q?LfSjMyWozpPN3q/rXpV9Odc5T6bW6GFEwhcF9n/V11+UD8PeR7pknie+DMSJmo1JV?= =?utf-8?q?RVd5H6+uQ0eA3iwP1hawO5BhTWR5dcp7M0S0Yf5X2b8XtBCM1NNTDl6VVcAivu5bC?= =?utf-8?q?P4nFpmpXTjlsze+tZg8G+L/FAy90YCIzSx+AT8GQsZPwcGZif2hHk0pTeF+ckAUX2?= =?utf-8?q?RsjLIWhjeyixWVSIXxwqHteBrqiGB3MUjEIguTdzKegIM9P5J8F0GeoPXUYkXyS7h?= =?utf-8?q?G03O7TRXOGMHjbvwdfAhuABHGgvOXkPJHPj9GZlgUkfoSGFvXbGo/ANU48VHHIPFK?= =?utf-8?q?F5R4GgKXvRdJubth2iCly1C2uYTs+Nf25L2WWX/H+UBkbDYDJ2GbEvrAXuCurImoi?= =?utf-8?q?u2IanJOODzI1e215qw/eeoU9wkzAK8xtoyKFaC9JyfmXZS5b/za3jAKoRaissa3Lq?= =?utf-8?q?yGHYsbm+zCu1mxKx23s3JRrYZYXrOKSG0w9n9hpdg8O/uFz9xUqyAwS7XtZp/sVPN?= =?utf-8?q?ZOzUQPM+CvrRauoq8UbxkG8hbIFxS/iU5/zwU+xUCV/p5x5LCrakvDDjfe4eFDVwd?= =?utf-8?q?ApJvT+ef80hrtcyDw0ZVT2Pu3czHd3qDu1J+8mKmD7gVMfYKLQyZOxOptrQ5VOwm6?= =?utf-8?q?Q3iv1AlyFMWSroIHwhh/oNDi/WDdj6CQBkbXbUEg8V5pvxnceqziuOFD/1cQxsgr0?= =?utf-8?q?iyaWKjjFZVVB?= X-Forefront-Antispam-Report: CIP:52.169.0.179; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:eu2.smtp.exclaimer.net; PTR:eu2.smtp.exclaimer.net; CAT:NONE; SFS:(13230040)(36860700013)(35042699022)(82310400026)(376014)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: stackit.cloud X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2024 09:20:40.7828 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95f571f6-cc4f-43b0-8f2c-08dce1fa5200 X-MS-Exchange-CrossTenant-Id: d04f4717-5a6e-4b98-b3f9-6918e0385f4c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d04f4717-5a6e-4b98-b3f9-6918e0385f4c; Ip=[52.169.0.179]; Helo=[eu2.smtp.exclaimer.net] X-MS-Exchange-CrossTenant-AuthSource: DB3PEPF0000885E.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR10MB6048 Subject: [ovs-dev] [PATCH v2] python: Index references. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Luca Czesla via dev From: Luca Czesla Reply-To: Luca Czesla Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" For an index on a reference to work, we should not resolve the reference to to the corresponding row object but instead use the uuid for indexing. an index on Datapath in the Port_Binding Table reduces the lookup in the neutron metadata agent for each request from approx. 400ms per request to 980μs with approx. 40k port bindings. Signed-off-by: Luca Czesla Acked-by: Mike Pattrick Acked-by: Eelco Chaudron --- python/ovs/db/custom_index.py | 14 +++++++++++--- python/ovs/db/idl.py | 9 ++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) base-commit: 1b99649025ae767974d0a7cea88d1e9f46f4378d diff --git a/python/ovs/db/custom_index.py b/python/ovs/db/custom_index.py index 3fa03d3c9..803baaccd 100644 --- a/python/ovs/db/custom_index.py +++ b/python/ovs/db/custom_index.py @@ -11,7 +11,7 @@ try: except ImportError: from ovs.compat import sortedcontainers -from ovs.db import data +from ovs.db import data, idl OVSDB_INDEX_ASC = "ASC" OVSDB_INDEX_DESC = "DESC" @@ -43,7 +43,7 @@ class MultiColumnIndex(object): def _cmp(self, a, b): for col, direction, key in self.columns: - aval, bval = key(a), key(b) + aval, bval = idl._row_to_uuid(key(a)), idl._row_to_uuid(key(b)) if aval == bval: continue result = (aval > bval) - (aval < bval) @@ -53,7 +53,8 @@ class MultiColumnIndex(object): def index_entry_from_row(self, row): return row._table.rows.IndexEntry( uuid=row.uuid, - **{c.column: getattr(row, c.column) for c in self.columns}) + **{c.column: row.get_column(c.column, self._uuid_to_uuid) + for c in self.columns}) def add(self, row): if not all(hasattr(row, col.column) for col in self.columns): @@ -76,6 +77,13 @@ class MultiColumnIndex(object): def __iter__(self): return iter(r._table.rows[r.uuid] for r in self.values) + # For indexing we do not want to resolve the references as we cannot + # ensure that the referenced table is already filled, the uuid is + # sufficient for the index. + @staticmethod + def _uuid_to_uuid(atom, base): + return atom + class IndexedRows(DictBase, object): def __init__(self, table, *args, **kwargs): diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py index c8cc54346..3feb068b8 100644 --- a/python/ovs/db/idl.py +++ b/python/ovs/db/idl.py @@ -1351,7 +1351,7 @@ class Row(object): else: return atom - def __getattr__(self, column_name): + def get_column(self, column_name, uuid_to_row): assert self._changes is not None assert self._mutations is not None @@ -1392,7 +1392,7 @@ class Row(object): datum = data.Datum.from_python(column.type, dlist, _row_to_uuid) elif column.type.is_map(): - dmap = datum.to_python(self._uuid_to_row) + dmap = datum.to_python(uuid_to_row) if inserts is not None: dmap.update(inserts) if removes is not None: @@ -1409,7 +1409,10 @@ class Row(object): else: datum = inserts - return datum.to_python(self._uuid_to_row) + return datum.to_python(uuid_to_row) + + def __getattr__(self, column_name): + return self.get_column(column_name, self._uuid_to_row) def __setattr__(self, column_name, value): assert self._changes is not None