This series adds a new ovn controller, ovn-controller-vtep, for VTEP enabled physical switches.
This V5 is not simply a rebase on top of the current master. With the additon of logcial port 'type' and 'options' columns in ovn-nb schema, and the new way of generating tunnel keys, this series contains some series rework and optimization over the previous verions. Specifically: 1. ovn logical port to be bound to a VTEP gateway chassis must be configured with type "vtep" and "options:vtep-physical-switch" and "vtep-logical-switch". 2. ovn-controller-vtep is responsible for setting the tunnel key of the VTEP logical switch. 3. more unittests are added for different corner cases. Any comments are welcomed~ Go OVN! ~ Alex Wang (12): ovn-sb: Remove the "Gateway" table from the ovn-sb schema. ovn-nbctl: Move ovn-nbctl to utilities directory. ovn-sbctl: Add ovn-sbctl. ovn-northd: Pass logical port type and options to ovn-sb database. idl-loop: Move idl-loop into ovsdb-idl library. ovn: Add controller for VTEP gateway. ovsdb-idl: Move get_initial_snapshot() to ovsdb-idl. ovn-controller-vtep: Add gateway module. ovn-controller-vtep: Add binding module. ovn-controller-vtep: Add vtep module. ovn-controller-vtep: Extend vtep module to install Ucast_Macs_Remote. ovn: Update TODOs related to vtep controller. lib/ovsdb-idl.c | 87 +++ lib/ovsdb-idl.h | 27 + manpages.mk | 12 + ovn/.gitignore | 2 - ovn/TODO | 27 + ovn/automake.mk | 12 +- ovn/controller-vtep/.gitignore | 2 + ovn/controller-vtep/automake.mk | 14 + ovn/controller-vtep/binding.c | 247 +++++++ ovn/controller-vtep/binding.h | 27 + ovn/controller-vtep/gateway.c | 224 +++++++ ovn/controller-vtep/gateway.h | 26 + ovn/controller-vtep/ovn-controller-vtep.8.xml | 70 ++ ovn/controller-vtep/ovn-controller-vtep.c | 266 ++++++++ ovn/controller-vtep/ovn-controller-vtep.h | 51 ++ ovn/controller-vtep/vtep.c | 368 +++++++++++ ovn/controller-vtep/vtep.h | 27 + ovn/controller/ovn-controller.c | 125 +--- ovn/northd/ovn-northd.c | 2 + ovn/ovn-nb.xml | 31 +- ovn/ovn-sb.ovsschema | 16 +- ovn/ovn-sb.xml | 75 ++- ovn/utilities/.gitignore | 4 + ovn/utilities/automake.mk | 23 +- ovn/{ => utilities}/ovn-nbctl.8.xml | 0 ovn/{ => utilities}/ovn-nbctl.c | 0 ovn/utilities/ovn-sbctl.8.in | 160 +++++ ovn/utilities/ovn-sbctl.c | 870 +++++++++++++++++++++++++ tests/automake.mk | 7 +- tests/ovn-controller-vtep.at | 432 ++++++++++++ tests/ovn-sbctl.at | 74 +++ tests/testsuite.at | 2 + 32 files changed, 3131 insertions(+), 179 deletions(-) create mode 100644 ovn/controller-vtep/.gitignore create mode 100644 ovn/controller-vtep/automake.mk create mode 100644 ovn/controller-vtep/binding.c create mode 100644 ovn/controller-vtep/binding.h create mode 100644 ovn/controller-vtep/gateway.c create mode 100644 ovn/controller-vtep/gateway.h create mode 100644 ovn/controller-vtep/ovn-controller-vtep.8.xml create mode 100644 ovn/controller-vtep/ovn-controller-vtep.c create mode 100644 ovn/controller-vtep/ovn-controller-vtep.h create mode 100644 ovn/controller-vtep/vtep.c create mode 100644 ovn/controller-vtep/vtep.h rename ovn/{ => utilities}/ovn-nbctl.8.xml (100%) rename ovn/{ => utilities}/ovn-nbctl.c (100%) create mode 100644 ovn/utilities/ovn-sbctl.8.in create mode 100644 ovn/utilities/ovn-sbctl.c create mode 100644 tests/ovn-controller-vtep.at create mode 100644 tests/ovn-sbctl.at -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev