From patchwork Fri Nov 4 08:59:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 1699404 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=k/ZH6v6i; 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 4N3ZMQ5YVqz23lK for ; Fri, 4 Nov 2022 20:00:02 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id DDA4B40C1E; Fri, 4 Nov 2022 09:00:00 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org DDA4B40C1E 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=k/ZH6v6i 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 c9XfzKm08fRM; Fri, 4 Nov 2022 08:59:59 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id D1D5E40C00; Fri, 4 Nov 2022 08:59:58 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org D1D5E40C00 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id A892FC0033; Fri, 4 Nov 2022 08:59:58 +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 CDE7FC0033 for ; Fri, 4 Nov 2022 08:59:57 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 9C15B40BFB for ; Fri, 4 Nov 2022 08:59:57 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 9C15B40BFB 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 5zR3C5AJ3XC7 for ; Fri, 4 Nov 2022 08:59:56 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 9E92A40BF3 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2130.outbound.protection.outlook.com [40.107.20.130]) by smtp2.osuosl.org (Postfix) with ESMTPS id 9E92A40BF3 for ; Fri, 4 Nov 2022 08:59:56 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ww2E04wTQJcoS0ZASOBV1uP374ph9X5iz4nuJe5rmNElQR2vP96z3kKftOIxIAr378rQEXcFTeX4ZNR/ElvKcuBFkVyhHiiiNPzyDymXOZ0FYj8LgYvr3rv1b7WpNOPOPPEashuNrbXuBJIxh9WNTS1HoGX5OCIuj327Qh1wEoSInJtEUUUpsc0sZWk2SE7r9uXr39MPvS9jeMyun5H8oTGdYQobBARotUxcW2JGLFW7eWFUN7UXJyi7kprlGA9z43xuMvFF74AeGjQFxngCcEm3hiAZw/6SLEko7O8M9k3UYPT5GEPozYhVyVDdCM+9pian2lSEmKdYcTmipklK4Q== 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=n6J0yF4YcssMSW8BQYs4vilFNIJsoNpiDBJzDyzjcrI=; b=afA85Ik6NgMKXnG9sGFT9FW8DDb0uA22xodDYn0O8LZ72oRyzc/0CHcHuO+mPq0PjRfkMwyJWIoj0+yfAvPXHCBZd/k0Anw6VbJMD2O9PVqeYFk3Nf+RDoB/zsyZ6IasTJyClx8Q/O95HJMzkDN98dXC4rl61bFEEaVySbLkOk8mgGH6k9ACSD/Kab+2zjKgVbAjUWqkaj92/spU72vQI4iYlViTZJAP0ZIcPaRSZ52YeLqOsoc3Anlq+LPqtEnQGFqyc0tJSIY8vlp8iKKhKKzrlNW2z4DKuuoV7+1mp6Ko6SKnKFlBSselI+wOZa+FBs70EClhdtlfcOewDWDAOA== 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=n6J0yF4YcssMSW8BQYs4vilFNIJsoNpiDBJzDyzjcrI=; b=k/ZH6v6iAGozsm3t2bFKkgv+M5fImN0Mawef6plS56GOe0RPy31sUckLFnZU2u3g5o7bwGDH2lG/05vphyG4FvvYxK9uEhR391J/kVKiethb8N2l2bLTEqocKbszxVCLDMCiAdTNno3jv6eD77z20/9wxQp4HhoKStp5nHhNNK1YhFdrqN0DRj7MH7utwmy38rqLSoV6DHL2j4I1NYQF/WvVVvNZEFrrUCTj2Z+pxz88sUNLk/4zQAUJYMT076QsWKG0vYpby9VBV80s8hDObu8+V/xyRkjp9ESX0WyFjICvV53URAg7deULwjO3JLNtaN/gqdFrrayshgkkom3nkg== Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34c::22) by AS2PR10MB6616.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:55f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Fri, 4 Nov 2022 08:59:54 +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; Fri, 4 Nov 2022 08:59:54 +0000 To: "dev@openvswitch.org" Thread-Topic: [PATCH ovn v3 1/4] logical-fields: add rarp fields Thread-Index: AdjwKvsImGFCRIHpSJivJbEcz6XW+g== Date: Fri, 4 Nov 2022 08:59:54 +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_|AS2PR10MB6616:EE_ x-ms-office365-filtering-correlation-id: 3e81be55-2587-4d94-33ed-08dabe42f0f9 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: mOwsiaFU6T3wi6ba91LfMBAPLghKSsCEqfys7IJGKw1l10SgogifHFtPktA8fjyhqL6ApiYfRQd4TKGxQ3dlRia19zfVL6mZmYJ5wZzjY1ujt9TiT8a6chsVkDG0pBv5DYupW8L8ugEOZyKKHDL1qVNSKGaqVlTelztUCeHN6ChSdUDrouRV7zNeDLk0cpv5uYgmvmsZJJHML+ZxYcLJ6t+iCcP9ol7txOV13wkOmjtChsrGV6dVbxN2hTPG5uRoN3qSBIxmqO0kk9+3aC7AVOGHBQc2iJiFyLwq7GkS8DZeZZPs8TqTIOd1D/HO2taLBNxvdBZwUKsxhf41xxrK5T7+vhh4Xrgc08FkQD0IvcEoajT6ErHJxXwdQOy7x4CsQhlozYnJPvu6hRzpmFhsRRNqtu+yBq6CUSPipclGM1IQICepdsRy8vNzbY7XeM/lGZzVlsXdEpWeuYXRzVB76bzRzStavQaCcif5lBmCTQTw3ZoJa3bA9YatKYTIbzKFg/Um8prA84h6QB8Gjf3juCxjDMVK/vWPv+cTzhC9bSZKuvJDFNE4rX+EsTGKlkUivEwPXa9RwU8Ivoyns1807EjPCZ9eTYOnyTI056uZS2JtztgNF2LCCLIwlR8gvhoGv4JCurs7hWnMh1ShrvruJ+xFen1bvy6agYQHpLQUDVeHRyz/qe3LWJlAdGCOGbGediAbYXLwKELB4O+5l+DZRsjmPFigP1HhR8qhHKTnDvi7FTYP33v3J4WG8fpLAYW77COOJzFG0j/iG7xnPJTsmV3wvW2zLWZAVsVU0a/u6NA= 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)(346002)(396003)(136003)(376002)(39860400002)(366004)(451199015)(186003)(66574015)(8676002)(83380400001)(2906002)(66446008)(64756008)(7696005)(66556008)(66476007)(6506007)(66946007)(478600001)(5660300002)(76116006)(38100700002)(71200400001)(86362001)(82960400001)(122000001)(52536014)(8936002)(316002)(6916009)(9686003)(41300700001)(33656002)(55016003)(38070700005)(46492015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?cpqZSRnypCjxRnHjaA2Xb07?= =?iso-8859-1?q?jhZmZuezm8siGqaHgCfLtKQThMquz67QFjXqzc319+SBzED/uA5h+niR39JF?= =?iso-8859-1?q?L7YmuM1wI4zoXme4L2sKxMl0ALeG3PXjB7eF4cwu58KlbYgEOzUD6W7RqZNr?= =?iso-8859-1?q?SfkF7QtKr07bAvIj9x8AhrKskCUjd1eoiCIY7k+T1cUnTLQoHm84ahaDcsmu?= =?iso-8859-1?q?BmUvtcwvm2DdAvMKKt5+MWDbTwGomFPAIIr+pVVIRPMBrEa6HICVhnvCY3aT?= =?iso-8859-1?q?fKTP2JPHvS/9MoMiRl7UhXL1z1n+SFmoBUcmICXmTq5yNv5Bdtn7w6O5wLrY?= =?iso-8859-1?q?er6M5wqEf5OPgqJs8H2ZZmF8gdZbcrHAvg8O6BEcfb1GCvOO8egfCk9yGxz7?= =?iso-8859-1?q?CqAz4U+mZKHnLDD3OkKdVkx1r8egjta1I3k3hjC0z9IwU1YjInW7GZsr2ROd?= =?iso-8859-1?q?sqgzBYkfbbIWchlVs9ypxkIveQBKyCq6cNqHw9m0yCVYU5OuBlgbQet77xkS?= =?iso-8859-1?q?cG4t54z49hEIToHdBhFrQ1syxKYQ8zbJ+oTabpLQ7H/RmGkIUoBmISUHZzQY?= =?iso-8859-1?q?+ZpVuqwMt3QhjJqXz7j4JFHhKlGqdTJO1TVYKza8P9cgEJm281p2SkBHtUq0?= =?iso-8859-1?q?bEGXf/T76gZksmcXPeR2WxniqonEwTodq4eTloFP/k3LiU8W/gwgqUZ6v1if?= =?iso-8859-1?q?ncBokxPsQdNXCfBkvWJuiymg01bfqjWNYbWw+KKHNlqGl1a/eQaeuxvQfs++?= =?iso-8859-1?q?50PzInvJCxRItGaGZhCpMlDQtPCsrJvuL4y023JJxz9QvAT2UO1buVrBjuPE?= =?iso-8859-1?q?qw2EeBAS/+ZEKPL7d/JMGc+mzVzdkA/GJ+1ivM0USb56LWYC7K3ERIKc52s4?= =?iso-8859-1?q?UDzete9hAh+31v8u856SpgNZNF7F6W35d4MC5wKyFqiPEoxRCUuv+bWA8BnV?= =?iso-8859-1?q?nmwP1qgFYMaHSSovbwMe4s6vukv/nVxly0GGQDwpWKLd/pnDnkBhtdgxPeBZ?= =?iso-8859-1?q?fQzmPPd94xMmafcHeIK9m6nhbJMjdeErE/K6UfsU5CBbdZYT71grutXj6DNe?= =?iso-8859-1?q?7uBPZwAVvKVr/uV1sfpWSssJ0KvETWhAvCAyA1a3DAVUf8rYGpWD2xm4O1fT?= =?iso-8859-1?q?oMIGZU+xNIefoWUO1ZuVsJmaaRyizyOBxb5M4FzATb/mZ5zdva/tXkZJI0Q1?= =?iso-8859-1?q?EZE36NzlDnAY4egEL8zYpCUdFSwd2tKZ84ttHIHwIr4TvskVOpExisWFmYQq?= =?iso-8859-1?q?Svl1Ty8OfbHh2zDgPWJlKXxvPwvSrycLJEvh8DsXfZ610t2VPd29UINo0R+G?= =?iso-8859-1?q?XTvP+K3gp8yssd30PaFC43k1rVHCwWGacvwI0ETzdHT0Tz/5s3pRpD70SjrB?= =?iso-8859-1?q?5KIACEfg9YoGU9U8QXX8TWePgk9Zh0MJlsGm/fu57i2nYi1uytRNUsenqukF?= =?iso-8859-1?q?tg8cZe/V1c2Nc60IzHmbhoB2cRJlkhGjgXYqxUWyT+5Od3hGyUDMNRPEYnQy?= =?iso-8859-1?q?RFKF3yO4p71vgZho+uKAUhzNBhnyNjwsde8up6jrvYzT5o0AoYCNzM6At/f4?= =?iso-8859-1?q?rZeH31XMThZFI0dQAqEbIGPcm0hDa21imwlVkPvQVn3ykUiNAvEv/SQ1Mu7f?= =?iso-8859-1?q?yHGvgscVhBvTOyFAD1HHQtVQiyhT/s3ZtknDCYr7jD8XhL0VZCshCnmVINVD?= =?iso-8859-1?q?TGoNfGXQ+Vy/PnRASKlR7ZI8BpVd+2Q7DuEPV7qNhfw=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: 3e81be55-2587-4d94-33ed-08dabe42f0f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2022 08:59:54.6172 (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: nRdryagTl3NLy9uQxdAI2rxd59KbCEx3QcKHarNH2DARpLja9i90Wu8fvuupYxODdWLn0No4NKzYGUrAfEIOkrYJ7QMzKjHYVKXLatu//G8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR10MB6616 Subject: [ovs-dev] [PATCH ovn v3 1/4] logical-fields: add rarp fields 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" We need to be able to handle rarp fields in order to ensure we can handle rarp messages we send ourselves. This will be used by the next patch in the series. Acked-by: Numan Siddique Signed-off-by: Felix Huettner --- lib/logical-fields.c | 8 ++++++++ lib/ovn-util.c | 2 +- ovn-sb.xml | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) -- 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/lib/logical-fields.c b/lib/logical-fields.c index ed3ec62e1..fc131791e 100644 --- a/lib/logical-fields.c +++ b/lib/logical-fields.c @@ -261,6 +261,14 @@ ovn_init_symtab(struct shash *symtab) expr_symtab_add_field(symtab, "arp.tpa", MFF_ARP_TPA, "arp", false); expr_symtab_add_field(symtab, "arp.tha", MFF_ARP_THA, "arp", false); + /* RARPs use the same layout as arp packets -> use the same field_id */ + expr_symtab_add_predicate(symtab, "rarp", "eth.type == 0x8035"); + expr_symtab_add_field(symtab, "rarp.op", MFF_ARP_OP, "rarp", false); + expr_symtab_add_field(symtab, "rarp.spa", MFF_ARP_SPA, "rarp", false); + expr_symtab_add_field(symtab, "rarp.sha", MFF_ARP_SHA, "rarp", false); + expr_symtab_add_field(symtab, "rarp.tpa", MFF_ARP_TPA, "rarp", false); + expr_symtab_add_field(symtab, "rarp.tha", MFF_ARP_THA, "rarp", false); + expr_symtab_add_predicate(symtab, "nd", "icmp6.type == {135, 136} && icmp6.code == 0 && ip.ttl == 255"); expr_symtab_add_predicate(symtab, "nd_ns", diff --git a/lib/ovn-util.c b/lib/ovn-util.c index 5dca72714..597625a29 100644 --- a/lib/ovn-util.c +++ b/lib/ovn-util.c @@ -817,7 +817,7 @@ ip_address_and_port_from_lb_key(const char *key, char **ip_address, * * This value is also used to handle some backward compatibility during * upgrading. It should never decrease or rewind. */ -#define OVN_INTERNAL_MINOR_VER 4 +#define OVN_INTERNAL_MINOR_VER 5 /* Returns the OVN version. The caller must free the returned value. */ char * diff --git a/ovn-sb.xml b/ovn-sb.xml index 315d60853..42e6fa3ee 100644 --- a/ovn-sb.xml +++ b/ovn-sb.xml @@ -1052,6 +1052,7 @@
  • ip4.src ip4.dst
  • ip6.src ip6.dst ip6.label
  • arp.op arp.spa arp.tpa arp.sha arp.tha
  • +
  • rarp.op rarp.spa rarp.tpa rarp.sha rarp.tha
  • tcp.src tcp.dst tcp.flags
  • udp.src udp.dst
  • sctp.src sctp.dst
  • @@ -1115,6 +1116,7 @@
  • ip.later_frag expands to ip.frag[1]
  • ip.first_frag expands to ip.is_frag && !ip.later_frag
  • arp expands to eth.type == 0x806
  • +
  • rarp expands to eth.type == 0x8035
  • nd expands to icmp6.type == {135, 136} && icmp6.code == 0 && ip.ttl == 255
  • nd_ns expands to icmp6.type == 135 && icmp6.code == 0 && ip.ttl == 255
  • nd_na expands to icmp6.type == 136 && icmp6.code == 0 && ip.ttl == 255
  • From patchwork Fri Nov 4 09:00:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 1699405 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=21tXYpKs; 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 4N3ZMq31RWz1yqS for ; Fri, 4 Nov 2022 20:00:23 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 94302610AB; Fri, 4 Nov 2022 09:00:21 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 94302610AB 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=21tXYpKs 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 PpftmKTMB4LS; Fri, 4 Nov 2022 09:00:20 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 12CED6104E; Fri, 4 Nov 2022 09:00:19 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 12CED6104E Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E1A9BC0033; Fri, 4 Nov 2022 09:00:18 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2A534C0070 for ; Fri, 4 Nov 2022 09:00:17 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id B02D841821 for ; Fri, 4 Nov 2022 09:00:08 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org B02D841821 Authentication-Results: smtp4.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=21tXYpKs X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wWAwnMCIlFkx for ; Fri, 4 Nov 2022 09:00:07 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org A0BE4409A3 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2122.outbound.protection.outlook.com [40.107.105.122]) by smtp4.osuosl.org (Postfix) with ESMTPS id A0BE4409A3 for ; Fri, 4 Nov 2022 09:00:06 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H/6hM1wE9uJOiXdEfa+t4gpzcIW1AwVK7F1mlj0AqrDCeCo49FIgUfe3qWy9lg0QmAaYi3PK4PEVUpMVDqdbAMJFbg0W3lr/fUk2awaYfk7xwKcHYuRA7/Bty1ymrXTaP2rSEmEFxoDlmKsuZ4zT6xM+OFTXQMBMyMEdUHj5oN+k3uOUjFlPrXlsUPyUtBu9Bmsj4UdMF1JrQbd0JopXquROTtBehDs9/fBJ4TeGIKwvGePGEFyFLk+2t2V+quxqWaLDOjyXptCCYy3I8w4mqp3AjBLAF1T0gneUwYMKA6pIHK0KEAp/kNhUOezHd/PFXLfaKhLldknW2/6axNR4rw== 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=cCIkaFQ43awnJtS9vDlqr+s0mL1nOfnEvyZac1YVeC8=; b=lfmDBtRxWXAkxxXgo5oN76u0iKgSlPQE7kPqYequQU6zvHSmOtknCcCLYLvbh5QndIjdmF2RV8NEfH/5fb/j0h8gtx8qct/d/hkV9Iz5FV9VKa6S9xvmoCO+AWS0jv7XhCI6EvNKC2A3VBFa/9JiB209YNNK+2zv9NAasMscAElrqqdBThlLgq951zC9ok7sjBnnYe/zyNBHeAO/3iFUMImmYdCTbBHGSu+2LEmyHbTIretwFnCeUYVqius0TdPQvhbDcOaGW+rNHxGGPfn4WX4efq668tB9Gt+y1z26UBxm5eaeXx7So256X+KGVLJiNTZLYQIdvhlscBjmgZM6hQ== 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=cCIkaFQ43awnJtS9vDlqr+s0mL1nOfnEvyZac1YVeC8=; b=21tXYpKsOP3KodZK7yx97UjtcfPgIkG+AiYDNwThEVlmY9UmWtm6qvjmigwCTHFVKgGkhXnnVygCVhfWhQWIqAFfkfF6GAy/UOs4wMCP107P8wssCpet+DhPfMtgulzINjcxAsC84efZmdTRR1QkZzrnXUDRpy0u3ukv2xGsVvdEIQs5uGJNC8pZR8p9DRD650EulrTApIdbLFs5TAyRtAwLmHkdayPo0obkQSrlL6+Eeaia8qnr93Da0xnUV1rS8G4JOPMsr5MW61GTsZ1yItCPagz/B/T9xf8gaGeJTTI070YbGXpeA3/J/duPWFExvIrN4Axc2YNs1/zV1mgi4w== Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34c::22) by PAVPR10MB7057.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:302::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Fri, 4 Nov 2022 09:00:03 +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; Fri, 4 Nov 2022 09:00:03 +0000 To: "dev@openvswitch.org" Thread-Topic: [PATCH ovn v3 2/4] northd: handle own rarps like garps Thread-Index: AdjwKvsMIfQxN9d2RPGo9d95oXTtyQ== Date: Fri, 4 Nov 2022 09:00:03 +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_|PAVPR10MB7057:EE_ x-ms-office365-filtering-correlation-id: 5717b668-64a2-4a21-f17e-08dabe42f61f 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: sOWO+34CgQAKgDyGCT470+jmMojI+DCR83HNB00XRJrbOYYYKuMFeRpGYNiy3wwjzN6c1fNKtSNWZgA5ZtjTRRrfPunjMdSDv9rn59Y/gybBWk1J1CXH9ArYy1gMRC1jLPBrOZew6/zucIl++iFJ3ibz/wi4dKeuygTWOcS4R8ys5qz00St2njFX7enFbD+to+kVozd9iCOW2CIV4CsNhxWQG+4Cy+Uc79n+PbzfTYYUGyNEmlWPeUG9lH7rWUyPt0LevbZi0HS6lRhW+cpgVXgOo0xfICO15jI4v0NjHI/sa+Pc75PhYRT0ejomBNFVKE0YlwxPiBbkd+ipYx626cvPRnqvCKCyUjdL/2pPXzS5iltJYvC1T9w+vFaYqmR8hmpOZ5Y0RISCmhXfmgNSNBNuJhXzZ8r669Zzb8h0us2+UrItn+2YXjmtTb2o4lscJchwP6VBeNE/p0zaP1qg9lsTVzmtdZDwArXQAmqcelt43mo0SaXFd+jkt7iATHul8D4GwxmQHkWIlyw2Pu1KC4fAl2b0wh+rHFabonz6tl+Vv3FcxIiqD0Rqz2txLreM5KcR4mcOPOYiMTm7WiqQX3mPEUGzFvEDzGYonjWPCOV+i1k0kML5MQzIkYRWJm1g4uxWOgZfCZFbiQ5xfV8f3L/SQOOi+PWFLoa2pJ6xrw4hxdzOpAgUmGzQDG3IGfUCpNdw0qZ3BeOIRaMKcUAUkrkC6G9oyleG5WnYy2RII8BcmPOwke6dNarMWmxXYELuGzQCh9Ps4xD5ZP2ZRR+SgmJogKRq0MmyUZC6nJ20Txw= 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)(376002)(346002)(396003)(366004)(136003)(39860400002)(451199015)(66946007)(66556008)(76116006)(71200400001)(66446008)(8936002)(30864003)(41300700001)(52536014)(66476007)(5660300002)(8676002)(64756008)(38070700005)(6506007)(7696005)(33656002)(316002)(9686003)(66574015)(478600001)(6916009)(186003)(38100700002)(83380400001)(122000001)(55016003)(82960400001)(2906002)(86362001)(46492015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?uz1LjzGt3Or7cxcAdzKNPBP?= =?iso-8859-1?q?fxh/qkkCZ0OJHqDjdkpbk4A8oPa0Vn+8/WNC9fWMp3iQIdWO0LW70fogXmxy?= =?iso-8859-1?q?/NyVPAFAs7TtJFyfrRTHVmUY6P7Xbra9Ir62hMxQRXZqMqLH+OYrmrD8ul7c?= =?iso-8859-1?q?BCBWlwLCKHrrep+BSK9I60K/p9Oib0SA7g6JesKOheIkDPCUdGoNRJ7rSXsk?= =?iso-8859-1?q?JQ2sH2OZ+ncI2/Dk8PLLuIbilVgqQ8zAqAophLflMTzhTPJt/muu0u3nGEqU?= =?iso-8859-1?q?qcMFRUhzNgo6sEi/RMtoRxuWdlNeHqLbKKtHsi3Es79Uk6MkA+ES2++apPpx?= =?iso-8859-1?q?wqQtELcDhqWT3nys9hcIZhXs7FbOy7r0q/S74hFPOOCjotGF1MBski8rs0gb?= =?iso-8859-1?q?bs31tIounxCdDE/A2f/GGwsTt4gz6wCZ8ppneuX76f9LYaDtwARgK6Lpuwzq?= =?iso-8859-1?q?x+1S7X4Uk0UQm9M6yM70mQbKfozUFllJD5Zgkzzw2pl6D5zt/6s+8SyteTpN?= =?iso-8859-1?q?Nqljjrudz51XXaUyRGqcun4hljRN8PeO1opmrFOA25odZ0OFXxyjlzlRr2OO?= =?iso-8859-1?q?n5SAdhnrYs4p+haWaiPq3/6iek9NSF+oG0JAUHRG9SASeuA2nfjpTZZR+LLP?= =?iso-8859-1?q?7CmZHw2T8zo+LziQ+JbsLlxHY4n5dDaLkJXu1XM+4jEA+f3hobPISKOOfDre?= =?iso-8859-1?q?Y2t7GS1fw7u95ISbaKArV+5N+GOY6fptSafHCYAvCCFVLcQijeIHbNbVgYMg?= =?iso-8859-1?q?EftYHgc72XnH7ubSmi0PpKANTJ488MecqwHxV6oM07FjL/bNakGzJSyMWO8W?= =?iso-8859-1?q?vgzJZcxQQpJEcV1Yx0+XYQTioRaDMlsIRcarMpmtoarmIUo9abP94Sfsz9Tq?= =?iso-8859-1?q?XJ6lD5/lDByEuCAtiIwDu6pLoHMmrHHmdjft+2D4bnVFsqa8tVJTfT+9lBxQ?= =?iso-8859-1?q?w4k7x940e/NnCBMIGkkXPgj4avo1OV14gkKa8tzc2QXO2E2JpQ4JD59etkQF?= =?iso-8859-1?q?CkWLjLcuw9YOLvRbw4tPv+Lt9NkXJ9tJOh88iK8N7O/2KuYUXDNnHzskjfss?= =?iso-8859-1?q?K9J8l7mG9hzHZqhUapJ8SeoiaBHuWCv+mIRZy7msbZwY//qcyiu3EUnhsH6K?= =?iso-8859-1?q?RQlp46VKwS5qCfmU0ESkp1d4A+/3ARBAesxzFJaED5uWugeL+54/M2xs5NPA?= =?iso-8859-1?q?a910yJpc88Db4yxUE0WK9PyXsb2hzunrGQpD3/IAScIn+jTvEm4szzMkapog?= =?iso-8859-1?q?VnrWRSJoO2osGt0Byd6P9mJQ5rLdpqm/+F3w7+c1CG3NKa4hVmvfF2gIxyp8?= =?iso-8859-1?q?I+zXgFJRbw3laJ8zk2I/1U73tl6Y6Un6DJNovdtAzPJ0/WiORh5Ty5oXsAIz?= =?iso-8859-1?q?yaoeBka5Spr8s/9ZBOqwiuBODPP75ocp4mp296TwJ0oD5xM8B0jMzb4Ye2NV?= =?iso-8859-1?q?iz0nV6vBL+RCcCJYDUCKombH/InDKuIm9tdB9Vs+WH6yJb/gXG+5d6mYr4Uc?= =?iso-8859-1?q?9EHdxStSIf8omC2N5otvCT14s2q73mB9ZCizOoZMaG0GYwOAPNiGGT8tXRB1?= =?iso-8859-1?q?QefddXJi/RYWVJjXJ4Iobeh1Fb4HrzUpvb8Qq1udHbEOUytwt/ZiZzF0V+uH?= =?iso-8859-1?q?6GpHLuqyuT5590BH6K3Lcf29C2c2WjL5RfwX/nqW9C+hmFaN05+IP67w/oPB?= =?iso-8859-1?q?XHT7j5hInipzhK7USp9kYBxa9twylZn+SGpITZXnSSw=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: 5717b668-64a2-4a21-f17e-08dabe42f61f X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2022 09:00:03.2441 (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: VsuC2E6yQUdbUh4kd5OitX3OuwYFjXSmVmpVk04wLICktGznKSb4xstub4cvr84+VJfoPSQV+rUBM2GRohaIvinFbdw3EahdBftz6cHKrN4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR10MB7057 Subject: [ovs-dev] [PATCH ovn v3 2/4] northd: handle own rarps like garps 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 graceful rarps sent from ovn-controller were handled as normal packets and flooded to other routers. As the other routers should already have that information, we can skip flooding (just like it is done for GARPs already) and thereby mitigate ovs refusing to send the packet because of too many resubmits. This change has been tested in combination with the previous one in the series and works well in environments which contain an external ipv6 network with 600 ovn logical routers. Acked-by: Numan Siddique Signed-off-by: Felix Huettner --- northd/northd.c | 11 ++++++----- northd/ovn-northd.8.xml | 4 ++-- tests/ovn-northd.at | 18 +++++++++--------- tests/ovn.at | 8 +++++++- 4 files changed, 24 insertions(+), 17 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/northd/northd.c b/northd/northd.c index b7388afc5..e1f3bace8 100644 --- a/northd/northd.c +++ b/northd/northd.c @@ -7336,8 +7336,8 @@ build_lrouter_groups(struct hmap *ports, struct ovs_list *lr_list) } /* - * Ingress table 24: Flows that flood self originated ARP/ND packets in the - * switching domain. + * Ingress table 24: Flows that flood self originated ARP/RARP/ND packets in + * the switching domain. */ static void build_lswitch_rport_arp_req_self_orig_flow(struct ovn_port *op, @@ -7369,7 +7369,7 @@ build_lswitch_rport_arp_req_self_orig_flow(struct ovn_port *op, sset_add(&all_eth_addrs, nat->external_mac); } - /* Self originated ARP requests/ND need to be flooded to the L2 domain + /* Self originated ARP requests/RARP/ND need to be flooded to the L2 domain * (except on router ports). Determine that packets are self originated * by also matching on source MAC. Matching on ingress port is not * reliable in case this is a VLAN-backed network. @@ -7385,7 +7385,8 @@ build_lswitch_rport_arp_req_self_orig_flow(struct ovn_port *op, ds_chomp(ð_src, ','); ds_put_cstr(ð_src, "}"); - ds_put_format(&match, "eth.src == %s && (arp.op == 1 || nd_ns)", + ds_put_format(&match, + "eth.src == %s && (arp.op == 1 || rarp.op == 3 || nd_ns)", ds_cstr(ð_src)); ovn_lflow_add(lflows, od, S_SWITCH_IN_L2_LKUP, priority, ds_cstr(&match), "outport = \""MC_FLOOD_L2"\"; output;"); @@ -7581,7 +7582,7 @@ build_lswitch_rport_arp_req_flows(struct ovn_port *op, lflows, stage_hint); } - /* Self originated ARP requests/ND need to be flooded as usual. + /* Self originated ARP requests/RARP/ND need to be flooded as usual. * * However, if the switch doesn't have any non-router ports we shouldn't * even try to flood. diff --git a/northd/ovn-northd.8.xml b/northd/ovn-northd.8.xml index a70f2e678..051f3dc6e 100644 --- a/northd/ovn-northd.8.xml +++ b/northd/ovn-northd.8.xml @@ -1723,8 +1723,8 @@ output;
  • Priority-75 flows for each port connected to a logical router - matching self originated ARP request/ND packets. These packets - are flooded to the MC_FLOOD_L2 which contains all + matching self originated ARP request/RARP request/ND packets. These + packets are flooded to the MC_FLOOD_L2 which contains all non-router logical ports.
  • diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at index 4f399eccb..e849afd85 100644 --- a/tests/ovn-northd.at +++ b/tests/ovn-northd.at @@ -4759,7 +4759,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:01), action=(outport = "ls1-ro1"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:02), action=(outport = "vm1"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.1), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && nd_ns && nd.target == fe80::200:ff:fe00:101), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) ]) @@ -4771,7 +4771,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls2_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:02:01), action=(outport = "ls2-ro2"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:02:02), action=(outport = "vm2"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:02:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:02:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.2.1), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && nd_ns && nd.target == fe80::200:ff:fe00:201), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) ]) @@ -4791,7 +4791,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:01), action=(outport = "ls1-ro1"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:02), action=(outport = "vm1"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 10.0.0.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.1), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && nd_ns && nd.target == fe80::200:ff:fe00:101), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) @@ -4804,7 +4804,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls2_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:02:01), action=(outport = "ls2-ro2"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:02:02), action=(outport = "vm2"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:02:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:02:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.2.1), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 20.0.0.100), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && nd_ns && nd.target == fe80::200:ff:fe00:201), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) @@ -4825,7 +4825,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:01), action=(outport = "ls1-ro1"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:02), action=(outport = "vm1"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 10.0.0.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.1), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 30.0.0.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) @@ -4839,7 +4839,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls2_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:02:01), action=(outport = "ls2-ro2"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:02:02), action=(outport = "vm2"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:02:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:02:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.2.1), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 20.0.0.100), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 40.0.0.100), action=(clone {outport = "ls2-ro2"; output; }; outport = "_MC_flood_l2"; output;) @@ -4858,7 +4858,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:01), action=(outport = "ls1-ro1"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:02), action=(outport = "vm1"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 10.0.0.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.1), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) @@ -4876,7 +4876,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:01), action=(outport = "ls1-ro1"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:02), action=(outport = "vm1"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 10.0.0.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.1), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) @@ -4900,7 +4900,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | sed 's/table=../table=??/' | sort], table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:01), action=(outport = "ls1-ro1"; output;) table=??(ls_in_l2_lkup ), priority=50 , match=(eth.dst == 00:00:00:00:01:02), action=(outport = "vm1"; output;) table=??(ls_in_l2_lkup ), priority=70 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) - table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) + table=??(ls_in_l2_lkup ), priority=75 , match=(eth.src == {00:00:00:00:01:01} && (arp.op == 1 || rarp.op == 3 || nd_ns)), action=(outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 10.0.0.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.1), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) table=??(ls_in_l2_lkup ), priority=80 , match=(flags[[1]] == 0 && arp.op == 1 && arp.tpa == 192.168.1.100), action=(clone {outport = "ls1-ro1"; output; }; outport = "_MC_flood_l2"; output;) diff --git a/tests/ovn.at b/tests/ovn.at index f8b8db4df..184fc0fdd 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -24176,7 +24176,13 @@ nd_target=fe80::200:1ff:fe00:0 # - 00:00:00:01:00:00 - dnat_and_snat external MAC. # - 00:00:00:02:00:00 - dnat_and_snat external MAC. as hv1 -AT_CHECK([ovs-ofctl dump-flows br-int | grep -E "priority=75,.*${match_sw_metadata}.*arp_op=1" | grep -oE "dl_src=[[0-9a-f:]]+" | sort], [0], [dnl +AT_CHECK([ovs-ofctl dump-flows br-int | grep -E "priority=75,arp.*${match_sw_metadata}.*arp_op=1" | grep -oE "dl_src=[[0-9a-f:]]+" | sort], [0], [dnl +dl_src=00:00:00:00:01:00 +dl_src=00:00:00:00:02:00 +dl_src=00:00:00:01:00:00 +dl_src=00:00:00:02:00:00 +]) +AT_CHECK([ovs-ofctl dump-flows br-int | grep -E "priority=75,rarp.*${match_sw_metadata}.*arp_op=3" | grep -oE "dl_src=[[0-9a-f:]]+" | sort], [0], [dnl dl_src=00:00:00:00:01:00 dl_src=00:00:00:00:02:00 dl_src=00:00:00:01:00:00 From patchwork Fri Nov 4 09:00:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 1699406 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=dKCUl8PZ; 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 4N3ZMw45dtz1yqS for ; Fri, 4 Nov 2022 20:00:28 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id C3591610AA; Fri, 4 Nov 2022 09:00:26 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org C3591610AA 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=dKCUl8PZ 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 K1n78bbp-Wtk; Fri, 4 Nov 2022 09:00:25 +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 C03A1610AC; Fri, 4 Nov 2022 09:00:24 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org C03A1610AC Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 9A3E0C0033; Fri, 4 Nov 2022 09:00:24 +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 11AC9C002D for ; Fri, 4 Nov 2022 09:00:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id A189481F84 for ; Fri, 4 Nov 2022 09:00:15 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org A189481F84 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=dKCUl8PZ 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 bkmy8gf4_IYs for ; Fri, 4 Nov 2022 09:00:14 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 8242081495 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2093.outbound.protection.outlook.com [40.107.105.93]) by smtp1.osuosl.org (Postfix) with ESMTPS id 8242081495 for ; Fri, 4 Nov 2022 09:00:14 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mFAHp4otC5OmcOESNoajnfUskU8SG87/MzHjt7W1d29YObP//xo/OrjzeVgA6pZaBGT+9TtMXU2rdQGs8BNizgsAezWa16XUjNm0LcD7UOqmiDbj9ulbFgR7stEH9Ewn8Y2etNkDdaVZ0Huy5TfkSKiZyixMIh+X3/Dkoc9cimwkms9VvrDQmKJGdjrywk0TkFcNhfl+HbUxxLwOibYcBxFanGN96kYAmFH/zVzEe4ndFy3W6fibinB2SpeEvwnJX3qVGCC/1FlUpg7o4beU250mktyVAZXEkyplxs7eofD/inj+smDGVtnjhn+W/ZVL5a+NIaJJvLeYad+AtBKa2A== 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=vshuOTHQ49x2Tj7OUJb0VPJkimhJ1W2vB3zbpuPPrA0=; b=M9hBmzozhs0rY8uXi4SjWVPcb08CaurUCIbIcyWT+E/Xg4CiL+cwJDJloRBm3bAQJe/p/+8sndovb0FbcsfsdaJ711YRdh2Hz0aQDGXkmYKmDRSiyFKmiB7DEPZPQYl+JU4Ki9T/Q/bH3mGDtixj3JFYFHor6anpBUHKHypzLmxGwa2ylsKoFQkEbXAETM/PgMNzIwCsBLeToryRjJSml51+++ngszBYo/+HFwtLt6kfG1xOQYylT0nj+0ybJN8kr353DGtnnDG9sMvMZ7NyiHvPsNFCJZ0NNjwIW6DfhG8KrL7HHIvCMSjvpIhpODbvmmVBzQv8i45FJCpzCqcnyQ== 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=vshuOTHQ49x2Tj7OUJb0VPJkimhJ1W2vB3zbpuPPrA0=; b=dKCUl8PZu+EymI3f7m9NQJwAgO+7+04MgnMbdQg0puRilBRBJK/Wwxdf9b8M748LxJyqCgTOcxMBuuv6AP7sgqLVzG9CYOC83Zgkc0Y3tWcdt7rZuvvuqCZTpWKQMptM7RETc+uELU2DzkDNcPILXTaYpEFuoCcVegzyejXE9vpR21NPEkbh9D4R0n9IXlWh88zl3GNxFpQbFhywOwpu7bYjmQmOYyCWTS2BKna9Y9VmRNKqO2UvljC2iWaRKBwmp3OafWVOMFjlK5PFsDhm5PQMB3vIwXIPoI4enG/QC9eN5YRKlB34GRzw4xRPGLaPe3YYyipBFzRLVI9mszX/jQ== Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34c::22) by PAVPR10MB7057.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:302::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Fri, 4 Nov 2022 09:00:12 +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; Fri, 4 Nov 2022 09:00:12 +0000 To: "dev@openvswitch.org" Thread-Topic: [PATCH ovn v3 3/4] ovn-macros: support ipv6 in ovn_attach Thread-Index: AdjwKvsVQPC909QIRXCTlPf3s7Qj1A== Date: Fri, 4 Nov 2022 09:00:12 +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_|PAVPR10MB7057:EE_ x-ms-office365-filtering-correlation-id: fa7394cb-f924-41d2-a5a5-08dabe42fb6a 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: z3xKfShSvsRZwcWkl+PUeCcauYBU96T+B/x9pAG9VMadWLG3mffmt9s7ZIZ+xQtKhVpxEDsqWAZzbK5+bFe7ebMAzhYCo3AA8hZrDPD28w5CiT1iZvotM8aECVZFZ+GcTw0rvAZPVmWEwxos5haiA1EgTfI50VIlImIlgOu4VhIf0qhv5FCq2ZaD9eGDA2rjehytYPQZp4uikRJqJnt+2rlagEGy6l/8vKtaFeBXaFE7sLOLQG8tbyJeCD32Xba17jNgS3FpnqjWCPzqw/sGT7ZT1/k2Fz0N2w0DxNwT23ynNuUKfHhYYRwS1C6cQjJM4OERNnstYJIdWC80BxrzwxnY7iRn4yme9BWSI7KZpU8rjKdKFoZx1qDJ5FFSXT3+jC8z39HLaoV5eINEO6mpOHv605TNBpGELLLDbtJBDbavN6PfaPgKb3ou6NTd90RHlmQJ/Il4+/O12USAo0H+kGFgASYnQSLZv2484V6UXU+7Lv3t7++lf/5m4Uvxki7bnSAfsJ9sFfrn8fNRoGmGTDMZMcaktAIKcjZ8x9c9eciLTLsqz9GjyfZkgwX4OK/e79dliwFdYOAngm7gNJjCTKh6yTeb6JHOV2p5ms5JX9lCgKJUNmBsPJ18onYEbwLlpNZDl7bs8qibHNAA5WH0vPGHTGpdSbuxn2/oAVugygiCJVuRHmI/PTvo92AVyEq2axcJDw0LNdxcRTrujmuX6BzospdVTAOqXaLoQNTOO+/w5P3s283k6TZyLqrqyiQnts9QRffWHN83YYq2zsFadMakJIf9JcQkB2A/U1ooL4o= 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)(376002)(346002)(396003)(366004)(136003)(39860400002)(451199015)(66946007)(66556008)(76116006)(71200400001)(66446008)(8936002)(41300700001)(52536014)(66476007)(5660300002)(8676002)(64756008)(38070700005)(6506007)(7696005)(33656002)(316002)(9686003)(66574015)(478600001)(6916009)(186003)(38100700002)(83380400001)(122000001)(55016003)(82960400001)(2906002)(86362001)(46492015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?UtfC8jOiB6r9BBAl9Wl5D2G?= =?iso-8859-1?q?6ocQJzGeNq/NVOAYnWahFcmF6coJKMA2ZpQH8rY0I+tRixXCx73EPX3K8oRp?= =?iso-8859-1?q?c3wnjvFWQ2sWFOFcGxonb0Zv97YGjeHZ2IDdyeWlNG1YSdDHftmfnmkXz0si?= =?iso-8859-1?q?p3DczZDi1L1rhq9RPqiKC++6BMrs4Cz5K2PmD6O2DET4NI+rweEyzKGE/W6I?= =?iso-8859-1?q?tVYGKC1VWUyuY42mc3J9ptUnVj9BrGr/TJlps/rNYUuCdZdX83xRoXYHE5Ss?= =?iso-8859-1?q?hCTdHDpJaF4UyubtKl+ygcGz0y3Er808WJQ5AtopLueRhBK1Tbi25BJBga1o?= =?iso-8859-1?q?coj16YspVe9EgXstNFBzYVPYjbkuaco129yYlKv65AzK+/EAHg4PRa4WN6FW?= =?iso-8859-1?q?kKMZifea5pIJpNqLQ2f27qE8nDni2nb1D6qgLMivaYMUDIcsBKBUPOVzGMXD?= =?iso-8859-1?q?bOlfiyLxXBZl0Yerp6j7kR3MpL/dcPXl97CibcZoDwzHGwXp0i8ORGpy9gkG?= =?iso-8859-1?q?EgWad2LvDVjIeHDNiH1sHui8gd9X38lwxRol8xcNxgGkpiIxyUeAtgmt5e4x?= =?iso-8859-1?q?VChhpiE+V+E0eJ96CeBvSUtt9u2tkqPJ3feInrJbTLhLmBnbqt7iGZlbagiP?= =?iso-8859-1?q?x6Pa8CjvKGoMfvPd/eom89w2k2rriXUkx1SWoQczlXuhGAUBCUwi57lBFRFK?= =?iso-8859-1?q?SxubaSOqKG3Ara2xs+XyN4X3qNfqsTL93rB84Fbqot3xumgHP37y4YIgswuK?= =?iso-8859-1?q?BnoXS8skmV7O+MyfpVIJEEFqFg2MJZk322pFxFYbQyywVgW2Lru1b8N6hGL9?= =?iso-8859-1?q?S1Qrp/bnvWuJGUkVGDVfJsyGccWgxY/ylwOFDcLGWk549Vxpc+2DN8P6qyff?= =?iso-8859-1?q?srSwK02OVQPivEp0VjFfXB6bfz0E1Ly4l/28dIOeo6JGh6dTlSky7R6p70SK?= =?iso-8859-1?q?KXNcnR70+MAEOH9B4hpFC4AvcEyiuaacY71NbppM81DaSF3tyIiRKJQhvB/t?= =?iso-8859-1?q?EWKjprK3S95NcRcrIcdSAfUUiUP15nU0ZkTy8iQB9QzEStzN/gi2Yr5YLxe0?= =?iso-8859-1?q?6+qxSufk+a7ezfBUmmE38kLBboO1SUAngxoVsLpJR68/XcMCbA7bqyu+n0By?= =?iso-8859-1?q?lmjH4V0IGGWDANit/HMADHmq5PB+7N72C7CDtqV9w13w17ACGGbt5t4yteIL?= =?iso-8859-1?q?cnUizKo0JgQ+MVutngmiELqkIoQ0zSPx8vQwRvzhcoHJsGurpkgo9oF3od+8?= =?iso-8859-1?q?Z1bfEEBdAos1CCpbkjdsSYhAPHCiq9KzSehnecmvmuIduHzYKTHnym9UexSX?= =?iso-8859-1?q?wVEKceJJw3FiC6jSwbONqYmGO4/zUpAQvmxhGoQjV2yNXejzW1c7fnxDLdf3?= =?iso-8859-1?q?HQWtFJ7T2psQ+IZbMZYHp9MeDVgL1ZzXp5EmqtaET7GIqMFzX/tjW+LWRtS1?= =?iso-8859-1?q?ECm2cEVbCDms+LTjq2Lrt+tWYauHhvtyIONzMUxlf1wI+cWa5Y48yInp/JI5?= =?iso-8859-1?q?bwZSFep0cbdcMHUpKLLcGlUlIg1EFYOVjgG19Rlc7VDEECrsVnAdRazVzn5u?= =?iso-8859-1?q?2ovl6sdqiN9RKVLG7/pGQm1IgiCKTk4nSRe4vcZwPgX0Xgrac2PgvGQj5iYb?= =?iso-8859-1?q?r5NUE3eXZIWBi5CC+DXctktM1eXU+LmsNzOwcfM38+hLgDXqKY0BvA1p/dRs?= =?iso-8859-1?q?ObbhFcjy4gnpTvJQZFOVYmqrQGHDjSGUeIkg8/GFYlg=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: fa7394cb-f924-41d2-a5a5-08dabe42fb6a X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2022 09:00:12.1223 (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: UupOLaRxbC81B2hkRxTpaap1mKUHjlYIQYKdRs30VS4ORSmlEwNF0R7o0Px72tYuDPZb9dQat/UuWNkkuccWL0bnSSxo9l5wCceG6jeazjw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR10MB7057 Subject: [ovs-dev] [PATCH ovn v3 3/4] ovn-macros: support ipv6 in ovn_attach 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" in order to easily add future ipv6 test cases the common `ovn_attach` function should also support ipv6 addresses. Acked-by: Numan Siddique Signed-off-by: Felix Huettner --- tests/ovn-macros.at | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 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/tests/ovn-macros.at b/tests/ovn-macros.at index b234019a9..ee6e09d39 100644 --- a/tests/ovn-macros.at +++ b/tests/ovn-macros.at @@ -288,14 +288,19 @@ net_attach () { || return 1 } -# ovn_az_attach AZ NETWORK BRIDGE IP [MASKLEN] +# ovn_az_attach AZ NETWORK BRIDGE IP [MASKLEN] [ENCAP] ovn_az_attach() { local az=$1 net=$2 bridge=$3 ip=$4 masklen=${5-24} encap=${6-geneve,vxlan} net_attach $net $bridge || return 1 mac=`ovs-vsctl get Interface $bridge mac_in_use | sed s/\"//g` arp_table="$arp_table $sandbox,$bridge,$ip,$mac" - ovs-appctl netdev-dummy/ip4addr $bridge $ip/$masklen >/dev/null || return 1 + if test -z $(echo $ip | sed '/:/d'); then + ipversion="6" + else + ipversion="4" + fi + ovs-appctl netdev-dummy/ip${ipversion}addr $bridge $ip/$masklen >/dev/null || return 1 ovs-appctl ovs/route/add $ip/$masklen $bridge >/dev/null || return 1 local ovn_remote @@ -329,7 +334,7 @@ ovn_az_attach() { start_daemon ovn-controller --enable-dummy-vif-plug || return 1 } -# ovn_attach NETWORK BRIDGE IP [MASKLEN] +# ovn_attach NETWORK BRIDGE IP [MASKLEN] [ENCAP] # # First, this command attaches BRIDGE to interconnection network NETWORK, just # like "net_attach NETWORK BRIDGE". Second, it configures (simulated) IP From patchwork Fri Nov 4 09:00:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Huettner X-Patchwork-Id: 1699407 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::137; helo=smtp4.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=1U1k9EFb; dkim-atps=neutral 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 (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4N3ZND5lNXz1yqS for ; Fri, 4 Nov 2022 20:00:44 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id B540D41946; Fri, 4 Nov 2022 09:00:42 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org B540D41946 Authentication-Results: smtp4.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=1U1k9EFb X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wotcoIvWf5ea; Fri, 4 Nov 2022 09:00:40 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id 0AD6141940; Fri, 4 Nov 2022 09:00:39 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 0AD6141940 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id D4EEBC0033; Fri, 4 Nov 2022 09:00:38 +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 0186FC002D for ; Fri, 4 Nov 2022 09:00:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id F25848207A for ; Fri, 4 Nov 2022 09:00:23 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org F25848207A 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=1U1k9EFb 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 2PcV7ffIYVhb for ; Fri, 4 Nov 2022 09:00:22 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 853D782083 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2134.outbound.protection.outlook.com [40.107.104.134]) by smtp1.osuosl.org (Postfix) with ESMTPS id 853D782083 for ; Fri, 4 Nov 2022 09:00:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cujvJUwh6rc8AGX57qdNtMkY0867aPzYCFsBcZ8en0T/y1lTReHV0atjD1oAqdCuQ+LS+F2srW11Aj/ubaoktycns9XDomG8Ho71nBFnsOK3HopDw3cCnzOJSOfQcRQqCR+lroulQzlxjrTLyJlfxXBEAHydohQ9HjyfWFccg7BP95qenDzmQqowe98pXCX+Or7ACSvacvgNse9NdMknaLGIpRaQWUAgPJoRy9vSHuZSfQM/fpWDkIhAgtYicNjePM/MgJKdVcY7LP2gNbLtXHJwCEL3zkVVQaFjOfn6LE0Kw24/N9W4F6xkkVCOhpQb9ELpdH/kEjoAV6eQrjt6/g== 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=7fnb+6phTPh7kzLSsN8b1tRf2tWpSWEHNYyGpif0sb8=; b=V1xzj9pHaCndsb05k4uyvCMq2QpsswAJyHQD3LaLk/BMC4b3av2+wjCu84uKk+SrvaaVGn08n6VyTes8/sTldq5N23FO99lhuE09d+3Cezn4G9B6YdfwXMiS76aoLFU3MsCYvVSfo0fjRK6UJZCR4zaNRiKfHYqYXTdR2kIOHq1i3bbB/sAtgeZJfvT5gmQTyvrkw/Nm/ANjHcdHI9MMZtLzadj/TOWryBn+QiBmPtOaeqLzOlCynwbp5CG/wem2dC25Ck+YW8GbaXUDe75kawnNfS5lELYtFW8CyZ3oL7VQQnwN4vjY0vxOhxC1twKpLa+cQ0Rze4lmSlO2OOdJVQ== 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=7fnb+6phTPh7kzLSsN8b1tRf2tWpSWEHNYyGpif0sb8=; b=1U1k9EFbMy2tTgaCAHr4i50sn1cFoARLW3h6BODK1Hihc+Cuk8ZYTVv9pL6+y0P4wMpF7UUlcJnIDmW7u3ejv4nhdOv8+r4sb9qcU1wE28L1oLfo/jPepZpjdcQbyclQg1Fn0qMcVz62hD6RYMcpbEw18Z72gEsUSOhlVBzu/drAKoeMrZp9lgL3kK8ya1hErU5lhpBXYXMXWCAHfYjvfqC+GGnIoqTS6Zcb4/slh438myw/1ecLO8aAbn4hx0u6Ol/6dJ51K2XRSktAxTJJ4bHfB/Bhe70kKOkPLx+XFf5BaLPC5L9WggYkvdb6zT49xB+grD3MeUYJtz0iuFVgzw== Received: from DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34c::22) by DB9PR10MB7196.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:451::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Fri, 4 Nov 2022 09:00:20 +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; Fri, 4 Nov 2022 09:00:19 +0000 To: "dev@openvswitch.org" Thread-Topic: [PATCH ovn v3 4/4] pinctrl: Send RARPs for external ipv6 interfaces Thread-Index: AdjwKvsZ5iVue7O9Rn+XWhUO5+vGIw== Date: Fri, 4 Nov 2022 09:00:19 +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_|DB9PR10MB7196:EE_ x-ms-office365-filtering-correlation-id: 6339f5e4-ce94-40ed-e99c-08dabe42fffd 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: FInCBqn/X0YTlp0TqJsajFaaq8LLYMAJdM5Dic25dWusoRdu3/p3wVxbhkkDbpknwrdrwt9NPYWfiJE/k/0zojE9giSPbsPCmEbAZ6wZMqXpIY7o2AVWjQJWf5vcyMrK4Unbs3O89bi/QrJIuH4YxVD69KaUX8IqkmcLxEW3QP0NgQszzeGS4/wju1xaHhHZbK/9/I1h6k2JL8v85vKrlEvve2P3/p5H32jlmw3oVlKoK5MB1sCKcMuU/kD9kItw/bECug7hqYh1Yq1rQVJs2ZwqemOsdYhG3kdLU2GxPf97FaHRRaH9GmuIjXjE1mVJLtz/j2zO118qNKq9fTFMmFl81hC1LPsei0k1COu7smD9E4h1KCzPVOA2OGi5OjwmFpcQW5ihuU1uYftYsVRcZ0s1lNSPuXg5VT/Tuj7ArpdX9/9d9BhS8/m/YDsw1169EKppVYERHjdw/0vmt3TK0Psd9fXFB+tuL5K4AIpmeH2lejh5ufT4bC/khtnV7IFBvS86uzkstXMeEgfW1YmLBA9DQeLGptXo//ibMP4MCClqIsLiIwuZ1lXxCxUkb7xaMGxyU9zLIGNafgkVbhNWo+GM5WvMr7e82sd1xXN/DVQf6kp0DJhGY4v4pvGIwwLGn1tfOY9pmxlG3EaURK/9g/1+4zDiL98JFFAdV1wk139N+5V0qsSfaCOo9i5yeqX0G7nHk3FE4j3TbAZ5451pOiUIOQqoYj4zRj1SRhkt/XfyCbjwOLLZnLZfnl8G0bmh8azub6D/dkX+XRFBKyV96T6i2Lguc8H/KEXX4qo06VQ= 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)(376002)(396003)(136003)(346002)(366004)(451199015)(186003)(83380400001)(2906002)(5660300002)(66574015)(9686003)(122000001)(41300700001)(38070700005)(316002)(33656002)(71200400001)(66446008)(38100700002)(66556008)(478600001)(82960400001)(8936002)(66476007)(86362001)(52536014)(66946007)(8676002)(64756008)(76116006)(7696005)(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?IfPf5neLC02Hvpt5SL/6CzS?= =?iso-8859-1?q?uoXNMqOIqPxEWbI6rSV79QiG8Fl5eVoML/Y9P31Oxl1luo+5o3MshNwQQdSm?= =?iso-8859-1?q?InsBx7Hfu1a5swUhLf5j0ASAE628CsdJTvluXShyrEBc91+Hlf+enx1Ara95?= =?iso-8859-1?q?37tCGU5iNN/mjfsRdFu9d3oL1mOkCzcO09YZ4xBLIlIl8A3nYdl2v4LcTzws?= =?iso-8859-1?q?n5abOZMuCCVpNWq//GAdOBHXTznA6WaBtBJi6Uy6d0YZRSOaQ2r/Q7sXTYPQ?= =?iso-8859-1?q?g8hPBIFqrql9wnQVdAO7kl1MQE/ry1IJmC7QagDWxHyef4BliJcMZNCod+PC?= =?iso-8859-1?q?l6998gKl0tFCprCQ2Saok4vboIlQ1IYMlWyj/5eKXMZwkWwZtDur8enINqmE?= =?iso-8859-1?q?J6ZzkcLZaY2tnJafETOwXo4J90N29ftLnBRFgIBclPhl8lPLv/5evSARK4+3?= =?iso-8859-1?q?uPGOoe3DfZqJZN2YI4bhBOZ3Ep7IDVZBDARpq55iHJs1UEg6HXlhWbr8pZsM?= =?iso-8859-1?q?mdl8OYaOsbUT8zRHtNoxGnJAo82CJAy/QnDShIAbF2DQnEJl7VqKEGa1Rs0V?= =?iso-8859-1?q?771Dv64phJaBsoml1mYscgKHw5TdoUEydJadWgYoRa8M16SjKkRUnz3XCLLT?= =?iso-8859-1?q?OB2il7yIv+O4bqENJmCSF95rbe0LINJivAPnhgKpTRWTPTgKDFXid6ppylfA?= =?iso-8859-1?q?BnsCLOOxvQQZUs86rK6/DOTI+F/7lJ/rVsOZ8WQuItWOxoN2EoOJ6hOaU/Rm?= =?iso-8859-1?q?CFJ3LdXF9rFJEkDlGv08MWIHTNhQ6zZvcRBXqtCjDjEdMZm07EdfvjEIQpf4?= =?iso-8859-1?q?106Zbcxv8eiKDbw+bzfu9iIVqMu3K64+Hz5Caqnqaia3gzeNq2w5M6pSVb4M?= =?iso-8859-1?q?LWzFkCI0QQGyhhQTLKdqTNj3WBgrdoG2htRh8DUMCJvTc69hwgYg5jEAFjD9?= =?iso-8859-1?q?+SPHjt7pbygs1uPBTWA1TDwOg7LbfMqkeQys3bIHGZpnGYYtsaWlLM/M2KWa?= =?iso-8859-1?q?eF2+APkbzSzK/6yPEYYf/l1wRd0ZD8YGYjy+3blotBWH7MP7PY6/KOeiXb8M?= =?iso-8859-1?q?Q7ywa1u1RL/G1icBRG4lWyVSnhDMxVR3ATp4EqSAHRemtDXq3+maKsm/iH1p?= =?iso-8859-1?q?bfCs6hBkgPuIiYQqDyVZxoHPmDC4tf2JAKIkwMSe4Go6jQSIzQgtMr9pn6te?= =?iso-8859-1?q?8FxTJ6cBAcSz1iPJ7Q5Mq6WXDoNdAuda5l1c4ejI8f+xftbCP+2orJ139olm?= =?iso-8859-1?q?oY06Po0qWKbFljEJ0bCJzWabNJng5xLpFde9R46RqgqUiyIwhW8idRFn/Plg?= =?iso-8859-1?q?Yi+MMbCnKn4NDY4ol8mIZY2yByLlh9v9E6z7+CQIosp2vxvzvBFuyIn9FtRn?= =?iso-8859-1?q?Cef7mJCPOXRlOtM8mcMt/Cdu7Na5ACQUyhtxFvFjXEIuCbXfEs189jRr/AQO?= =?iso-8859-1?q?weiY/9I5uLa/6LvAVroTA5xZmNw2dHSky77ZK1SZ2R2354j5jh6dilEkMCCn?= =?iso-8859-1?q?2eagUQNltlY/1YyacWp+4xMvZ8bm+fy+l8K0Hg6GgPLxrI0e8t/RZAxp77xD?= =?iso-8859-1?q?Autgb6aaXeNp9fFUkdBu+W8gGQXxHj/68wK9s/KlErO1B4mgLzt5x9VWGnHi?= =?iso-8859-1?q?YjtTwhAwfFncOwO5Pk5lA7n1GoPuzwQO7GsMbn0R+nNsEJ2f5GyevYomkFEu?= =?iso-8859-1?q?wnBlGvYcT+q/TDYx6d0xoSg4ykwThb8vTdqma3YJwvw=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: 6339f5e4-ce94-40ed-e99c-08dabe42fffd X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2022 09:00:19.7671 (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: MAsGSHWHKPgRC3fGgk8Mx+WZBzsnRmMFGxrPhRMj7OoAFoi9orriXfF6Ak+kl/guWObM4R9j4D2OdqcWS4HcEz1LBh3j+QjbUij/yqyNSDc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR10MB7196 Subject: [ovs-dev] [PATCH ovn v3 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 184fc0fdd..6552681bd 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 + +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])