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.
v3 -> v4: rebase on master v2 -> v3: - Addressed Numan's comments: - Rename ovn-inbctl => ovn-ic-nbctl ovn-isbctl => ovn-ic-sbctl. - Update tunnel keys through northd instead of directly update SB-DB by ovn-ic. - Rename is-interconn to ovn-is-interconn in chassis ovsdb settings. - Add a section in ovn-architecture for "A day in the life of a packet crossing AZs". - Set hostname for chassis in test cases. - In addition, there are some other changes: - Avoid unnecessary tunnel and bfd sessions to remote chassis. - Use external_ids keys "is-remote" and "is-interconn" in SB Chassis table, instead of adding new columns is_remote and is_interconn, to avoid too many columns. Han Zhou (13): ovn-architecture: Add documentation for OVN interconnection feature. ovn-ic-nb: Interconnection northbound DB schema and CLI. ovn-ic-sb: 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 keys is_interconn and is_remote to Chassis's external_ids. 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 | 6 + automake.mk | 71 ++ controller/bfd.c | 6 +- controller/binding.c | 6 +- controller/chassis.c | 25 +- controller/encaps.c | 15 +- controller/encaps.h | 3 +- controller/ovn-controller.8.xml | 6 + controller/ovn-controller.c | 2 +- debian/ovn-common.install | 2 + debian/ovn-common.manpages | 4 + ic/.gitignore | 2 + ic/automake.mk | 10 + ic/ovn-ic.8.xml | 120 +++ ic/ovn-ic.c | 1104 +++++++++++++++++++++++ lib/.gitignore | 6 + lib/automake.mk | 31 +- lib/ovn-ic-nb-idl.ann | 9 + lib/ovn-ic-sb-idl.ann | 9 + lib/ovn-util.c | 92 ++ lib/ovn-util.h | 17 + northd/ovn-northd.c | 224 +++-- ovn-architecture.7.xml | 144 ++- ovn-ic-nb.ovsschema | 75 ++ ovn-ic-nb.xml | 371 ++++++++ ovn-ic-sb.ovsschema | 129 +++ ovn-ic-sb.xml | 582 ++++++++++++ ovn-nb.ovsschema | 5 +- ovn-nb.xml | 66 +- ovn-sb.xml | 24 + tests/automake.mk | 8 +- tests/ovn-ic-nbctl.at | 65 ++ tests/ovn-ic-sbctl.at | 112 +++ tests/ovn-ic.at | 188 ++++ tests/ovn-macros.at | 161 +++- tests/ovn.at | 147 +++ tests/testsuite.at | 3 + tutorial/ovs-sandbox | 78 +- utilities/.gitignore | 4 + utilities/automake.mk | 16 + utilities/ovn-ctl | 425 ++++++++- utilities/ovn-ctl.8.xml | 91 ++ utilities/ovn-ic-nbctl.8.xml | 174 ++++ utilities/ovn-ic-nbctl.c | 950 +++++++++++++++++++ utilities/ovn-ic-sbctl.8.xml | 148 +++ utilities/ovn-ic-sbctl.c | 1017 +++++++++++++++++++++ 52 files changed, 6788 insertions(+), 167 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-ic-nb-idl.ann create mode 100644 lib/ovn-ic-sb-idl.ann create mode 100644 ovn-ic-nb.ovsschema create mode 100644 ovn-ic-nb.xml create mode 100644 ovn-ic-sb.ovsschema create mode 100644 ovn-ic-sb.xml create mode 100644 tests/ovn-ic-nbctl.at create mode 100644 tests/ovn-ic-sbctl.at create mode 100644 tests/ovn-ic.at create mode 100644 utilities/ovn-ic-nbctl.8.xml create mode 100644 utilities/ovn-ic-nbctl.c create mode 100644 utilities/ovn-ic-sbctl.8.xml create mode 100644 utilities/ovn-ic-sbctl.c -- 2.1.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev