From patchwork Fri Jun 19 11:09:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Numan Siddique X-Patchwork-Id: 1312802 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.138; helo=whitealder.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ovn.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49pGL92z70z9sNR for ; Fri, 19 Jun 2020 21:10:09 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id BA78E88E94; Fri, 19 Jun 2020 11:10:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FrlhSQ6vC0mb; Fri, 19 Jun 2020 11:10:04 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by whitealder.osuosl.org (Postfix) with ESMTP id 16ADC88AC9; Fri, 19 Jun 2020 11:10:04 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id B751CC0865; Fri, 19 Jun 2020 11:10:03 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2E3D5C016E for ; Fri, 19 Jun 2020 11:10:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 237ED87126 for ; Fri, 19 Jun 2020 11:10:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2UQkYl398Jzz for ; Fri, 19 Jun 2020 11:10:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [217.70.183.193]) by fraxinus.osuosl.org (Postfix) with ESMTPS id A192185E79 for ; Fri, 19 Jun 2020 11:10:01 +0000 (UTC) X-Originating-IP: 115.99.208.123 Received: from nusiddiq.home.org.com (unknown [115.99.208.123]) (Authenticated sender: numans@ovn.org) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id C32F0240008; Fri, 19 Jun 2020 11:09:57 +0000 (UTC) From: numans@ovn.org To: dev@openvswitch.org Date: Fri, 19 Jun 2020 16:39:50 +0530 Message-Id: <20200619110950.2355684-1-numans@ovn.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Subject: [ovs-dev] [PATCH ovn v13 0/7] Incremental processing 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 handles port binding, datapath binding, ovs interface changes, runtime data changes, sb chassis changes incrementally. v12 -> v13 ----- * Addressed the review comments from Dumitru. * Fixed the test case added in p5 which was failing intermittently. * Patch 3 commit message has the test results with these patches. v11 -> v12 ---- * Rebased the patches to latest master. * Add a new patch p7 which changes the signature of some of the static functions added recently in binding.c so that the out param is the last param. v10 -> v11 ---- * The firt 3 patches of v10 are now merged to master. * The v11 has now 6 patches. * Addressed the review comments from Dumitru. * Added another new patch - which adds the util function get_unique_lport_key() and use this function in places where it was generating this key earlier. v9 -> v10 ---- * Addressed review comments. * Changed the patch 4 from adding a separate tracking variable in I-P engine to just adding a new function - clear_tracked_data() as per the review comments. * Dropped the patch 9 - "ovn-controller: Handle sbrec_chassis changes incrementally." from the series. I couldn't address the review comments for this patch in v9. Hence dropped this patch for now. I'll work on it later and submit the patch separately. * Added a new test only patch - patch 9 in ovn-performance.at to test the distributed logical router ports scenario and BFD. v8 -> v9 ---- * Addressed the review comments from Dumitru and missed v7 comments from Han. * Any change to the 'local_lport_ids' while handling the OVS interface and Port binding changes in binding.c is now added to the tracked datapaths which was not done earlier. * Dropped the check to lflow_evaluate_pb_changes() in flow_output port binding handler as it is not required. v7 -> v8 ---- * Dropped the patch 4 as it is not needed, thanks to Han. * Swapped the patches 5 and 6, which are now patch 4 and 5. The v8 patch 5 will now make use of tracked data support of engine to clear the physical_flow changes. * Addressed comments from Han. Added comments in Patch 5 and Patch 6. v6 -> v7 ---- * Addressed the review comments from Han in patch 1 and patch 2. v5 -> v6 ---- * Addressed the review comments from Dumitru. * Patch 1 and Patch 2 are significantly changed due to further refactoring. v4 -> v5 ---- * Applied patch 1 of v4 to master. * Addressed the review comments from Han for patch 2. * Rebased to latest master. v3 -> v4 ---- * A small fix in patch 3 when binding the port for ovs interface change. * Rebased to latest master. v2 -> v3 ---- * Added back the patch 5 and 6 and added 4 more patches. So totally totally 10 patches in the series * Handling the runtime data changes in flow computation. * Handling sbrec_chassis changes. v1 -> v2 ------ * Addressed the review comments from Han in patch 1, 2 and 3. * Removed patch 5 and 6 from the series. As per the comments from Han, we should handle runtime data changes in flow output engine. But the patch 6 of the series had added a no-op handler. So removed these 2 patches until those are addressed. RFC v2 -> v1 --------- * Fixed the 2 failing test cases. * Updated the commit messages. RFC v1 -> RFC v2 --------- * Added 2 new patches * Patch 5 (ofctrl_check_and_add_flow) was submitted earlier too and the previous discussion is here - https://patchwork.ozlabs.org/patch/1202417/ * Patch 6 handles I-P for ct_zone and OVS interface changes in flow_output_run stage. Numan Siddique (6): Refactor binding_run()to take two context argument - binding_ctx_in and binding_ctx_out. ovn-controller: Refactor binding.c ovn-controller: I-P for port binding in runtime_data stage ovn-controller: I-P for datapath binding ofctrl_check_and_add_flow: Replace the actions of an existing flow if actions have changed. ovn-controller: I-P for ct zone and OVN Numan Siddique (6): I-P engine: Provide the option for an engine to clear tracked engine data in every run. ovn-controller: I-P for ct zone and OVS interface changes in flow output stage. ovn-controller: Handle runtime data changes in flow output engine tests: Enhance ovn-performance testing by adding gw router port. Add an util function get_unique_lport_key() for generating unique lport key. binding.c: Reorder out params of some of the static functions. Venkata Anil (1): ovn-controller: Use the tracked runtime data changes for flow calculation. controller/binding.c | 260 +++++++++++++++++-------- controller/binding.h | 47 ++++- controller/lflow.c | 89 ++++++++- controller/lflow.h | 12 +- controller/ovn-controller.c | 374 +++++++++++++++++++++++++++++++----- controller/physical.c | 53 +++++ controller/physical.h | 5 +- lib/inc-proc-eng.c | 8 + lib/inc-proc-eng.h | 9 + lib/ovn-util.h | 8 + tests/ovn-performance.at | 138 +++++++++++-- 11 files changed, 856 insertions(+), 147 deletions(-) Acked-by: Dumitru Ceara