This patch series updates the vtep schema to support source node replication in addition to service node replication per logical switch. The default replication mode is service_node as that was the only mode previously supported.
New vtep-ctl commands are added to set/reset/get the replication mode per logical switch. Setting the replication mode is optional and if no configuration is done, the replication mode is service node. Resetting the replication mode sets the replication mode back to a default of service node. In the event that a physical switch cannot support source node replication, an error is populated in the database that can be read by a controller requesting source node replication mode. If the controller then resets the replication mode, the physical switch should clear the error state. The vtep emulator is also updated to read the vtep database logical switch replication mode and to support both types of replication. The vtep emulator help documentation is also updated. v1->v2: Offline discussion In this discussion, it was agreed only logical switch level replication mode configuration is needed. The rational was that physical switch level option configuration was only added as a convenience; using a controller, the added benefit is minimal and hence the physical switch level configuration portion is dropped and the logical switch level configuration retained. Although in v1, service node mode is the default replication mode, v2 makes replication mode an option and only source node mode can be optionally configured. If a physical switch cannot support source node replication, then an error should be set in the physical switch table that can be read by a controller. v2->v3: Fixed a couple bugs in ovs-vtep I noticed after v2. v3->v4: Added recommendation text for handling lack of source node replication mode support on a transport node in a logical switch, with input from Bruce and Anupam (offline); added to vtep.xml. Also added recommendation for proactive source node replication mode support. Reworded alternate replication mode description in vtep.xml per Bruce. Shorten name to Alternate Replication Mode from per logical switch Alternate Replication Mode. v4->v5: Substituted "vtep physical switch" for "transport node" in switch_fault_status based on self review. Fixed a line length violation in ovs-vtep reported by checkpatch. v5->v6: Changes from more review from Bruce (offline). Removed duplicate "to" in comment in ovs-vtep. Added a comma to vtep.xml for Alternate Replication Mode description. v6->v7: In ovs-vtep, fixed a check that was missed after converting replication mode from required to optional. One line changed per below. - if not replication_mode: + if replication_mode == "[]": v7->v8: Included both service_node and source_node in vtep schema replication mode enum, as per original patch. As a result, the new column is renamed back to replication_mode from alt_replication_mode, as per original patch. Specified that service_node mode is a basic requirement and hence it is the default mode and a non-support error for service_node mode should not occur. Shortened name for set-ls-replication-mode to set-replication-mode and also for other similar commands; i.e. removed "ls" portion. Added a get-replication-mode command and added it to vtep-ctl tests. Moved all replication mode information in the ovs-vtep readme to a single step. v8->v9: Extended a couple variable names. Minor rewording in a few places. Omit invalidate cache in get-replication-mode, as its unnecessary. Add replication modes description to ovs-vtep help file and vtep-ctl man page, in addition to previous vtep.xml file. I also added another test for vtep-ctl to make the behavior more explicit. Darrell Ball (1): vtep: add source node replication support. tests/vtep-ctl.at | 43 +++++++++++++++++++++++++++++++ vtep/README.ovs-vtep.md | 49 +++++++++++++++++++++++++++++++++-- vtep/ovs-vtep | 36 +++++++++++++++++++++++--- vtep/vtep-ctl.8.in | 31 ++++++++++++++++++++++ vtep/vtep-ctl.c | 60 +++++++++++++++++++++++++++++++++++++++++++ vtep/vtep.ovsschema | 9 +++++-- vtep/vtep.xml | 68 +++++++++++++++++++++++++++++++++++++++++++++---- 7 files changed, 283 insertions(+), 13 deletions(-) -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev