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_v4.py b/trellis/trellis_hybrid_v4.py
index 1f45088..2db3b77 100755
--- a/trellis/trellis_hybrid_v4.py
+++ b/trellis/trellis_hybrid_v4.py
@@ -101,12 +101,12 @@
                             configFile='./dhcpd_hybrid_v4.conf')
 
         # 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)
 
         # 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,
@@ -290,7 +290,7 @@
     set_up_zebra_config(arguments.controllers)
 
     topo = Trellis()
-    switch = partial(ONOSOVSSwitch, protocols='OpenFlow13')
+    switch = partial(ONOSOVSSwitch, protocols='OpenFlow13', datapath='user')
     net = get_mininet(arguments, topo, switch)
 
     net.start()