From patchwork Mon Sep 23 20:45:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Luca Czesla X-Patchwork-Id: 1988700 X-Patchwork-Delegate: horms@verge.net.au 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=drNeK1Of; 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=KisSwyf1; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) (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 4XCFPt176qz1xsM for ; Tue, 24 Sep 2024 06:45:52 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 96A9D60A54; Mon, 23 Sep 2024 20:45:46 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ymHrm8Wd7IgM; Mon, 23 Sep 2024 20:45:45 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 509B06066F Authentication-Results: smtp3.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=drNeK1Of; 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=KisSwyf1 Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 509B06066F; Mon, 23 Sep 2024 20:45:45 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2E09BC0012; Mon, 23 Sep 2024 20:45:45 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 900CAC0011 for ; Mon, 23 Sep 2024 20:45:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 7840C819F8 for ; Mon, 23 Sep 2024 20:45:43 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id yvjSKQDb3Hlq for ; Mon, 23 Sep 2024 20:45:42 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:2612::605; helo=eur05-am6-obe.outbound.protection.outlook.com; envelope-from=luca.czesla@stackit.cloud; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 263A280DE3 Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=reject dis=none) header.from=stackit.cloud DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 263A280DE3 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=stackit.cloud header.i=@stackit.cloud header.a=rsa-sha256 header.s=selector1 header.b=drNeK1Of; 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=KisSwyf1 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20605.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::605]) by smtp1.osuosl.org (Postfix) with ESMTPS id 263A280DE3 for ; Mon, 23 Sep 2024 20:45:41 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=fail; b=OA5lIp3BejvpAdy4/DXG0CHnbGN1XVxL0tzYkzq1In0OyQGD7Ja1go1kC2wGeWV5B3iZ3Nlx0bzIuK4iTzsCKKHup1e2ZmIYSYLNz6S5GQqXAouMkVge0vMAr1viBQaxkp76Vd/CjunoqIlWE90jQoW0uPyqCq50ksQqq6dqVGGkYfXbbqqo/69fNybuVezw5uCsJPESChcXKieP6GLfCydnXVrzlwOjVJ2MZvMc9KyzZyD29sYfUH47sqeIyUxSumgC5hzyW0mUZ0rdCBhWSQH8489QU+GAThoTX6cJgODn4p54Pl0cSD524Yt13rGTZKbvpLbNQfmu5MH2pnISRg== 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=jyyDMVE6nCe90FaJvH9JlCzUM5xwJcwdP7D3G2sPXlY=; b=frHiZnwVfkaMFDDjgrnl5RSS5zterL9+gqsZ5Qb7UlN1piAcICXrvhPJYMiNGVmApDEkpR0n4Rgb9VQnbRzA2fuwsRFzYgtGYS62+67ZueZsAAa01u/P5MgA5KPClrWjqBU3T5a0ab1CQwi9JNishf3ali4BP5fo4wPRyj3BBDqeSIGN0stIBUieY5izQqQU/FEZ7Zt6Yh7QjdLHQjx23T9IEhyVONEDZTlSit9baaN09Wztm0JdNcTHiy42GYXSlghrfFOyLwsNxASmRiVUXe+Zq8N4MiELzEh0aNk2gz26PX+YBDRKlGfNdzElrG3cfSLHRDtsirNYAAKlojShew== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=fail (sender ip is 104.40.229.156) 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=jyyDMVE6nCe90FaJvH9JlCzUM5xwJcwdP7D3G2sPXlY=; b=drNeK1OfE4W8fgB4mzY58ANHEOj3X3Z7Y67O7EEuD5DviGrMaomYIcpzNg/39AxH3LwNS0TcSc6l/8BrLCIuhdmSHfmKekkQZaX45yYSnlUahfjHsMRSSw2VQ3g7pd2Oas9JLESDWL2nz8KagGEj9/yToyFFq5jY4otfmosKzl9eCl8rNGYL5a5fBt9UNqHapt060sCmS7SaAQAbrcrJcnS3YJ0gODUgYaD9fxB5YFGwo3uNUjLT1IPiO+REN9yEAHAfcCmIkPpKCn9XInbyHsP/MJVpGtK5E4Ba4jDmsgs4vkimW6x1Wfb9IT7a9sFAPmzjsOTn53HK9xUcF1jrrw== Received: from DUZPR01CA0097.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bb::10) by DB9PR10MB5551.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:30a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Mon, 23 Sep 2024 20:45:34 +0000 Received: from DU6PEPF0000A7E1.eurprd02.prod.outlook.com (2603:10a6:10:4bb:cafe::3) by DUZPR01CA0097.outlook.office365.com (2603:10a6:10:4bb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend Transport; Mon, 23 Sep 2024 20:45:34 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 104.40.229.156) 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 104.40.229.156 as permitted sender) receiver=protection.outlook.com; client-ip=104.40.229.156; helo=eu1.smtp.exclaimer.net; Received: from eu1.smtp.exclaimer.net (104.40.229.156) by DU6PEPF0000A7E1.mail.protection.outlook.com (10.167.8.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.13 via Frontend Transport; Mon, 23 Sep 2024 20:45:33 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (104.47.18.112) by eu1.smtp.exclaimer.net (104.40.229.156) with Exclaimer Signature Manager ESMTP Proxy eu1.smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_DIFFIEHELLMAN_WITH_AES256_NONE); Mon, 23 Sep 2024 20:45:33 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 6247597 X-ExclaimerImprintLatency: 2936117 X-ExclaimerImprintAction: aa27b0705aa944f5a772a605a8a4316c ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=il9PmK5EjKqDLv0hGuSLhyjLkri6dELTBIMQttQ2TpOFi5TaZ1MEprcmuf3O2wLX6kXErTs9Jpoy325G9En0s+KyJaIh0xJOHVcYiLCmWMOFI/yQv/729878A3kwCFjWI18mYXna2kN6BH4VT3EoEe1uCLS76DxpW4XFYKpiNHRGHfJl2exVFiGX1LnJgJ7RkpPz48i/b1G4bg0q1VWMhA9hOeCBlhUiVqBxeY93iq5+u10PdmZgp0L2GkJ3pDVHymnPSEvTexakUN2PubfCvbmmTxWsx5hEwD2Rw0XJHTyGXsRBIvRnvF5W+uGaLy/Bqx1MfyhQHQZScKNA6W6uSg== 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=ygmTwHDuJfJtf7l0EkW8kktHm9S9xEI4k+FqntNyBQs=; b=c/zy65Wz7zx+pCqDRdI52K6aHTrCT/IfDEKs6OLK9cdxKLRHyqkjmyIFJ5FmFmBSBB5mB30uy2l8VPFmgPecTFFj0h2c022v0mun+9nuFNzMdaMlYM+2g0s5qov9q+JtrNq0H264tA6gTHIpp/dVFlt1rjjynXAW6t82R/dSYc/AvdYq6yhM+LLLkCjUXJC+srJHJP0bvy3bB2QD20y4h0hWRunEuR0U0p6/wEIiVdqXZuFljRbgllA+ULmaRfE6ABAWOOxLZOhOdv1AvjPtCu0Bh5c1EUwgZNAe3znqt+us8bdVlykTFE8uOqk3fxVGe/OCfTvwSteZd4Rcl1XMLw== 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=ygmTwHDuJfJtf7l0EkW8kktHm9S9xEI4k+FqntNyBQs=; b=KisSwyf19CZgBCkbCohWoi1C3ELCfj05ijkiGTlmf/no5EaYsU/+NPa0inKd9TegmZQIH1wGbwxXwLJ/4tjNpWPYWBaDivC0wioI+WvLGrcjlhY3zOyOsGMmYQRFpDnsPZ7l8sPGb6+W32UBN5Cow++ps3jb8sjI9Syt0DFnlphYIdPprMt4j/6GJvzRMabD7sMaEZ4F5kDeo5IWXUJ/qSkwvR3fnOMUKNW2gdwt2CMz9fVllQJcHb+7LVIDuzmWz0CfMXIaIomZw3VWNTb+UPthx1Lp8u1ujcNTIUqkORnN+XoqzgqfPxgjVQxHE5rxxr/RvAw2iq52q3IDUvqYBg== 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 AM7PR10MB3207.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:104::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Mon, 23 Sep 2024 20:45:27 +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.7982.022; Mon, 23 Sep 2024 20:45:26 +0000 Date: Mon, 23 Sep 2024 22:45:25 +0200 To: dev@openvswitch.org Message-ID: Content-Disposition: inline X-ClientProxiedBy: FR2P281CA0072.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9a::11) To PAVPR10MB7329.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:31c::22) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAVPR10MB7329:EE_|AM7PR10MB3207:EE_|DU6PEPF0000A7E1:EE_|DB9PR10MB5551:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ad7a73a-1bab-4b84-c091-08dcdc10ab71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?q?rWU2Xp5wZ5Fp5Y9+e+6XeG?= =?utf-8?q?frEKArYgWpjl8q9I90lPGX7MAvn7geeV4ZV/gYbp/28wk7FuKa0RNrwM9eWnWNVaE?= =?utf-8?q?d1k975TsRQt/Nr8cbOk/KvpE6g7ltg9S+//q/sauh+anUVbyKgt0XH5WdatxB7LKq?= =?utf-8?q?efQWYUK/f3PM5duVHeHjPeRgT9rTG6IEteY1O/RbNicvpRJnGd41Fr/sZBCcc0m9k?= =?utf-8?q?k6OCmKoTF8Hbkpg0R0eU4CeihDunbBK6vz3P7Y4zMmkaCdESHM3HrqmLJagQwzviy?= =?utf-8?q?5mx7IkEzkJblK4ITQkYoUu/yEIfPh2mggy0ChzdwSMM531oD0cEWphoJ54qLNoOtY?= =?utf-8?q?yH1ReRC+4z7uULA5HuKoUHuZLM7dMHjD904vzLxqItemLlTp+/LxPXBwPdabfzJZU?= =?utf-8?q?UnyJMEz1H/LV/rlhYu/jk9owkp5zVKtEmDgQhva2uIPe3HFXl824miTcdYYIppzuQ?= =?utf-8?q?Z7goWQNwgE6dzJeRwt+Ho019qg6JJ/1xFFozKGxfpf1b6CovPycSjuxLwREQyA8ye?= =?utf-8?q?BQBEUTuCNab37NQZ9kptUr7HjN8rxoV/rh/lwFiTG87vvT7pGRb13CVwan1yXhSst?= =?utf-8?q?NrVAlV5XqdpNHy4Vw2xHs0ZVgO+msBPY7gKAa++Z002JZ6ZqaXCXAfpT9qxWhs5bI?= =?utf-8?q?fyVIolWY0fhtxo0T5rXy3N9DRziUUEqztUq8iRrUPE8X8n/sFclyoUKs0Aitfzw0h?= =?utf-8?q?hLjOwSMcq++34cMMzzqnbH/Cy2U0Xz3xC+LKskUDElzIFItsOhDsV2a6ykJ3HVKRF?= =?utf-8?q?4sWlpjw7gRAmVkuK/3c1qR27G+LrHl1Pg55AeGFQiaYopTdTEfmZLA7ifd++D1L1n?= =?utf-8?q?ZjMTFCUZl4aKfsTHqy/gtsafXgFG77kK5fecpxX1V5Sc1PyDbPyYUU5G2gLjFfgmd?= =?utf-8?q?Tlfwwl83Vehvj9szYm3kTZR73DMyXtDg1WRJLOxNk8uRGvpG0YwD6Jfay8kcP3VBJ?= =?utf-8?q?U89bqQsVBIPlrPEOXAz0HirfHp3Ow5R0ZnXHRYObVku33bxLNihsLi/Rp1Zuh4tIv?= =?utf-8?q?uZQbShR1h+UhyXxAE1qXRgfncVxjoOToIaX6a7C4eQo7BJw6BaurXRarI79VE7cbN?= =?utf-8?q?RukerPiRb9zdEH2KMKQXpjmwKEJ9YLoY0LE9uGMgxO/3QSRnyPbQk0VUncsk5Zj5T?= =?utf-8?q?ZJocLkiRSRj4ISiAROR8oMSTA1F4g6WlyElqTTZtdJsIAEB82VC9huDBaAc1+obMF?= =?utf-8?q?1s8FA0KgmVlV3uxA2iTeWuqRSVR5cWTQCNeaMVbEk/cBg=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)(1800799024)(366016)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR10MB3207 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000A7E1.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6f414fa1-9fbe-4c58-2578-08dcdc10a782 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|376014|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?FQgMKeNKxT2k9KCvIzGA7AsTRm9Cab2?= =?utf-8?q?8YSdB8akE/PPmzDsZukcEgM7uj+EgsrO/cYVraEJ9G4oEKkzonwfjYKNhwPK5UCCd?= =?utf-8?q?iCeQCcvC3d7QlNAJlDSDNeuiKWljR2hvTbCaUFNycAwPsXa4K1nhJ3w8MrdkrnBHG?= =?utf-8?q?4HDYV+66z55zrRGVVCuXND1H8rD1oCTNuHCIlj+znVpWvyNJuZgBjM6P5IMbvUTp0?= =?utf-8?q?BTNMz1v62bBR9VX88ZkYfjFx1RHn+h4YXd7WjQiECuDKOIeeVFJRSY9yzJIfxM/Ug?= =?utf-8?q?kRFhIdpoZPL+q0VOucUmsmLwHcTPlv1VZI8BpVNa153LUlSmijuchy7y6ZXk9l3ic?= =?utf-8?q?fVlMDbPxi7UvgpSexF8SHx/usfwuTUumiBe6L8gN0GTyExFZyMb9EMjPAEoMDU0+I?= =?utf-8?q?T2xKFmiisG49vJZmekrZ/Z/jR9OW3ll5Esy+RLQo7DGn7vQY92a25NikZ45Oxr+S+?= =?utf-8?q?FL2UxI4f0KCPWYAAiSwTR9cS3GAJHBkpXZGd3duuJWzD+HID0+sx2fps+rXHwYHKs?= =?utf-8?q?2d1YRNmewzFjXnce3fWWwLl6nKVWWci0v60Cu7LC7pSq+WU46yPb4ADZ1kKoegdJU?= =?utf-8?q?ZOVAZY55LGUM+yGa6VBXJGrgmZai8h8TpiK7Uj9chbdnH9viH9GS0wrONXQ3OgVcI?= =?utf-8?q?He+cyXp6njeY5FL1f/gqWkyhHJHUk++Z3RKIFWLkdEb9l8NZQqy02ATmf9Vhvj90l?= =?utf-8?q?6MZdsMmmgnukdi2seAkhS1wJSsIEJi8RiAZ/wYsbZmZNJDERRMwYJszPzeDvd5hgP?= =?utf-8?q?HdhgL9aiNfGlanvMl22rjks/jf3NzasiRF5ghzx5i8PRDgUwUOeeurw6eWyDdY01T?= =?utf-8?q?u2cJ7hku/yuxJpH32a10MVEueHM7M4cyKZjTvvVvcdNcPOsUjecXx0nMBbYh74f0K?= =?utf-8?q?kA9TR6EWssneIxgFogvtOtFwpiGt4XNJJ4EmHAUyB58VX5Fb8XwsTwo+gVhkPrSft?= =?utf-8?q?iXFXyCr5IF8Mlr4AwOWfXyONpoBcgxwqZRzKBtDOodDGuqV8UAwPP+fo+4TNH/mh6?= =?utf-8?q?Ojp4rN/ldD+Y8jOrCtnBed8fzulak6lvuYUVAOxwKmZT65rsVJz0J4RAu5UKgA6As?= =?utf-8?q?Mzs1JPJqaY7UPJiaIHTRxK67g+dfXuXY6G8ZTmLAw43GD01B8CnXilLQyluo3T5NU?= =?utf-8?q?BKc6O8hoGYxypw9fE+7DbTGaZAXk9sqgcqI4QcEgzD23qp++aW2i2YChPcc94QMzL?= =?utf-8?q?AOvCAzf3KsQ2xLWVNm9jKV8YqKK7QYPCIYAKwoHefi+Cq5Dutx5kccI/Juwq4tSgq?= =?utf-8?q?eVyhYieo5fm/Tw0HWMrzgecYYZYZ0hwqc5j384WxM+joRBw0obR9wZ8OTj7KIY48w?= =?utf-8?q?9Cyzx3SRbV9s4688uZxGa+LZ/8vasm3bfeHfuB2bVseWCrz63pEerOhs7krBFlFSg?= =?utf-8?q?KnfO+VDTAJ7?= X-Forefront-Antispam-Report: CIP:104.40.229.156; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:eu1.smtp.exclaimer.net; PTR:eu1.smtp.exclaimer.net; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(376014)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: stackit.cloud X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 20:45:33.0276 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6ad7a73a-1bab-4b84-c091-08dcdc10ab71 X-MS-Exchange-CrossTenant-Id: d04f4717-5a6e-4b98-b3f9-6918e0385f4c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d04f4717-5a6e-4b98-b3f9-6918e0385f4c; Ip=[104.40.229.156]; Helo=[eu1.smtp.exclaimer.net] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF0000A7E1.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB5551 Subject: [ovs-dev] [PATCH] 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 --- python/ovs/db/custom_index.py | 12 +++++++++--- python/ovs/db/idl.py | 9 ++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) base-commit: 1b99649025ae767974d0a7cea88d1e9f46f4378d diff --git a/python/ovs/db/custom_index.py b/python/ovs/db/custom_index.py index 3fa03d3c9..2e10f9505 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,7 @@ 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, _uuid_to_uuid) for c in self.columns}) def add(self, row): if not all(hasattr(row, col.column) for col in self.columns): @@ -131,6 +131,12 @@ class IndexedRows(DictBase, object): raise NotImplementedError() +# 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. +def _uuid_to_uuid(atom, base): + return atom + def IndexEntryClass(table): """Create a class used represent Rows in indexes 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