From: Numan Siddique <nusid...@redhat.com> This patch series adds a generic HA chassis group support in OVN deprecating the existing Gateway chassis support. The final patch of the series adds the 'external' port support in OVN. The 'external' port patch addresses the review comments from Han Zhou which he provided when 'external' port patch was submitted without the HA support.
A generic HA chassis group support is added so that both the distributed logical router ports (providing gateway functionality) and 'external' ports can use it for HA and also to simplify the existing HA code (which seems to be a bit complicated). To support HA, BFD is configured on tunnel ports. And even though 'external' ports are expected to be used with the logical switches having localnet ports (representing physical networks), BFD is used for now since each chassis uses geneve tunnels with all other chassis in the OVN cluster. v3 -> v4 ----- * Addressed the review comments from Han on patch 2. v2 -> v3 ------ * Addressed the review comments from Han on patch 2. - Added the code to set the ref_chassis for cases where a logical port can reach a gateway router port via indirect connections. - Removed the deprecation message about Gateway_chassis in ovn-nb.xml * Rebased few patches to resolve merge conflicts. v1 -> v2 ------- * Rebased as there were merge conflicts * Addressed the review comment from Han in the patch 1. Numan Siddique (5): ovn-northd: Reuse the hmaps - datapaths and ports in ovnsb_db_run() ovn: Add generic HA chassis group ovn-controller: Make use of ha_chassis_group table to bind the chassisredirect ports ovn-northd: Delete the references to gateway_chasss in SB DB ovn: Support a new Logical_Switch_Port.type - 'external' NEWS | 2 + ovn/controller/automake.mk | 4 +- ovn/controller/bfd.c | 229 +++---- ovn/controller/bfd.h | 11 +- ovn/controller/binding.c | 31 +- ovn/controller/binding.h | 1 - ovn/controller/gchassis.c | 222 ------- ovn/controller/gchassis.h | 71 --- ovn/controller/ha-chassis.c | 203 ++++++ ovn/controller/ha-chassis.h | 50 ++ ovn/controller/lflow.c | 29 +- ovn/controller/lflow.h | 3 +- ovn/controller/ovn-controller.c | 14 +- ovn/controller/physical.c | 109 ++-- ovn/controller/physical.h | 3 +- ovn/controller/pinctrl.c | 38 +- ovn/controller/pinctrl.h | 1 - ovn/lib/chassis-index.c | 26 + ovn/lib/chassis-index.h | 4 + ovn/lib/ovn-util.c | 1 + ovn/northd/ovn-northd.8.xml | 37 +- ovn/northd/ovn-northd.c | 934 ++++++++++++++++++++------- ovn/ovn-architecture.7.xml | 71 +++ ovn/ovn-nb.ovsschema | 42 +- ovn/ovn-nb.xml | 131 ++++ ovn/ovn-sb.ovsschema | 43 +- ovn/ovn-sb.xml | 63 ++ ovn/utilities/ovn-nbctl.8.xml | 41 ++ ovn/utilities/ovn-nbctl.c | 221 +++++++ ovn/utilities/ovn-sbctl.c | 6 + tests/ovn-northd.at | 567 ++++++++++++++++- tests/ovn.at | 1041 ++++++++++++++++++++++++++++++- 32 files changed, 3390 insertions(+), 859 deletions(-) delete mode 100644 ovn/controller/gchassis.c delete mode 100644 ovn/controller/gchassis.h create mode 100644 ovn/controller/ha-chassis.c create mode 100644 ovn/controller/ha-chassis.h -- 2.20.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev