From patchwork Tue Jul 13 21:54:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Numan Siddique X-Patchwork-Id: 1504892 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GPZFN5hhfz9sX1 for ; Wed, 14 Jul 2021 07:55:36 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id A99894065B; Tue, 13 Jul 2021 21:55:34 +0000 (UTC) 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 OpHIjJ-19rhy; Tue, 13 Jul 2021 21:55:33 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTPS id C0FB340633; Tue, 13 Jul 2021 21:55:32 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 94208C001A; Tue, 13 Jul 2021 21:55:32 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 925B4C000E for ; Tue, 13 Jul 2021 21:55:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 74D6A40634 for ; Tue, 13 Jul 2021 21:55:31 +0000 (UTC) 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 men3xfQZqSfU for ; Tue, 13 Jul 2021 21:55:30 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) by smtp4.osuosl.org (Postfix) with ESMTPS id 1D7B940633 for ; Tue, 13 Jul 2021 21:55:00 +0000 (UTC) Received: (Authenticated sender: numans@ovn.org) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 142BB40002; Tue, 13 Jul 2021 21:54:57 +0000 (UTC) From: numans@ovn.org To: dev@openvswitch.org Date: Tue, 13 Jul 2021 17:54:39 -0400 Message-Id: <20210713215439.248927-1-numans@ovn.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [ovs-dev] [PATCH ovn 0/5] pflow_output and ct_zone engine improvements. 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: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Numan Siddique This patch series attempts to improve the handling of runtime_data changes in the engine nodes - ct_zones and pflow_output. It also attempts to improve the handling of ct_zones change in pflow_output engine. After this patch series, the amount of full recomputes of pflow_output engine is reduced drastically. This helps in scaled environments. For example with the simple ovn-scale-test which creates 20 logical ports (10 each in one logical switch) and binds it equally on two chassis, reduces the number of physical_run() calls from around 30 to around 8. Numan Siddique (5): controller: Move 'struct local_datapath' to a separate file. binding: Add the localport port binding in the binding_lport information. binding: Track the changes of container lport when it's parent changes. I-P: Handle runtime data changes for plow_output engine. controller: Improve ct zone handling. controller/automake.mk | 4 +- controller/binding.c | 564 ++++++++++++++---------------------- controller/binding.h | 36 ++- controller/ldata.c | 536 ++++++++++++++++++++++++++++++++++ controller/ldata.h | 162 +++++++++++ controller/lflow.c | 6 +- controller/lflow.h | 1 + controller/lport.c | 40 +++ controller/lport.h | 7 +- controller/ovn-controller.c | 249 +++++++++++----- controller/ovn-controller.h | 40 --- controller/patch.c | 1 + controller/physical.c | 367 +++++------------------ controller/physical.h | 13 +- controller/pinctrl.c | 1 + lib/inc-proc-eng.h | 4 + tests/ovn-controller.at | 35 ++- tests/ovn.at | 2 +- 18 files changed, 1298 insertions(+), 770 deletions(-) create mode 100644 controller/ldata.c create mode 100644 controller/ldata.h