Use OVS in userspace
It no longer requires kernel module when running in container environment
However, privileged mode is still required for Mininet to create namespaces
Change-Id: I04deefa9c8479cd85e6ca4f1e7349baf0bba8a76
diff --git a/trellis/trellis_hybrid.py b/trellis/trellis_hybrid.py
index 3bdea71..ab6e9d7 100755
--- a/trellis/trellis_hybrid.py
+++ b/trellis/trellis_hybrid.py
@@ -96,13 +96,13 @@
dhcp6 = self.addHost('dhcp6', cls=Dhcp6Server, mac='00:99:66:00:00:01', ips=['2000::3fd/120'], gateway='2000::3ff')
# Dataplane L2 plane switch (for DHCP servers)
- cs1 = self.addSwitch('cs1', cls=OVSBridge)
+ cs1 = self.addSwitch('cs1', cls=OVSBridge, datapath='user')
self.addLink(cs1, s205)
self.addLink(dhcp, cs1)
self.addLink(dhcp6, cs1)
# Control plane switch (for quagga fpm)
- cs0 = self.addSwitch('cs0', cls=OVSBridge)
+ cs0 = self.addSwitch('cs0', cls=OVSBridge, datapath='user')
# Control plane NAT (for quagga fpm)
nat = self.addHost('nat', cls=NAT,
@@ -235,7 +235,7 @@
setLogLevel('debug')
topo = Trellis()
- switch = partial(OVSSwitch, protocols='OpenFlow13')
+ switch = partial(OVSSwitch, protocols='OpenFlow13', datapath='user')
arguments = parse_trellis_args()
set_up_zebra_config(arguments.controllers)
net = get_mininet(arguments, topo, switch)