From patchwork Mon Mar 20 08:04:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 1758865 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org 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=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=mail.schwarz header.i=@mail.schwarz header.a=rsa-sha256 header.s=selector1 header.b=uWXMG6js; dkim-atps=neutral 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 (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Pg6hJ36srz1yWp for ; Mon, 20 Mar 2023 19:04:16 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id A9F0960B5A; Mon, 20 Mar 2023 08:04:14 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org A9F0960B5A Authentication-Results: smtp3.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=mail.schwarz header.i=@mail.schwarz header.a=rsa-sha256 header.s=selector1 header.b=uWXMG6js X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rHs5hOuVqjeA; Mon, 20 Mar 2023 08:04:13 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTPS id 7ACCC60B38; Mon, 20 Mar 2023 08:04:12 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 7ACCC60B38 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2E3E6C0035; Mon, 20 Mar 2023 08:04:12 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id B3B12C0032 for ; Mon, 20 Mar 2023 08:04:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 734F781377 for ; Mon, 20 Mar 2023 08:04:10 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 734F781377 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=mail.schwarz header.i=@mail.schwarz header.a=rsa-sha256 header.s=selector1 header.b=uWXMG6js X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4OfM9b-tR7Sr for ; Mon, 20 Mar 2023 08:04:09 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org CAEB68138C Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2071d.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::71d]) by smtp1.osuosl.org (Postfix) with ESMTPS id CAEB68138C for ; Mon, 20 Mar 2023 08:04:08 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lLnhuAiPkNnBStdSITLy/+LSTxHgxM2Tp/D0DMZoYEOcGoe1C1YF3R0II7NP6GXL4CHPmu34ipQXPFHZiucVprNmk96LrYObezBeQtuvw9xTOg9Sy7Kiyc9+RHnIbwz7XorByl2QwbvQ/ikQOz+Boo2uuneZyjJ2YlYI951eJvnYSOrCO2kgLGwA7rBzsRszdsi/uudpqobNm2vA8MnUlIHvRtxBbQuo/uyN1didpLEoHzYAii9x0In3bajC1YATtSeP3H67rZ8UtTD1BCojB4EVJTTBt+vSttS1aNrC9wL87P/DDoaYtZZ7oeyqUm0/qzKdOifIfURp/hfVyYoB1w== 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=/bExVxy6UlqIiY0XbGcXrqyO3/h8dikv9VDpa7m3hik=; b=gMOhWkzT0CdZk8hiG8b2xQxhqqKsnnDIh+UYYlT/ec1wPzFd8x1EkLtbSc+gx/m076haT9Rwu1V+ok7177OvxASp98tkkk+cMU58EDde3jqFnjY3Nlo75fWzitFyJ1po1AIm+BSVse3JJRAoOFUs5/8NtQttfT51PaKRk2G3/kCslNmixCxuFDhrUtjrZgf++O+zeeDN7+os+QEKzizq8YPttP8cnbHgyybeMc4A3Av8EPoiHvZx1YhfJfkHTp2w7RorFE4ZdOyZlVOigtOZ2wokugeLgKmd2mTWvkrZoDpIwGjbq8hvGDsg7bYm3NNLgzZrKzk7K/ai1sHpql2ZgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mail.schwarz; dmarc=pass action=none header.from=mail.schwarz; dkim=pass header.d=mail.schwarz; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.schwarz; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/bExVxy6UlqIiY0XbGcXrqyO3/h8dikv9VDpa7m3hik=; b=uWXMG6jsCeX/0NkC2vt0wrW7CYE+B11pdXXOy2Fx7I1LTd9+NC8jKMIU1HH2hXN3LbECkBHNJ/C7/D8bqa8K4FvcZ3kRno75Gc7NsyLoVTOzrnUB5fLrHq3HvRu2bIMQq2c7pGrzcpu8kFNN+hk7olOEyyJSDitXVSPAtvEKj2LR59TnQcbFbj5IRfoCd1M+MLHbDE5CfTjBcB5DokHHSYG0y5mN91mt3Y23tOlEofvWKg31zwOTKkQcpAsjcxJKSpCPWNuPB4GXFk5shE07mpKA4dlMZWj9kHiJQoJ1S82Orv+zk4qN0WcDS5WDDv2CbYZyz9uS3AZtx9FmqN3xkw== Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34c::22) by PA4PR10MB5516.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:271::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.10; Mon, 20 Mar 2023 08:04:05 +0000 Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM ([fe80::5eaa:450a:b695:ad4a]) by DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM ([fe80::5eaa:450a:b695:ad4a%3]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023 08:04:05 +0000 To: "dev@openvswitch.org" Thread-Topic: [PATCH ovn v2] northd: add router broadcast option to logical switch Thread-Index: AdlbAoO2V557/neCSyeVG5Zs2yi50w== Date: Mon, 20 Mar 2023 08:04:05 +0000 Message-ID: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mail.schwarz; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DU0PR10MB5244:EE_|PA4PR10MB5516:EE_ x-ms-office365-filtering-correlation-id: b97d8975-cb21-4095-2569-08db2919acf4 x-mp-schwarz-dsgvo2: 1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nKSlshosDweAVo6auUdYexNulIi2xbDPjY71jjQuCn/PVLlZTBgTjSw/oyeASBfsgG4EAOLpMa1edfRNZ3jXuWjT3BQwskmo2oRpVXF2Kb3fjh/HN2lJ3lhK+bIgrZPp4ytfUrk7BnylLD0cOe4C9PDegEEVcdaUN2Ode/gnFLuXCgdZ548faKsbGKuCRF36vfLMkKQsHfy/sGnJP1kOCamtLlJ8aZaad7A7icO82rRE+/RlV+pquYn2ulv3gG6DKJo0nopeJbnAq4dLTpOiuhYCAqjkHm1V4u4lwZ3jYlTK4MNlQCWUSI8W2VmtxhmNePCbX/zlS6+GkmJhAvraPVXcIVtTKcwbCBN/xrMfwM4Vs8mmj9g+HUCJucaPzBB7tZ1CVhOQqJoZ7o+XxrOk5ugon84AqlvxbojcA3ZVXuEmaTiYKlfJoC+eEPHemFP56BK/M0IkXsN9y4KFZtRpRkl0toFShlBL+07r5vpqjuEwE/n7AZq0RjUMJ/Y6vROxCmENWyVenBpNg/XpDBw1Jgzm7pQq1OCVdCRQdN4JgqKrfNq7pt6rhT2xhvFn4JipQK7LuhFZG7ZZwaautYJV3WEehbMlEdZSugw8zkb3+7ENJ0bPgOWB2JjYK1ZJS7xkz7kHaYxghWDx8SHuWWGpERdg2V0pwalu+H9LQmwteSQbfy8Z40aXbf7BcwNnIytEnCcsizcOIj3ptM15ZG8vCmq/Nsyfyo81YbQ+7kTNX6s= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230025)(4636009)(136003)(366004)(346002)(39860400002)(376002)(396003)(451199018)(52536014)(41300700001)(8936002)(5660300002)(82960400001)(33656002)(38070700005)(86362001)(2906002)(122000001)(38100700002)(478600001)(7696005)(71200400001)(66446008)(76116006)(8676002)(64756008)(6916009)(66476007)(66556008)(66946007)(9686003)(55016003)(66574015)(316002)(186003)(6506007)(83380400001)(46492015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?hxJv1cHuOBx+5HeEFvsKpOD?= =?iso-8859-1?q?kj4+EQNVubUJgTGxr1WCC2fgMIERK70gyTSUShe29k0CwRoq0LmcbjY6p+cO?= =?iso-8859-1?q?anc2aqVax/DWEkifHpCrvE436snyYgYEF7GW+ANZP/GvyEp+SYj/fI3YySO7?= =?iso-8859-1?q?NVuoSBBQNvVeIjyzbcVzI3XiimdyfwX48JhRm7eZwLDAlRBsiOr5p3bwP+af?= =?iso-8859-1?q?Bn7c/80Y7Cfg1LXQB7erOKXSrzWyh+miQ3l8NtpeXnM3GNk6TQm0z/EFheae?= =?iso-8859-1?q?ebFA5a5F/nchkFw+Ia/1G+C9SwiUzBn4Vw5xf6iB/btLVslYgf7ryogF3zRq?= =?iso-8859-1?q?teW5XgcqPOGCcbsosC/hSM908b+E6n0bZFTeX/S7hXqUZJs4FyBNm9VNyJkk?= =?iso-8859-1?q?u6p2i+TewjOBwXZ7uvNausK8MrwaRkFcVDYALo/fyZDkl1Owrz2NGbHnq980?= =?iso-8859-1?q?3l0B7hbmXOetZHwHsnzEaKQAcgZLUyR771tMuQd/ba1h1iXSyf7Y6ggllJl2?= =?iso-8859-1?q?dh5o/ppzVKmREF/+ME/ETZ2x8syfv6K0XVPnmQGn1TKgy9ojQ7E9lbWSA9Dk?= =?iso-8859-1?q?vdec5pn0OhlvB9GWHze18G6YIfSx8U1TMnmbIe8nMw6cp601FFo+OZzXo9Vn?= =?iso-8859-1?q?qnp0o8dp2RD1KoRCo6/fM5GJLeuniiY2xJCEGM5yT4F6T/G0Ccyk1TGrDKOO?= =?iso-8859-1?q?EJj2aPCkdQbpblPHVaFAA758BG0KQ+D04aTuG0J7GqWAWpA0nAGXCk9MsTiO?= =?iso-8859-1?q?h+XlAGbxzR3OmXNzLGerWGK5I0iOD+BzAh16cmuxOPT/99e7KEt7JN5XwaZE?= =?iso-8859-1?q?Psn7qljNXfBQlS1e9W6xJTbHvAkTfayDbxfQUoEtvbE01njnCll9zvcNPdkr?= =?iso-8859-1?q?RwNa3sl2UmZiCLgkKe1EA2uikLwzpbClzQRib20qgpjreBZ0u2D04VF3tZjX?= =?iso-8859-1?q?dGt1+3Nr/44uknzWBQhFY5z8fH+MsIGyV2UErcdta8ddYGbpPr+mSFPKwZQR?= =?iso-8859-1?q?kKDbJmY6vUKKsKnb8qoeVopyur43ridGhmI8Lf6P9/sNjpyQQElWuzde8yjr?= =?iso-8859-1?q?4eZNE5kd3/QtOxpu0V/VqtKf3w6mG0rdb1BV4rt0kPuZXXyamWktqagFl/OH?= =?iso-8859-1?q?xs7qek0SEOCmk4kqwjp5Lr3lPuJkNAUPRceH/kmD3vGcFDe44RTv7lxyEPVz?= =?iso-8859-1?q?XcJRUTZn/R6TJInY54Ulrl/UqXJ2GDf1SVlDItY9gX43t2E2JL8EN9/Zyggt?= =?iso-8859-1?q?OeYUNkJXSGpOkqVKf2viRpA4WN1qNxKlGJ5ZbMpESCI1ow1EMjO914h1pwBh?= =?iso-8859-1?q?JoeTp/DPhdO1//cYVYOOUmQEW7+oXD1DgLINF0F3yejFLj5N11yNZDNH1sIh?= =?iso-8859-1?q?zIh190YjkcQaV8XHVrEtzFoArC24Tnk4PLy8uQM+2eQY6GQacsUr6jpOW7vr?= =?iso-8859-1?q?fpQgt0MMXhei+zB0keCGomCsJhMTdei4ENRTU+em4LWpCNtRvx/vVCoXXzPD?= =?iso-8859-1?q?HghNEdLr0nbaqUUnZSH/dLz/j4CnyGumuVwAukOnZyQrZGihgoRyrsWYLu9A?= =?iso-8859-1?q?F6jaB1lqadAbJgfRkaydDZY8mbSLbp0QCnnUgiSjoGx0+CPFpsgc7p2ACnQA?= =?iso-8859-1?q?YMWqYtt6j42bV+Vd7pMk9AKVemW9htMr7nmoKFIs+zHP5phpP/J4Z5EGIjQE?= =?iso-8859-1?q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: mail.schwarz X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b97d8975-cb21-4095-2569-08db2919acf4 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2023 08:04:05.5191 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d04f4717-5a6e-4b98-b3f9-6918e0385f4c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zdbfmejRNheZCVdCqhH9fSC7RPDkyziIh+vkaBQux7Svp+6lOWI/4Ui0bthBGDYLdR2f+may4DfHmd6vpJ9CTYJbGJHT6CA7qAqDBMp7oPc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR10MB5516 Subject: [ovs-dev] [PATCH ovn v2] northd: add router broadcast option to logical switch X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?iso-8859-1?q?Felix_H=FCttner?= via dev From: Felix Huettner Reply-To: =?iso-8859-1?q?Felix_H=FCttner?= Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Assume the following setup: +----------------+ | Logical Router | | lr001 +-+ +----------------+ | | +----------------+ | | Logical Router | | +----------------+ +------------------+ | lr002 +-+-+ Logical Switch +-+ Phyiscal Network | +----------------+ | | ls-ext | | | | +----------------+ +------------------+ ... | | +----------------+ | | Logical Router | | | lr300 +-+ +----------------+ If a arp request for the ip of lr001 on ls-ext is now received it is only forwarded to that individual logical router. If we however now receive a arp request for an ip not used by any of lr001-lr300 we try to flood the arp request to all logical ports on ls-ext. With around 300 routers this causes the arp request to be dropped after some routers as we hit the 4096 resubmit limit. In the most cases forwarding the arp requests to the logical routers is pointless as we already know all of their ip addresses and they will therefor not be able to answer the arp requests anyway. Only if someone sends garps this is not the case. Then the request would need to be flooded to all logical routers. We can therefor not generally send these arp requests to MC_FLOOD_L2 as this would break garps. As we can also not detect garps we need to leave the solution to our users. To do this we introduce the other_config `broadcast-arps-to-all-routers` on logical switches (which is per default true). If set to false we add a logical flow that forwards arp requests where we do not know a specific target logical switch port to MC_FLOOD_L2, thereby bypassing all logical routers. Signed-off-by: Felix Huettner Acked-by: Ales Musil --- NEWS | 5 +++++ northd/northd.c | 8 ++++++++ northd/ovn-northd.8.xml | 7 +++++++ ovn-nb.xml | 12 ++++++++++++ tests/ovn-northd.at | 31 +++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+) -- 2.39.2 Diese E Mail enthält möglicherweise vertrauliche Inhalte und ist nur für die Verwertung durch den vorgesehenen Empfänger bestimmt. Sollten Sie nicht der vorgesehene Empfänger sein, setzen Sie den Absender bitte unverzüglich in Kenntnis und löschen diese E Mail. Hinweise zum Datenschutz finden Sie hier. diff --git a/NEWS b/NEWS index 637adcff3..2379f5089 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,11 @@ Post v23.03.0 ------------- - Enhance LSP.options:arp_proxy to support IPv6, configurable MAC addresses and CIDRs. + - Add LS.other_config:broadcast-arps-to-all-routers. If false then arp + requests are only send to Logical Routers on that Logical Switch if the + target mac address matches. Arp requests matching no Logical Router will + only be forwarded to non-router ports. Default is true which keeps the + existing behaviour of flooding these arp requests to all attached Ports. OVN v23.03.0 - 03 Mar 2023 -------------------------- diff --git a/northd/northd.c b/northd/northd.c index 5f0b436c2..be6d70d94 100644 --- a/northd/northd.c +++ b/northd/northd.c @@ -9030,6 +9030,14 @@ build_lswitch_destination_lookup_bmcast(struct ovn_datapath *od, } } + + if (!smap_get_bool(&od->nbs->other_config, + "broadcast-arps-to-all-routers", true)) { + ovn_lflow_add(lflows, od, S_SWITCH_IN_L2_LKUP, 72, + "eth.mcast && (arp.op == 1 || nd_ns)", + "outport = \""MC_FLOOD_L2"\"; output;"); + } + ovn_lflow_add(lflows, od, S_SWITCH_IN_L2_LKUP, 70, "eth.mcast", "outport = \""MC_FLOOD"\"; output;"); } diff --git a/northd/ovn-northd.8.xml b/northd/ovn-northd.8.xml index 5d513e65a..3d5f579fe 100644 --- a/northd/ovn-northd.8.xml +++ b/northd/ovn-northd.8.xml @@ -1880,6 +1880,13 @@ output; non-router logical ports. +
  • + A priority-72 flow that outputs all ARP requests and ND packets with + an Ethernet broadcast or multicast eth.dst to the + MC_FLOOD_L2 multicast group if + other_config:broadcast-arps-to-all-routers=true. +
  • +
  • A priority-70 flow that outputs all packets with an Ethernet broadcast or multicast eth.dst to the MC_FLOOD diff --git a/ovn-nb.xml b/ovn-nb.xml index 73f707aa0..d106af8be 100644 --- a/ovn-nb.xml +++ b/ovn-nb.xml @@ -729,6 +729,18 @@ localnet ports, fabric traffic that belongs to other tagged networks may be passed through such a port. + + + Determines whether arp requests and ipv6 neighbor solicitations should + be send to all routers and other switchports (default) or if it should + only be send to switchports where the ip/mac address is unknown. + Setting this to false can significantly reduce the load if the logical + switch can receive arp requests for ips it does not know about. + However setting this to false also means that garps are no longer + forwarded to all routers and therefor the mac bindings of the routers + are no longer updated. + diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at index ef29233db..4bf59f4af 100644 --- a/tests/ovn-northd.at +++ b/tests/ovn-northd.at @@ -6421,6 +6421,37 @@ AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses |grep -q 172.16.1.10], AT_CLEANUP ]) +OVN_FOR_EACH_NORTHD_NO_HV([ +AT_SETUP([check broadcast-arps-to-all-routers option]) +ovn_start + +ovn-nbctl lr-add R1 +ovn-nbctl set logical_router R1 options:chassis=hv1 +ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 + +ovn-nbctl ls-add S1 +ovn-nbctl lsp-add S1 S1-R1 +ovn-nbctl lsp-set-type S1-R1 router +ovn-nbctl lsp-set-addresses S1-R1 "02:ac:10:01:00:01 172.16.1.1" +ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" +ovn-nbctl lsp-add S1 S1-VIF +ovn-nbctl lsp-set-addresses S1-VIF "02:ac:10:01:00:02 unkown" + +AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q 'match=(eth.mcast && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;)'], [1]) + +ovn-nbctl --wait=sb set Logical_Switch S1 \ + other_config:broadcast-arps-to-all-routers=false + +AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q 'match=(eth.mcast && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;)'], [0]) + +ovn-nbctl --wait=sb set Logical_Switch S1 \ + other_config:broadcast-arps-to-all-routers=true + +AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q 'match=(eth.mcast && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;)'], [1]) + +AT_CLEANUP +]) + OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL log replies -- flows])