debian: Option to create patch ports through 'interfaces'
authorGurucharan Shetty <gshetty@nicira.com>
Fri, 11 Jul 2014 21:32:48 +0000 (14:32 -0700)
committerGurucharan Shetty <gshetty@nicira.com>
Tue, 15 Jul 2014 22:05:38 +0000 (15:05 -0700)
This is a port of commit d7aab661 ( rhel: Add Patch Port support to
initscripts.) from rhel to debian's ifupdown script.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
debian/ifupdown.sh
debian/openvswitch-switch.README.Debian

index a621100..77282e0 100755 (executable)
@@ -66,6 +66,12 @@ if [ "${MODE}" = "start" ]; then
                     ifconfig "${slave}" up
                 done
                 ;;
+        OVSPatchPort)
+                ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
+                    "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \
+                    type=patch options:peer="${IF_OVS_PATCH_PEER}" \
+                    ${OVS_EXTRA+-- $OVS_EXTRA}
+                ;;
         OVSTunnel)
                 ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
                     "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \
@@ -85,7 +91,7 @@ elif [ "${MODE}" = "stop" ]; then
 
                 ovs_vsctl -- --if-exists del-br "${IFACE}"
                 ;;
-        OVSPort|OVSIntPort|OVSBond|OVSTunnel)
+        OVSPort|OVSIntPort|OVSBond|OVSPatchPort|OVSTunnel)
                 ovs_vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}"
                 ;;
         *)
index 44154bd..a0138f9 100644 (file)
@@ -56,9 +56,10 @@ allow-br0 eth0
 
 The following OVS specific "command" options are supported:
 
-    - ovs_type: This can either be OVSBridge, OVSPort, OVSIntPort, OVSBond or
-      OVSTunnel depending on whether you configure a bridge, port, an internal
-      port, a bond or a tunnel. This is a required option.
+    - ovs_type: This can either be OVSBridge, OVSPort, OVSIntPort, OVSBond,
+      OVSPatchPort or OVSTunnel depending on whether you configure a bridge,
+      port, an internal port, a bond, a patch port or a tunnel. This is a
+      required option.
 
     - ovs_ports: This option specifies all the ports that belong to a bridge.
 
@@ -68,6 +69,9 @@ The following OVS specific "command" options are supported:
     - ovs_bonds: This option specifies the list of physical interfaces to be
       bonded together.
 
+    - ovs_patch_peer: For "OVSPatchPort" interfaces, this field specifies
+      the patch's peer on the other bridge.
+
     - ovs_tunnel_type: For "OVSTunnel" interfaces, the type of the tunnel.
       For example, "gre", "vxlan", etc.
 
@@ -156,7 +160,31 @@ iface bond0 inet manual
     ovs_bonds eth2 eth3
     ovs_options bond_mode=balance-tcp lacp=active
 
-ex 6: Tunnel.
+ex 6: Patch ports.
+
+allow-ovs br0
+iface br0 inet manual
+    ovs_type OVSBridge
+    ovs_ports patch0
+
+allow-br0 patch0
+iface patch0 inet manual
+    ovs_bridge br0
+    ovs_type OVSPatchPort
+    ovs_patch_peer patch1
+
+allow-ovs br1
+iface br1 inet manual
+    ovs_type OVSBridge
+    ovs_ports patch1
+
+allow-br1 patch1
+iface patch1 inet manual
+    ovs_bridge br1
+    ovs_type OVSPatchPort
+    ovs_patch_peer patch0
+
+ex 7: Tunnel.
 
 allow-ovs br1
 iface br1 inet static
@@ -172,7 +200,7 @@ iface gre1 inet manual
     ovs_tunnel_type gre
     ovs_tunnel_options options:remote_ip=182.168.1.2 options:key=1
 
-ex 7: Create and destroy bridges.
+ex 8: Create and destroy bridges.
 
 ifup --allow=ovs $list_of_bridges
 ifdown --allow=ovs $list_of_bridges