[ovs-dev] [PATCH v1 1/3] Vlan Support in ovn, add network type in northbound schema

Ankur Sharma ankur.sharma at nutanix.com
Fri Oct 26 01:39:35 UTC 2018

As a part of proposal for distributed virtual routing
for VLAN networks through OVN, this series has code changes
for Layer 2.

[1] https://mail.openvswitch.org/pipermail/ovs-dev/2018-October/353066.html
[2] https://docs.google.com/document/d/1uoQH478wM1OZ16HrxzbOUvk5LvFnfNEWbkPT6Zmm9OU/edit?usp=sharing

This Series:
a. Changes in OVN NB Schema to introduce a logical switch type.
b. Changes in ovn-nbctl to configure a logical switch type.
c. Changes in ovn-northd to process and save a logical switch type.

Adding a logical switch type would be helpful in following:
a. Debugging, since VLAN backed logical switch is dependent on
   localnet ports, hence basic validations like localnet port
   configured or not etc., can be done with ease.

b. Helps with Layer 3 implementation

This Patch:
a. Add 1 more column to the Logical_Switch table in north bound
   schema, to indicate if a logical switch is of type "vlan" or "overlay".
   We will support NULL value in this table as well, to keep it backward
   compatible. NULL value will be treated as "overlay" type by northd.

b. Column name:
   i. network_type: Represents whether network is vlan backed or

Signed-off-by: Ankur Sharma <ankur.sharma at nutanix.com>
 ovn/ovn-nb.ovsschema | 4 +++-
 ovn/ovn-nb.xml       | 9 +++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/ovn/ovn-nb.ovsschema b/ovn/ovn-nb.ovsschema
index 705cc27..51c120b 100644
--- a/ovn/ovn-nb.ovsschema
+++ b/ovn/ovn-nb.ovsschema
@@ -1,7 +1,7 @@
     "name": "OVN_Northbound",
     "version": "5.13.1",
-    "cksum": "749176366 20467",
+    "cksum": "1670454684 20630",
     "tables": {
         "NB_Global": {
             "columns": {
@@ -28,6 +28,8 @@
         "Logical_Switch": {
             "columns": {
                 "name": {"type": "string"},
+                "network_type": {"type": {"key": {"type": "string",
+                                                  "enum": ["set", ["overlay", "vlan", ""]]}}},
                 "ports": {"type": {"key": {"type": "uuid",
                                            "refTable": "Logical_Switch_Port",
                                            "refType": "strong"},
diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml
index c0739fe..dd0aa8c 100644
--- a/ovn/ovn-nb.xml
+++ b/ovn/ovn-nb.xml
@@ -147,6 +147,15 @@
+    <column name="network_type">
+      <p>
+        Whether logical switch is VLAN backed or Overlay.
+      </p>
+      <p>
+        Default is overlay.
+      </p>
+    </column>
     <column name="load_balancer">
       Load balance a virtual ip address to a set of logical port endpoint
       ip addresses.

More information about the dev mailing list