From patchwork Thu Nov 3 09:46:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 1698804 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::133; helo=smtp2.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=oLfZZ/9q; dkim-atps=neutral Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (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 4N2zRD4J2Dz23lV for ; Thu, 3 Nov 2022 20:46:16 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 701DF40190; Thu, 3 Nov 2022 09:46:14 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 701DF40190 Authentication-Results: smtp2.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=oLfZZ/9q X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eCwRsD_mkpA6; Thu, 3 Nov 2022 09:46:12 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp2.osuosl.org (Postfix) with ESMTPS id 4220E40B80; Thu, 3 Nov 2022 09:46:11 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 4220E40B80 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id A6964C007B; Thu, 3 Nov 2022 09:46:09 +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 724E2C007F for ; Thu, 3 Nov 2022 09:46:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 4008181EEC for ; Thu, 3 Nov 2022 09:46:08 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 4008181EEC 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=oLfZZ/9q 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 GudTasPIlTy9 for ; Thu, 3 Nov 2022 09:46:06 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org B05EC81E5F Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2096.outbound.protection.outlook.com [40.107.103.96]) by smtp1.osuosl.org (Postfix) with ESMTPS id B05EC81E5F for ; Thu, 3 Nov 2022 09:46:05 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WM8XYB7Ysg8nKR608uA7APZYfJjMo5Ey//NyUrAzvU2YIDQmxmx4827cnwrNgC/RS+DaoAqMII9yCR8WBqr6UM+RLO6VJc9kmEN9dEaBr2u6k/NPiIHnB3TMylDuspRsm9nRurLQ3RmLwlyaO+CMdDO5uUtmCx8htCjbG63OO1rRatXUHjnwp0nBHhDJgAB48tupkABRJnO8Sotu8fQxIIvTIP/fk7T28fSVHrO1uXvkTHn36cqmIsavQFra+4uluwB5XZKgGnT5QpU0FlIde+GA9pE26t3usomMc5DeaNh6GwrNZBb4ChWJ2FLg8IhwZZcxDxTvGSgwtR7e9wLAYA== 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=oCrOEXWZ4oIpO2wMV/0sBdbwpeY0p6SmbTcgdx8Ax7U=; b=ki85omM6zINrPKuOUwlh1/NuHVS0S/Wrk6He7BVV9WlvPvSr+qVwb/LMIwC/NJt+33Uqf5/zpbO1+o+Un1ZXOljQcGGCm+avG2pLlDQbmsNKE+8fywTQm0+ntvXjUJakSTDfTkry02RDjkTBuXFAa52FtC9UPiUi5lRdwTNEbqpN+aBfPzmySt0+PtskXuSpZZuX1//F2/x3U3aXzU3XmvK3rmFnNrejvv49IJAEXTJIWT/hpP2qUyu6MNufduXFsHG8IPSxWMHfj0zMEVCd7+JJ2Lh0vMEUNwETgZwq8Xk2Sh7Y+p6Bi52/Gx3Kk9UJ/416NnLAW/cuIFD8UePhaA== 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=oCrOEXWZ4oIpO2wMV/0sBdbwpeY0p6SmbTcgdx8Ax7U=; b=oLfZZ/9q7EVwEYVcmZVokbR6Ut99aozkgZCG1zLMrIqfVEi21SqqWqaiiSkCgyS8Q4gvT9TxdkIIDiBXh72QUlm4tPH3Zyex4jw42TharTeeVFEitguNZ04BgGUecLuVU+xMVKRqzEZkUCe6N1rRV6S32z7jPEH5VrOw9egoZU0/GwNSnvj08wMSXwYxtjtBj5uJnAlTUT9exFp58uixGpkgcugfZjS0+gjtn6uQap3uXz/UV4qyyKXktrOYN9zCvJxFWYnm8ky8D/JqRZmz5GIxlnadxDpk/jRU5hKKLQV/i6odKkJ6lfVfVnLC+AN9HqHemYWtsMzMB8gMaEMKzg== Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34c::22) by PA4PR10MB5609.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:262::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Thu, 3 Nov 2022 09:46:01 +0000 Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM ([fe80::3e48:25c6:651f:2a9b]) by DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM ([fe80::3e48:25c6:651f:2a9b%6]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 09:46:01 +0000 To: "dev@openvswitch.org" Thread-Topic: [PATCH ovn v2 4/4] pinctrl: Send RARPs for external ipv6 interfaces Thread-Index: AdjvaRPBUvlSbi+0TeKr/gtqdVNlXQ== Date: Thu, 3 Nov 2022 09:46:00 +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_|PA4PR10MB5609:EE_ x-ms-office365-filtering-correlation-id: ee53d3a9-03c7-4255-b240-08dabd80377f 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: Z3KRdN5QZCC8/jfEh2Gpk/+vaJwgVje1VCGIXD+YffpdVMXKx6dTwugEGCS1n5UOPZhnqigShDhi6gE7M22FnTc5QfhyJaRGy89sHOC9quInEfRwgGwH8lDQdvuLBsRKxEmqedv5LX73FLXjFkkVtYRaTc86Za4SKEcwq40q3xoAp5RxvX2u+kb1Lp/YKObO2dSqfz3n8o0vOlqTYKlu/O4Cse6UUtszm6pkkDz4Es/SCV6VFoyioGoG88cLa0JOFcA+Zc6E8bnX9TcHCmOFlaj5mACrDhkfTCqnOAJcFx1WZbM1arC1YNLKoWS0/xlqnGbUfC/o2dWG1oOkqbkRXd2vx+7KfsIuJJ96Tac+vQpskt078DXm6jxppNcieTChPIdhWQaUSbOgbj4Kv8IyDXMxIyA6wgfFgQD+Z03RFhQmi2uoLHVwwDKmJvyrxHp7dU1rR0f8t55Nonq5mDRq/117saiuh77tbbbtsy1GXMl5oI7mClAZlOik6f9p+l9xQPLhv/w/xnATNjMMmpBqpWADIAaL3J8FgMkLq+l/l//QftBU53iAcoUB0x/JDuKLTr69o1+VN0RUD6wwKdQ48+gXVXHkaZ0IAsau+VAmA8UXJjJVZ3N3X/BN4T6LtHVCXiyBjFvgOb91Rf9XnZyLhz3yrgMpzCchJDe0+QqsnRvZcg8QZvpCB0Mc1shY72PGgcs0HCHzVenW/GxOhpZJQGLlUBGR0vsNNRf5dbWOnpIB0XyiJ0+StPFQC35GJFuavnc/OfzbU5nxVfZrQana/qwxwiR6TYdX7vfWstdYJdc= 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:(13230022)(4636009)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199015)(186003)(5660300002)(83380400001)(2906002)(66574015)(86362001)(38070700005)(71200400001)(7696005)(38100700002)(122000001)(9686003)(76116006)(33656002)(82960400001)(52536014)(316002)(41300700001)(66446008)(66556008)(8676002)(8936002)(66476007)(478600001)(66946007)(64756008)(26005)(6506007)(6916009)(55016003)(46492015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?yh0j4lyxDB4M5BF5256vrEJ?= =?iso-8859-1?q?HqlG4dwSS1MVnWJDjM5iPXENZSMfZVKRC431Tz1b4+fo6ajFdKrLi/yLC5jW?= =?iso-8859-1?q?qvh5z3DQ4Ol7SGa8QZHElR4Ru6PlOURQ/g9dI6tSitEJGAvwWlBK6+u4e1jJ?= =?iso-8859-1?q?SeCHElg4/bf77l/U311T/YLH23mwscXgYnGu0M68sP9Ripg98qp7B1gE8quc?= =?iso-8859-1?q?oUbWjVgOT6sQXPBrgnh4aWXnB0L2Kx8HMU7OhXsX66miA7aQnFYog9k4mcm4?= =?iso-8859-1?q?QeeVEer8cBg8g6w4aRPGlNgkM/r+MHyRn9/oiQmQ8mbdQw8zsXRQzd7v4Gso?= =?iso-8859-1?q?rr+gpEITszw16RW8YeU4eNo8C4GF6kePXzTi5XKCTuo9EhX0YtAnKrKcGHVD?= =?iso-8859-1?q?wkCbrs/4sw71vyYUmfDcBQPpsmx/Dr635LPMYru/lXy4mjHsiW+6U205AACj?= =?iso-8859-1?q?qFZUY1NMyy/5WASYF++jOUHhV5mKdvLwfHm26+CUmXSeNdrG6qdoQX/dvjBo?= =?iso-8859-1?q?wvCpbTAYLHYcBhgbOcG1R6Kwi4pNvpqR1E9MphexrSYMZdc5vs2HJbMsbmHs?= =?iso-8859-1?q?9i6w0KVo4dwGypgSs+u9U3hWdJA0l5rooFedInx+CCXcXZPo2i0fmKpFUWKd?= =?iso-8859-1?q?QKPBjQKX3kJ9wgrRjgy3Xk0nsLfi+sKNJNx8z3NU52OVAj/agn3dqHuA3U6H?= =?iso-8859-1?q?k06SUp5bfGMsXALWAv1TtnDn5hhD6fkpfjUteaZxuhW8Sd0OYwYCZ5j3Zmgd?= =?iso-8859-1?q?IUr1HGS+Cevv7J66zZbx1Z7dfAaQKr9yCYCAnVluldST7uJk4x9NrFBBtx4H?= =?iso-8859-1?q?IUAPNBJ40yIzl2yW29QN6mvU6mlBWKohI4boy/s0gXr2mO5/o5s/L3xspQ62?= =?iso-8859-1?q?cWvrGy2s0Pniq2GVoD6OyfLWD9dq2CtnVANeWRnlye38Rk6sVkF5gCYqqfxr?= =?iso-8859-1?q?Ilae0SOVp2SM4eifH+JKOVhx0N3e//q8JccT/b0nWF1gjyZm/qFDouDu1rN3?= =?iso-8859-1?q?6w1AMVA+ImkdZvyLlkR+qd+/9KAldBW/cP/oqKDbRApJ0rlUInZ/BKfh57hK?= =?iso-8859-1?q?cRzpDIp4jGRrlKfEd14ZRWNj9jRBDkWpd5vl81d9ijxfNNuZi4YUYgaFzEdL?= =?iso-8859-1?q?72YB3jTUOBeh/T74iQOrYuplHvGT9jT0HJgNUSMkA8yGfw4r9HppuMBl/s+V?= =?iso-8859-1?q?FCZf269CITBC7DndCGzWu5YF2qveGez/BHHCl4RvcFtrlwHVxpZKcumUuTYQ?= =?iso-8859-1?q?fB1kG6MaVTxtNdMP+PEXRJHhWIA5U184UA8K/ml56rWNo4fKGOZfDnBUqmRj?= =?iso-8859-1?q?kS3he449bLLRrrrYhRl8+RKMK8X8Gd9dLHwRhoNcrRqbvpO1xWjbSu8E9dAa?= =?iso-8859-1?q?84P8c92RTLXTpy5Xmvw2+8Ix175HIHhGcjg0JV9nPn/NTKxIdjB0ilCZjr7b?= =?iso-8859-1?q?0kxpzyw+DhEKtJPFjkto6izVLS9of+lIl7xKY1XMo0rst8qlxuxpfo1s8MgT?= =?iso-8859-1?q?7b13Z2kzNkn6wUsbMi2rS+DZpPjLOF57/epYJyV//p9SUbqKnRM/QHEAQ6Fv?= =?iso-8859-1?q?Hco7mDgzmnHz2HEmEjnPY2cDZyWukU7Ckg37ksmUl3WLVkcVxqCK5yIeh06G?= =?iso-8859-1?q?2JWhYAndRH9EKmFCDt85fXxt1whjx9f2Tre6BwQ=3D=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: ee53d3a9-03c7-4255-b240-08dabd80377f X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2022 09:46:01.0300 (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: ONrsf+WQtRkgYxlla5q+q8NHSGw6FDxqUxebnCKylTUu4v1ZO7YCXDd0UyKXVF62MIcrgmUZ8KtlIOBTiha3NRtm/UPt2Q5oJohdmbTwkKU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR10MB5609 Subject: [ovs-dev] [PATCH ovn v2 4/4] pinctrl: Send RARPs for external ipv6 interfaces 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" previously garps/rarps were only sent for NAT IPs if these had an ipv4 address attached. For lsp's on gateway routers that do not have an ipv4 address assigned (e.g. if they are ipv6 only) no rarps where send out. This causes traffic outages when changing the priority of a gateway chassis as the physical switches to not get the information where the mac address now resides. To fix this, we send out rarps with just the mac address of the interface and no ip address. This change has been tested in an environment with 600 logical routers on a single ipv6 external network. Acked-by: Numan Siddique Signed-off-by: Felix Huettner --- controller/pinctrl.c | 23 +++++++++++++ tests/ovn.at | 80 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 99 insertions(+), 4 deletions(-) -- 2.38.1 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/controller/pinctrl.c b/controller/pinctrl.c index 8859cb080..767fa02d8 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -4512,6 +4512,24 @@ send_garp_rarp_update(struct ovsdb_idl_txn *ovnsb_idl_txn, } free(name); } + /* + * Send RARPs even if we do not have a ipv4 address as it e.g. + * happens on ipv6 only ports. + */ + if (laddrs->n_ipv4_addrs == 0) { + char *name = xasprintf("%s-noip", + binding_rec->logical_port); + garp_rarp = shash_find_data(&send_garp_rarp_data, name); + if (garp_rarp) { + garp_rarp->dp_key = binding_rec->datapath->tunnel_key; + garp_rarp->port_key = binding_rec->tunnel_key; + } else { + add_garp_rarp(name, laddrs->ea, + 0, binding_rec->datapath->tunnel_key, + binding_rec->tunnel_key); + } + free(name); + } destroy_lport_addresses(laddrs); free(laddrs); } @@ -5824,6 +5842,11 @@ consider_nat_address(struct ovsdb_idl_index *sbrec_port_binding_by_name, sset_add(nat_address_keys, name); free(name); } + if (laddrs->n_ipv4_addrs == 0) { + char *name = xasprintf("%s-noip", pb->logical_port); + sset_add(nat_address_keys, name); + free(name); + } shash_add(nat_addresses, pb->logical_port, laddrs); } diff --git a/tests/ovn.at b/tests/ovn.at index 3d54c9153..6b08ef124 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -9017,6 +9017,76 @@ OVN_CLEANUP([hv1]) AT_CLEANUP ]) +OVN_FOR_EACH_NORTHD([ +AT_SETUP([send reverse arp for router without ipv4 address]) +ovn_start +# Create logical switch +ovn-nbctl ls-add ls0 +# Create gateway router +ovn-nbctl create Logical_Router name=lr0 options:chassis=hv1 +# Add router port to gateway router +ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 fd12:3456:789a:1::1/64 +ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ + type=router options:router-port=lrp0 addresses='"f0:00:00:00:00:01"' +# Add nat-address option +ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" + +net_add n1 +sim_add hv1 +as hv1 +ovs-vsctl \ + -- add-br br-phys \ + -- add-br br-eth0 + +ovn_attach n1 br-phys fd12:3456:789a:1::1 64 6 + +AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=physnet1:br-eth0]) +AT_CHECK([ovs-vsctl add-port br-eth0 snoopvif -- set Interface snoopvif options:tx_pcap=hv1/snoopvif-tx.pcap options:rxq_pcap=hv1/snoopvif-rx.pcap]) + +# Create a localnet port. +AT_CHECK([ovn-nbctl lsp-add ls0 ln_port]) +AT_CHECK([ovn-nbctl lsp-set-addresses ln_port unknown]) +AT_CHECK([ovn-nbctl lsp-set-type ln_port localnet]) +AT_CHECK([ovn-nbctl lsp-set-options ln_port network_name=physnet1]) + +# Wait until the patch ports are created to connect br-int to br-eth0 +OVS_WAIT_UNTIL([test 1 = `ovs-vsctl show | \ +grep "Port patch-br-int-to-ln_port" | wc -l`]) + +ovn-sbctl list port_binding lrp0-rp +echo "*****" +ovn-nbctl list logical_switch_port lrp0-rp +ovn-nbctl list logical_router_port lrp0 +ovn-nbctl show +# Wait for packet to be received. +OVS_WAIT_UNTIL([test `wc -c < "hv1/snoopvif-tx.pcap"` -ge 50]) +$PYTHON "$ovs_srcdir/utilities/ovs-pcap.in" hv1/snoopvif-tx.pcap | sort | uniq > packets +expected="fffffffffffff0000000000180350001080006040003f0000000000100000000f0000000000100000000" +echo $expected > expout +AT_CHECK([sort packets], [0], [expout]) + +# Temporarily remove nat-addresses option to avoid race conditions +# due to GARP backoff +ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" + +as hv1 reset_pcap_file snoopvif hv1/snoopvif + +# Re-add nat-addresses option +ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" exclude-lb-vips-from-garp="true" + +# Wait for packets to be received. +OVS_WAIT_UNTIL([test `wc -c < "hv1/snoopvif-tx.pcap"` -ge 50]) + +$PYTHON "$ovs_srcdir/utilities/ovs-pcap.in" hv1/snoopvif-tx.pcap > packets +expected="fffffffffffff0000000000180350001080006040003f0000000000100000000f0000000000100000000" +echo $expected > expout +AT_CHECK([sort packets], [0], [expout]) + +OVN_CLEANUP([hv1]) + +AT_CLEANUP +]) + OVN_FOR_EACH_NORTHD([ AT_SETUP([delete mac bindings]) ovn_start @@ -13867,10 +13937,11 @@ $mcast_node_ip $nd_target $nd_src_ip OVS_WAIT_WHILE([test 24 = $(wc -c hv1/br-phys_n1-tx.pcap | cut -d " " -f1)]) OVS_WAIT_WHILE([test 24 = $(wc -c hv1/br-phys-tx.pcap | cut -d " " -f1)]) +# Use the grep here to filter out rarp packets that might have arrived $PYTHON "$ovs_srcdir/utilities/ovs-pcap.in" hv1/br-phys_n1-tx.pcap | \ -trim_zeros > 1.packets +grep -v ffffffffffff | trim_zeros > 1.packets $PYTHON "$ovs_srcdir/utilities/ovs-pcap.in" hv1/br-phys-tx.pcap | \ -trim_zeros > 2.packets +grep -v ffffffffffff | trim_zeros > 2.packets cat ipv6_ns.expected | cut -c -112 > expout AT_CHECK([cat 1.packets | cut -c -112], [0], [expout]) @@ -13907,10 +13978,11 @@ $mcast_node_ip $nd_target $nd_src_ip OVS_WAIT_WHILE([test 24 = $(wc -c hv1/br-phys_n1-tx.pcap | cut -d " " -f1)]) OVS_WAIT_WHILE([test 24 = $(wc -c hv1/br-phys-tx.pcap | cut -d " " -f1)]) +# Use the grep here to filter out rarp packets that might have arrived $PYTHON "$ovs_srcdir/utilities/ovs-pcap.in" hv1/br-phys_n1-tx.pcap | \ -trim_zeros > 1.packets +grep -v ffffffffffff | trim_zeros > 1.packets $PYTHON "$ovs_srcdir/utilities/ovs-pcap.in" hv1/br-phys-tx.pcap | \ -trim_zeros > 2.packets +grep -v ffffffffffff | trim_zeros > 2.packets cat ipv6_ns.expected | cut -c -112 > expout AT_CHECK([cat 1.packets | cut -c -112], [0], [expout])