From patchwork Thu Oct 24 15:45:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 2001809 X-Patchwork-Delegate: echaudro@redhat.com 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=gT9n+yHd; 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=gT9n+yHd; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.138; helo=smtp1.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (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 4XZ9Hm6jtwz1xwy for ; Fri, 25 Oct 2024 02:46:12 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id D638481233; Thu, 24 Oct 2024 15:46:10 +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 jOvIvqoUthQa; Thu, 24 Oct 2024 15:46:09 +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 smtp1.osuosl.org A881D803BA Authentication-Results: smtp1.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=gT9n+yHd; 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=gT9n+yHd Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp1.osuosl.org (Postfix) with ESMTPS id A881D803BA; Thu, 24 Oct 2024 15:46:09 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 7B5ABC08A6; Thu, 24 Oct 2024 15:46:09 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1522AC08A6 for ; Thu, 24 Oct 2024 15:46:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 248C3405B3 for ; Thu, 24 Oct 2024 15:46:07 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id HRWFzLDf0uYm for ; Thu, 24 Oct 2024 15:46:06 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:2612::631; helo=eur05-am6-obe.outbound.protection.outlook.com; envelope-from=felix.huettner@stackit.cloud; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org 756AF40BD1 Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=reject dis=none) header.from=stackit.cloud DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 756AF40BD1 Authentication-Results: smtp2.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=gT9n+yHd; dkim=pass (2048-bit key) header.d=stackit.cloud header.i=@stackit.cloud header.a=rsa-sha256 header.s=selector1 header.b=gT9n+yHd Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20631.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::631]) by smtp2.osuosl.org (Postfix) with ESMTPS id 756AF40BD1 for ; Thu, 24 Oct 2024 15:46:05 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Z2A/0YpmZztFY5FUCILlJ2rm0VglpfVkUU7+EvBRFvP5UG4YMqw3y7j1ZJGsKORgrCa+ulhfyp24yXppgQP9VQ9qd35gtdAROV1xa3JjeItcQYFV6TZ4ANrFJu9ATbkPyo3wBHzMF9y9wI5etE4UEwX+7+8QS0kVHcpfM22v3kQ7Ga2C3+7RToxwSPNfG08UXOEiV8L3IBVVCEL75Q72qvPVl5kmBoci7czRC2V1xYabA/RhvG/1JhqwKjgOQAyTNOhN86BzcR6cEBkln4qZWTv8WqZt988lUm14iX2wCU5q19QKeRiwNnWaZDt0UQbOTKL1oj5A/I4NdU92CT4NMQ== 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=GzPWrjhquOHC03VQ8I5pJfSQ3ieaXhARuN1rnHTmcdI=; b=Q4cii+UaRKmCV6w3TbxW8/6fSs7hTslBYWP9seTP0u+7bdV7uvVmNjnz10fZpVN4KK/9DzHnXnN4puPjKgnETh1k+SzIoMOgfvoRp5v70QxZdGiZPGOYdp8EoHTpOAqX5f3Rs2VRQfOvkOtT+y4imwf325g65gy9CypapwUPh0VGYIoY/ReRaW96KzQ/tpgjGnwArMBy6EDAYo5D80mVu/UmRYIl2B30ro66tBHcTjXmmA+IIIrjfxpQdydh8BHHaDBg3D6aEUHMhb5UPlwlG0TyrSYVVjV+F7mXM6f0Bj4mKGX49PJwcS4BzRIEeX3nuzSN7NTw/Ezv6FnBpFss6A== 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=pass (p=reject sp=none pct=100) action=none header.from=stackit.cloud; dkim=pass (signature was verified) header.d=stackit.cloud; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=stackit.cloud] dkim=[1,1,header.d=stackit.cloud] dmarc=[1,1,header.from=stackit.cloud]) 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=GzPWrjhquOHC03VQ8I5pJfSQ3ieaXhARuN1rnHTmcdI=; b=gT9n+yHdJAyuBTNLLDPGn9NCnn1ZgNFdDuhWoiJqNf6uHfg4RIGN34cogp7PpQGUfUh8khAb613+a9d8XchoYQ1p4WY+mytF/SkcG7zMpFdgDOlTBO3kJgrNdBcsazd9RPNSQWZefFcixiH9tc1mMyJLXwjOmAOE91ZphcS4h4VKcyIq1GK0tXFqmPol54uTpdDglfEEJ2TwgU9QxgElV5Y9MR10FApEsJJBM2pq6K2VeByfY+TDLfDY+yT1xhAdlFhtrJjzehq1lCv6wjHxTQ0n3j0/vjvKuOHsRf9pMw4es1dU1Jrc7ZXRCGi3iAosfkxLh90bRqCAV1+a6QJ75g== Received: from AM0PR03CA0008.eurprd03.prod.outlook.com (2603:10a6:208:14::21) by AS1PR10MB5697.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:479::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.15; Thu, 24 Oct 2024 15:45:59 +0000 Received: from AM3PEPF0000A798.eurprd04.prod.outlook.com (2603:10a6:208:14:cafe::59) by AM0PR03CA0008.outlook.office365.com (2603:10a6:208:14::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.20 via Frontend Transport; Thu, 24 Oct 2024 15:45:59 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 52.169.0.179) smtp.mailfrom=stackit.cloud; dkim=pass (signature was verified) header.d=stackit.cloud;dmarc=pass action=none 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 AM3PEPF0000A798.mail.protection.outlook.com (10.167.16.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.14 via Frontend Transport; Thu, 24 Oct 2024 15:45:59 +0000 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (104.47.11.236) 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); Thu, 24 Oct 2024 15:45:59 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 5961696 X-ExclaimerImprintLatency: 1930482 X-ExclaimerImprintAction: 321ec38062fe4ab0aa068292ef5299f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y6eqt+hhjYw76DX6YPiLICmFSwmkObVqXIlZ4egwMmyK/J7krpn3up8RU5rAThqZXNhoKUmwAqpSJ1Q5bUSfiT2kdRRny6iTd+dH+smUt0ubwZDcMoACnrblWCZ9T6Z6smyzYV6m1TlSKdqaZ8jceXQSo13YtLIzecx7WtagpKzceB39uTwJ/PKhxsJMVuQOGyVlDRVrvUBblgnoix6m/dlL0yJDDhKLlEpq4Fm4XZAbCkHQLUf59TWTwN/te3Se+4zkqe0idEk8+KUP+7kArlUyOAMOCwz33US6WqrcHHC1UUuzE4OjCm/AashkOdoONvLCJ5YvfMuSU4Lff2aDxA== 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=GzPWrjhquOHC03VQ8I5pJfSQ3ieaXhARuN1rnHTmcdI=; b=CQ0N1a7l/q98rJIHJS6CeH165tdRRnVizDeMzSy9Otyluvr6NMe02HOEL7UdKSQ6hs3EujFQiz8i8nV+yuctwVkvk/6UWwuGqLwnR72Nqn8FEqmkZ3igrd4wKD1hUfI2k5uGQXET3efgXumovkFE76js6tkrnFc1PILlJyChXV9gwsIBMI1wjryPx1ISCeRePB3yyHvIy2annrYa65FEfr3TbQWuJ+fbagMrPDT9KgqYV9iLoVLAXfB10i5m5BXcRxnsdSCXeS1deml1VWWFgG7LmhNGjXiXi5eZTdtEX3XgFTMWiXmPMa1kYIL1/TlB95t2OCWPMoNyLc4Laok7qw== 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=GzPWrjhquOHC03VQ8I5pJfSQ3ieaXhARuN1rnHTmcdI=; b=gT9n+yHdJAyuBTNLLDPGn9NCnn1ZgNFdDuhWoiJqNf6uHfg4RIGN34cogp7PpQGUfUh8khAb613+a9d8XchoYQ1p4WY+mytF/SkcG7zMpFdgDOlTBO3kJgrNdBcsazd9RPNSQWZefFcixiH9tc1mMyJLXwjOmAOE91ZphcS4h4VKcyIq1GK0tXFqmPol54uTpdDglfEEJ2TwgU9QxgElV5Y9MR10FApEsJJBM2pq6K2VeByfY+TDLfDY+yT1xhAdlFhtrJjzehq1lCv6wjHxTQ0n3j0/vjvKuOHsRf9pMw4es1dU1Jrc7ZXRCGi3iAosfkxLh90bRqCAV1+a6QJ75g== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=stackit.cloud; Received: from DB4PR10MB6917.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:3ff::16) by GV2PR10MB6574.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:b5::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.14; Thu, 24 Oct 2024 15:45:58 +0000 Received: from DB4PR10MB6917.EURPRD10.PROD.OUTLOOK.COM ([fe80::b865:87a6:68fa:764e]) by DB4PR10MB6917.EURPRD10.PROD.OUTLOOK.COM ([fe80::b865:87a6:68fa:764e%5]) with mapi id 15.20.8093.014; Thu, 24 Oct 2024 15:45:58 +0000 Date: Thu, 24 Oct 2024 17:45:56 +0200 To: dev@openvswitch.org Message-ID: <4234e450c911bd2f4337bcf07c8145cdeb057a36.1729784574.git.felix.huettner@stackit.cloud> Mail-Followup-To: dev@openvswitch.org References: Content-Disposition: inline In-Reply-To: X-please-dont-add-a-signature: thanks X-ClientProxiedBy: FR3P281CA0114.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::6) To DB4PR10MB6917.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:3ff::16) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB4PR10MB6917:EE_|GV2PR10MB6574:EE_|AM3PEPF0000A798:EE_|AS1PR10MB5697:EE_ X-MS-Office365-Filtering-Correlation-Id: ad84695a-26d5-4697-7557-08dcf442f53a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: WMT054cn2/klhvYgILl2QbNWouOFaiqZ/yZGIJ0V4+GFyGFfIbE7O4BsCG0tvruJUnIMj1JjZ9WJShOKkS+3RZjubZfSDN9RWC5udhLbZ/QT/PT4cNs08/Wx1XFj5pBY44uYhrhTTsxBNMuAfi25xpm2gRLmi70AKrLsvIK844dm+eHG9BDo8TOvfzJOV9z3mbkXr+Q8G4WHXO4V1pWmw5nM3DRFPUgSPyURBuzBKAljn0C6oFKKchuayxN9k7xgcunUyioaeqVvukrWKVT43RcxR+krkYapV85nfZFDggKa3KzPm7nmB3zMHSLg2fA+03oFWh0yQ6ea3/REgzd/oiiYSKCywrlYcNNMBD97QSpoOQMiedLErmohtc8jnNy2w4RYPXYnb7S0MaFrZhfwusTVJLPuOUMSql4Tg/ik+md74Bw0EJis1+syS6scZgjxFcwtAOlJrVX3GkdUzm8mZJXiuKok5F4FfWUE4o1kcU528fv6QfjN7UM3vNd7Dko6Y9k0zBU0XRtFrKtXDKPpJy3V7sUi5r1cHtPfOvzNpIm/Aoeu9qRAuTxWzqOWiG2T0TBb9L3kObYzdBCNc2WGaavvElFAuYRAfesaWKLfcpzBv4FZHit0kt16BIq2UP+9U4IkNREWtM8q3sNrxmoux2vO/flsBK8F6WG+0yenv1hcql2iq0zEs7gpfI8eWtL94+hCIf/SOOukBcYOdvXg6aOVXuvY4JeO/+A2Bv+2Usw1sMjFYoWcpjSVh7QQpR3RxwwmrkvwTUifJJqmx875QZrKu7T8eQCSy+2On1yi2zpRGqghcHUM/Oq5Iedaa/80TPwEFuXf3QE0qYms8VqidxMIqEE9QTNPKmtrVByog7uXsTLykaJyMhgDXOm39ijh3cPq2hW31qbdv8ie/pMIK7NutC76A64mNtF2GzA9V8GoeI5wp2L/BFLchWwMdXAOZ2+Ypv55Q1VbNSn/+CYBKombYrsIxKZl6ZT78Wr1z5SI1x9SRje/HWv9urFFUFetmT1d01WXL3xzuSbAKnzcG/NB8fgpHx6k8x3zqEeC/0jpNm6fzTsJ18Sv9isgF0Ccium6aIAvGaHaqlmOQ/8hHJWkedXaOTG+QAw8H8C0Ej4BEFQrrxYWoGTzeWkAYxMUfaZHXu6ie9QZInKQ/+80ORxwXHvMO+UDdhzkk0pJM1qaFsUsCsTCR44aWDxJ/KGGw49LQH6MhbIKgIsz7GKcO6SL/cSkqZ072daG9nPJSp0P1/RbZTFw3Jb3RFVzeop6t72pv8wpONe9ugPQtz/+WrqTxEDm36LPUWAqhta1hnrJeZoC59xq5zaeOuHMJxkM X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB4PR10MB6917.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR10MB6574 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF0000A798.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c52f7cbd-6efd-4e78-7628-08dcf442f410 X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|82310400026|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: NSO9q7e2srwi22mqtP/sqonr7pgc4LMiZVfFWiB77uZbgMt234eAJW3kOSk87YTTT3Hf4kI2puShej/hbHyxN1Biuu+3J7mwvpY359yaGOEvXFg5nHFcZB/Xf3iVsFpHJNMb+JuBF/jTMJ66eKUNxKruoa9wZ/QcuALCHIVOif/E7AIE/mMEBEPl/kWYRJWgB3d2LJrYbPAQt/SuzwMMXkujjJ8XvL39IBn1y1WIpdjN6HmXDVLPUIwVKyNaG8128ZARtSxj3wG/BWS2I6cAsc+HpCKj/Jx9fmDV/6x8Z359X0sp2xvrp3MRDuI1lcLCgSTST8b8QgHPrkkTf5B8qq7MkZ5CDcVcxp19PDlP29Ew3OLa2KchojvP90oCH9sLTNnE7FLeg5AnSAQ8CJeJlS622Vc2/e/G2gtkGq5hVa6VRURen+d9GFnd1jN5aCds9csa6PAwwav85ei3vCb4lUHZiP+kurvBSURVj7OxvwrI/yUwOVcO6KdDHPWh7rhdIlZfpiH75KzBnF453bgSgVjW8HnyzD8c3GIgKQLNOkxJDWgBqSqPPq3yPlTDCNsFVz6JccxXWNsbQuy8N2rNwQB9Af4wnc0ilJPDVqqW0EGM7rdf63E7ni2Xg7fPuIGSQBa+hgu9N2LhwqrWhTNgXIq+85KuWRS7QZlMhSJneFH87UVJfRrhvHuZjiErVU0igmQl23feHnJlB3o4A0fJGHwSfokjUNSmPeGKv7cJtPy1dHCJfe52tKAUIilULF9ygLcIExwm2JR6MzbbrVOpWgsYG0LJPWI2qiuZnGlQKQwOQ38Ff/ygRSCX3u3IoBMgozp37ppZmbWfC4su9hOZR8pqLx1/eWBwvK9uX6mcxdqsp2EpUb+X5E6XGBl7GdPkD6UF2Pqt+urYV8VTelsuws0CwoxtQf5QX5k+vhNcc9/GaV7leFEeo5Be6yJuRtEYUW6hKVIACgVBWLjpzH6Ph/j98Rslq7sQFmuF/UwLf16pgQ7DnLabudhdcQInyyByclSIJsyg8N8sn4dy6l8yrvydpSxmSAIiPLVdNVnxB3SFAvpQ0nwvXCmWf19RQr39meJIiQfFKKntx2R1d0GTmjV1aUj9mATM2HMWJdUSUGRpnszLplU+0FUtyvRuf0cNxz0+Np/KBIvTThYx9J9QeB6LuY+hGhsEAAnIZAXk1v3yv1ZUTWy/PoLUeCO4auBknfnsQK2GaCRBCQBlucFXxzxKxzXh3z8EKzRNYi1aKH5T+UiNl9ODScpIvNksQYBS0RRDXTnyrPupaF9wCeYAgDTuNV0PdHyOVUaUx69sF9aOLkfCF+kpjujkVpVqhHlBcjfCbX8a8cArAR5Oj2X2uE3wYA0oxlEyrNdILcD82PDC52zy/UPChmq4sMAGNXLOWzIGXaFfEktyp5SWArtgcA== 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)(35042699022)(82310400026)(376014)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: stackit.cloud X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2024 15:45:59.6379 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ad84695a-26d5-4697-7557-08dcf442f53a 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: AM3PEPF0000A798.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR10MB5697 Subject: [ovs-dev] [PATCH v1 2/6] netlink-notifier: Support network namespaces. 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: Felix Huettner via dev From: Felix Huettner Reply-To: Felix Huettner Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" extend network namespace support also to the netlink-notifier. This is needed on the OVN side for watching routes. Signed-off-by: Felix Huettner --- lib/netlink-notifier.c | 10 ++++++++-- lib/netlink-notifier.h | 3 ++- lib/netlink-socket.c | 2 +- lib/netlink-socket.h | 1 + lib/route-table.c | 3 ++- lib/rtnetlink.c | 2 +- tests/test-netlink-conntrack.c | 2 +- 7 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/netlink-notifier.c b/lib/netlink-notifier.c index 7ea5a4181..3089f81c6 100644 --- a/lib/netlink-notifier.c +++ b/lib/netlink-notifier.c @@ -38,6 +38,7 @@ struct nln { bool has_run; /* Guard for run and wait functions. */ /* Passed in by nln_create(). */ + char *netns; /* The network namespace. */ int protocol; /* Protocol passed to nl_sock_create(). */ nln_parse_func *parse; /* Message parsing function. */ void *change; /* Change passed to parse. */ @@ -58,12 +59,16 @@ struct nln_notifier { * Incoming messages will be parsed with 'parse' which will be passed 'change' * as an argument. */ struct nln * -nln_create(int protocol, nln_parse_func *parse, void *change) +nln_create(const char *netns, int protocol, nln_parse_func *parse, + void *change) { struct nln *nln; nln = xzalloc(sizeof *nln); nln->notify_sock = NULL; + if (netns) { + nln->netns = xstrdup(netns); + } nln->protocol = protocol; nln->parse = parse; nln->change = change; @@ -84,6 +89,7 @@ nln_destroy(struct nln *nln) if (nln) { ovs_assert(ovs_list_is_empty(&nln->all_notifiers)); nl_sock_destroy(nln->notify_sock); + free(nln->netns); free(nln); } } @@ -106,7 +112,7 @@ nln_notifier_create(struct nln *nln, int multicast_group, nln_notify_func *cb, if (!nln->notify_sock) { struct nl_sock *sock; - error = nl_sock_create(nln->protocol, &sock); + error = nl_sock_ns_create(nln->netns, nln->protocol, &sock); if (error) { VLOG_WARN("could not create netlink socket: %s", ovs_strerror(error)); diff --git a/lib/netlink-notifier.h b/lib/netlink-notifier.h index dd0c183de..913883bab 100644 --- a/lib/netlink-notifier.h +++ b/lib/netlink-notifier.h @@ -41,7 +41,8 @@ typedef void nln_notify_func(const void *change, void *aux); */ typedef int nln_parse_func(struct ofpbuf *buf, void *change); -struct nln *nln_create(int protocol, nln_parse_func *, void *change); +struct nln *nln_create(const char *netns, int protocol, + nln_parse_func *, void *change); void nln_destroy(struct nln *); struct nln_notifier *nln_notifier_create(struct nln *, int multicast_group, nln_notify_func *, void *aux); diff --git a/lib/netlink-socket.c b/lib/netlink-socket.c index 801b4badd..f08473f40 100644 --- a/lib/netlink-socket.c +++ b/lib/netlink-socket.c @@ -1742,7 +1742,7 @@ static struct ovs_mutex pool_mutex = OVS_MUTEX_INITIALIZER; static struct shash pools OVS_GUARDED_BY(pool_mutex) = SHASH_INITIALIZER(&pools); -static int +int nl_sock_ns_create(const char *netns, int protocol, struct nl_sock **sockp) { int ret, ns_fd, ns_default_fd, err; if (netns) { diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h index e4d645a62..7e5be14ef 100644 --- a/lib/netlink-socket.h +++ b/lib/netlink-socket.h @@ -255,6 +255,7 @@ int nl_transact(const char *netns, int protocol, const struct ofpbuf *request, struct ofpbuf **replyp); void nl_transact_multiple(const char *netns, int protocol, struct nl_transaction **, size_t n); +int nl_sock_ns_create(const char *netns, int protocol, struct nl_sock **sockp); /* Table dumping. */ #define NL_DUMP_BUFSIZE 4096 diff --git a/lib/route-table.c b/lib/route-table.c index d5d98585e..de573634d 100644 --- a/lib/route-table.c +++ b/lib/route-table.c @@ -110,7 +110,8 @@ route_table_init(void) ovs_assert(!route6_notifier); ovs_router_init(); - nln = nln_create(NETLINK_ROUTE, route_table_parse, &rtmsg); + nln = nln_create(NULL, NETLINK_ROUTE, + route_table_parse, &rtmsg); route_notifier = nln_notifier_create(nln, RTNLGRP_IPV4_ROUTE, diff --git a/lib/rtnetlink.c b/lib/rtnetlink.c index 37078d00e..9c8d4df8a 100644 --- a/lib/rtnetlink.c +++ b/lib/rtnetlink.c @@ -210,7 +210,7 @@ struct nln_notifier * rtnetlink_notifier_create(rtnetlink_notify_func *cb, void *aux) { if (!nln) { - nln = nln_create(NETLINK_ROUTE, rtnetlink_parse_cb, &rtn_change); + nln = nln_create(NULL, NETLINK_ROUTE, rtnetlink_parse_cb, &rtn_change); } return nln_notifier_create(nln, RTNLGRP_LINK, (nln_notify_func *) cb, aux); diff --git a/tests/test-netlink-conntrack.c b/tests/test-netlink-conntrack.c index 2a62615b2..2f8962a02 100644 --- a/tests/test-netlink-conntrack.c +++ b/tests/test-netlink-conntrack.c @@ -80,7 +80,7 @@ test_nl_ct_monitor(struct ovs_cmdl_context *ctx OVS_UNUSED) unsigned i; - nln = nln_create(NETLINK_NETFILTER, event_parse, &change); + nln = nln_create(NULL, NETLINK_NETFILTER, event_parse, &change); for (i = 0; i < ARRAY_SIZE(groups); i++) { notifiers[i] = nln_notifier_create(nln, groups[i], event_print, NULL);