[ovs-dev] [PATCH ovn v3 00/13] OVN Interconnection

Han Zhou hzhou at ovn.org
Tue Jan 28 02:55:25 UTC 2020


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.

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                                  |   16 +
 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, 6787 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



More information about the dev mailing list