From patchwork Tue Dec 3 11:08:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ales Musil X-Patchwork-Id: 2017699 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Na6366lm; dkim-atps=neutral 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=patchwork.ozlabs.org) 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 (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Y2dFf4FYvz1yQZ for ; Tue, 3 Dec 2024 22:09:09 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 6565640990; Tue, 3 Dec 2024 11:09:03 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id GgVnsfCdWkTu; Tue, 3 Dec 2024 11:09:02 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 14BCF4011C Authentication-Results: smtp2.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Na6366lm Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 14BCF4011C; Tue, 3 Dec 2024 11:09:02 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E2545C0889; Tue, 3 Dec 2024 11:09:01 +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 7524DC087D for ; Tue, 3 Dec 2024 11:09:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 649724096B for ; Tue, 3 Dec 2024 11:09:01 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id v2_knvHbTbqX for ; Tue, 3 Dec 2024 11:09:00 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=amusil@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org 4425B4011C Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 4425B4011C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id 4425B4011C for ; Tue, 3 Dec 2024 11:08:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1733224138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=856N0kA86C8J7Fyz5fSLPI+/M8KZbmoVm42VGhF+QHI=; b=Na6366lm6I0laLt23sBu4OVuP43mYRMc5YCBhiRxgxeGxdaa7oSZ8wpsVaUichZ6S5PNRL 2fHPsPKym0HE9RePVm7JPiwEep44ItnxT20gozX7smyBuEXuL6GBT8FuozQZIDlfNM1f7m TCmIx8CY6ASkgz41yS+sbF4VPW9OjOI= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-492-EqV4hhXhPFyjqXepd5axTg-1; Tue, 03 Dec 2024 06:08:56 -0500 X-MC-Unique: EqV4hhXhPFyjqXepd5axTg-1 X-Mimecast-MFC-AGG-ID: EqV4hhXhPFyjqXepd5axTg Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id F3F161956046 for ; Tue, 3 Dec 2024 11:08:55 +0000 (UTC) Received: from amusil.brq.redhat.com (unknown [10.43.17.32]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 7A6891955E98; Tue, 3 Dec 2024 11:08:54 +0000 (UTC) From: Ales Musil To: dev@openvswitch.org Date: Tue, 3 Dec 2024 12:08:42 +0100 Message-ID: <20241203110853.201377-1-amusil@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: dv5KDVR9AZZeRsCs2VJR6EcFpP0TUV-OzSwzY9Ezy7A_1733224136 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH ovn 0/6] Introduce the concept of transit router. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" The first two commis are refactors that make the further changes to physical.c eaiser and server as optimization at the same time to some extent. In order to have transit router we have to allow peer port connection between LR patch port l3gateway types. This allows direct connection of two LRs, one of the being transit router and the second one being GW router. This is taken care of commit 3/6. To be fair this can change can be useful in general even without transit router. The 4/6 and 6/6 is the actual work needed for transit router. First is the way to define remote ports for logical router which on it's own is the main component that results in the transit router. The LRP can be set remote by setting options:requested-chassis to chassis that has is-remote=true. Only one chassis is supported at time. The 6/6 is needed in cases when one AZ ARPs port in other AZ, without this the ARP wouldn't be delivered to the original AZ, which would result in dropped traffic. Ales Musil (6): physical: Use struct physical_ctx instead of passing args one by one. physical: Avoid most of strcmp for port binding type. physical: Allow l3gateway and patch port to be peers. northd: Introduce the concept of transit routers. actions, physical: Make the MC split action generic. northd, controller: Flood ARP and NA packet on transit router. NEWS | 3 + controller/lflow.c | 1 + controller/lflow.h | 4 + controller/physical.c | 569 +++++++++++++++++++++++--------------- controller/pinctrl.c | 21 +- include/ovn/actions.h | 7 +- lib/actions.c | 19 +- lib/ovn-util.c | 2 +- northd/northd.c | 43 ++- northd/northd.h | 4 + ovn-nb.xml | 43 +++ tests/multinode-macros.at | 48 ++++ tests/multinode.at | 196 +++++++++++++ tests/ovn-controller.at | 168 +++++++++++ tests/ovn-macros.at | 1 + tests/ovn-northd.at | 51 ++++ tests/ovn.at | 10 +- tests/test-ovn.c | 1 + utilities/ovn-trace.c | 3 + 19 files changed, 947 insertions(+), 247 deletions(-)