From patchwork Wed Oct 30 21:12:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Han Zhou X-Patchwork-Id: 1186958 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.169.12; helo=mail.linuxfoundation.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 mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 473LlW1Lfdz9sQr for ; Thu, 31 Oct 2019 08:13:10 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 1EFB1D7D; Wed, 30 Oct 2019 21:13:08 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 9AEA2C7D for ; Wed, 30 Oct 2019 21:13:06 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 89FC48A0 for ; Wed, 30 Oct 2019 21:13:05 +0000 (UTC) X-Originating-IP: 216.113.160.77 Received: from localhost.localdomain.localdomain (unknown [216.113.160.77]) (Authenticated sender: hzhou@ovn.org) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id D3A631C0007; Wed, 30 Oct 2019 21:13:02 +0000 (UTC) From: Han Zhou To: dev@openvswitch.org Date: Wed, 30 Oct 2019 14:12:40 -0700 Message-Id: <1572469973-2733-1-git-send-email-hzhou@ovn.org> X-Mailer: git-send-email 2.1.0 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Han Zhou Subject: [ovs-dev] [PATCH ovn v2 00/13] OVN Interconnection X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org The series supports interconnecting multiple OVN deployments (e.g. located at multiple data centers) through logical routers connected with tansit logical switches with overlay tunnels, managed through OVN control plane. See the ovn-architecture.rst document updates for more details, and find the instructions in Documentation/tutorials/ovn-interconnection.rst. Han Zhou (13): ovn-architecture: Add documentation for OVN interconnection feature. ovn-inb: Interconnection northbound DB schema and CLI. ovn-isb: Interconnection southbound DB schema and CLI. ovn-ic: Interconnection controller with AZ registeration. ovn-northd.c: Refactor allocate_tnlid. ovn-ic: Transit switch controller. ovn-sb: Add columns is_interconn and is_remote to Chassis. ovn-ic: Interconnection gateway controller. ovn-ic: Interconnection port controller. ovn.at: e2e test for OVN interconnection. ovn-ctl: Refactor to reduce redundant code. ovn-ctl: Support commands for interconnection. tutorial: Add tutorial for OVN Interconnection. .gitignore | 6 + Documentation/automake.mk | 1 + Documentation/tutorials/index.rst | 1 + Documentation/tutorials/ovn-interconnection.rst | 188 ++++ Makefile.am | 1 + NEWS | 5 + TODO.rst | 10 + automake.mk | 75 ++ controller/binding.c | 6 +- controller/chassis.c | 14 + debian/ovn-common.install | 2 + debian/ovn-common.manpages | 4 + ic/.gitignore | 2 + ic/automake.mk | 10 + ic/ovn-ic.8.xml | 111 +++ ic/ovn-ic.c | 1050 +++++++++++++++++++++++ lib/.gitignore | 6 + lib/automake.mk | 32 +- lib/ovn-inb-idl.ann | 9 + lib/ovn-isb-idl.ann | 9 + lib/ovn-util.c | 92 ++ lib/ovn-util.h | 15 + northd/ovn-northd.c | 108 +-- ovn-architecture.7.xml | 107 ++- ovn-inb.ovsschema | 75 ++ ovn-inb.xml | 371 ++++++++ ovn-isb.ovsschema | 129 +++ ovn-isb.xml | 582 +++++++++++++ ovn-nb.ovsschema | 5 +- ovn-nb.xml | 28 +- ovn-sb.ovsschema | 8 +- ovn-sb.xml | 24 + tests/automake.mk | 8 +- tests/ovn-ic.at | 192 +++++ tests/ovn-inbctl.at | 65 ++ tests/ovn-isbctl.at | 112 +++ tests/ovn-macros.at | 161 +++- tests/ovn.at | 149 ++++ tests/testsuite.at | 3 + tutorial/ovs-sandbox | 78 +- utilities/.gitignore | 4 + utilities/automake.mk | 16 + utilities/ovn-ctl | 423 ++++++++- utilities/ovn-ctl.8.xml | 91 ++ utilities/ovn-inbctl.8.xml | 174 ++++ utilities/ovn-inbctl.c | 948 ++++++++++++++++++++ utilities/ovn-isbctl.8.xml | 148 ++++ utilities/ovn-isbctl.c | 1015 ++++++++++++++++++++++ 48 files changed, 6528 insertions(+), 145 deletions(-) create mode 100644 Documentation/tutorials/ovn-interconnection.rst create mode 100644 ic/.gitignore create mode 100644 ic/automake.mk create mode 100644 ic/ovn-ic.8.xml create mode 100644 ic/ovn-ic.c create mode 100644 lib/ovn-inb-idl.ann create mode 100644 lib/ovn-isb-idl.ann create mode 100644 ovn-inb.ovsschema create mode 100644 ovn-inb.xml create mode 100644 ovn-isb.ovsschema create mode 100644 ovn-isb.xml create mode 100644 tests/ovn-ic.at create mode 100644 tests/ovn-inbctl.at create mode 100644 tests/ovn-isbctl.at create mode 100644 utilities/ovn-inbctl.8.xml create mode 100644 utilities/ovn-inbctl.c create mode 100644 utilities/ovn-isbctl.8.xml create mode 100644 utilities/ovn-isbctl.c