[ovs-dev] [PATCH v2] ovs-vtep: Support userspace datapaths.
Daniele Di Proietto
diproiettod at vmware.com
Tue Jun 16 13:20:07 UTC 2015
With this commit, the VTEP emulator detects the datapath_type of the
bridge used as a "physical" switch, and creates subsequent bridges
with the same type. This allows ovs-vtep to work with the userspace
datapath.
Signed-off-by: Daniele Di Proietto <diproiettod at vmware.com>
---
v1 - v2:
Applied Guru's suggestions
* Fixed unspecified datapath_type
* Use more pythonic check for empty string
---
vtep/ovs-vtep | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/vtep/ovs-vtep b/vtep/ovs-vtep
index 60dbb95..6e8d0db 100755
--- a/vtep/ovs-vtep
+++ b/vtep/ovs-vtep
@@ -40,6 +40,7 @@ vlog = ovs.vlog.Vlog("ovs-vtep")
exiting = False
ps_name = ""
+ps_type = ""
Tunnel_Ip = ""
Lswitches = {}
Bindings = {}
@@ -103,7 +104,12 @@ class Logical_Switch(object):
self.tunnel_key = 0
vlog.warn("invalid tunnel key for %s, using 0" % self.name)
- ovs_vsctl("--may-exist add-br %s" % self.short_name)
+ if ps_type:
+ ovs_vsctl("--may-exist add-br %s -- set Bridge %s datapath_type=%s"
+ % (self.short_name, self.short_name, ps_type))
+ else:
+ ovs_vsctl("--may-exist add-br %s" % self.short_name)
+
ovs_vsctl("br-set-external-id %s vtep_logical_switch true"
% self.short_name)
ovs_vsctl("br-set-external-id %s logical_switch_name %s"
@@ -595,6 +601,11 @@ def setup():
if (ps_name not in br_list):
ovs.util.ovs_fatal(0, "couldn't find OVS bridge %s" % ps_name, vlog)
+ global ps_type
+ ps_type = ovs_vsctl("get Bridge %s datapath_type" % ps_name)
+ if ps_type == "\"\"":
+ ps_type = ""
+
call_prog("vtep-ctl", ["set", "physical_switch", ps_name,
'description="OVS VTEP Emulator"'])
@@ -636,7 +647,11 @@ def setup():
ovs_vsctl("del-br %s" % br)
- ovs_vsctl("add-br %s" % bfd_bridge)
+ if ps_type:
+ ovs_vsctl("add-br %s -- set Bridge %s datapath_type=%s"
+ % (bfd_bridge, bfd_bridge, ps_type))
+ else:
+ ovs_vsctl("add-br %s" % bfd_bridge)
def main():
--
2.1.4
More information about the dev
mailing list