From patchwork Fri Jul 16 11:41:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Numan Siddique X-Patchwork-Id: 1506140 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=2605:bc80:3010::136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GR8Vp47yBz9sXJ for ; Fri, 16 Jul 2021 21:42:42 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id B21866F987; Fri, 16 Jul 2021 11:42:39 +0000 (UTC) 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 Zoss3jqQcPzR; Fri, 16 Jul 2021 11:42:38 +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 F29016064D; Fri, 16 Jul 2021 11:42:37 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id B1AF4C001A; Fri, 16 Jul 2021 11:42:37 +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 8699CC000E for ; Fri, 16 Jul 2021 11:42:35 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 679A84012B for ; Fri, 16 Jul 2021 11:42:35 +0000 (UTC) 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 IwGpTTUZAbqI for ; Fri, 16 Jul 2021 11:42:34 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by smtp2.osuosl.org (Postfix) with ESMTPS id 1C368400F7 for ; Fri, 16 Jul 2021 11:42:33 +0000 (UTC) Received: (Authenticated sender: numans@ovn.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 66D4260004; Fri, 16 Jul 2021 11:42:29 +0000 (UTC) From: numans@ovn.org To: dev@openvswitch.org Date: Fri, 16 Jul 2021 07:41:58 -0400 Message-Id: <20210716114158.1895109-1-numans@ovn.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [ovs-dev] [PATCH ovn v2 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. v1 -> v2 ---- * Rebased to resolve the conflct. 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 | 565 ++++++++++++++---------------------- controller/binding.h | 36 ++- controller/ldata.c | 537 ++++++++++++++++++++++++++++++++++ controller/ldata.h | 164 +++++++++++ controller/lflow.c | 6 +- controller/lflow.h | 1 + controller/lport.c | 40 +++ controller/lport.h | 7 +- controller/ovn-controller.c | 251 +++++++++++----- controller/ovn-controller.h | 42 --- controller/patch.c | 1 + controller/physical.c | 382 ++++++------------------ 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, 1320 insertions(+), 771 deletions(-) create mode 100644 controller/ldata.c create mode 100644 controller/ldata.h Reviewed-by: Mark Michelson