Blob Blame History Raw
From e2bcc8ef49f5e51f48983b87ab1010f0f9ab1454 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jason=20K=C3=B6lker?= <jason@koelker.net>
Date: Mon, 31 Mar 2014 23:34:14 +0000
Subject: [PATCH] rhel: Add Patch Port support to initscripts
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allows setting up type=patch ports through sysconfig ifcfg-* files.

Signed-off-by: Jason Kölker <jason@koelker.net>
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Flavio Leitner <fbl@redhat.com>
---
 AUTHORS                                       |  1 +
 rhel/README.RHEL                              | 25 +++++++++++++++++++++++++
 rhel/etc_sysconfig_network-scripts_ifdown-ovs |  3 +++
 rhel/etc_sysconfig_network-scripts_ifup-ovs   |  4 ++++
 4 files changed, 33 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 977753b..c5402cf 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -57,6 +57,7 @@ Isaku Yamahata          yamahata@valinux.co.jp
 James P.                roampune@gmail.com
 James Page              james.page@ubuntu.com
 Jarno Rajahalme         jrajahalme@nicira.com
+Jason Kölker            jason@koelker.net
 Jean Tourrilhes         jt@hpl.hp.com
 Jeremy Stribling        strib@nicira.com
 Jesse Gross             jesse@nicira.com
diff --git a/rhel/README.RHEL b/rhel/README.RHEL
index cb6ab88..2620674 100644
--- a/rhel/README.RHEL
+++ b/rhel/README.RHEL
@@ -25,6 +25,8 @@ assignments.  The following OVS-specific variable names are supported:
 
         * "OVSTunnel", if <name> is an OVS tunnel.
 
+        * "OVSPatchPort", if <name> is a patch port
+
     - OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
       the name of the OVS bridge to which the port should be attached.
 
@@ -47,6 +49,9 @@ assignments.  The following OVS-specific variable names are supported:
     - OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
       used to specify the tunnel options like remote_ip, key, etc.
 
+    - OVS_PATCH_PEER: For "OVSPatchPort" devices, this field specifies
+      the patch's peer on the other bridge.
+
 Note
 ----
 
@@ -182,6 +187,26 @@ OVS_BRIDGE=ovsbridge0
 OVS_TUNNEL_TYPE=gre
 OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
 
+
+Patch Ports:
+
+==> ifcfg-patch-ovs-0 <==
+DEVICE=patch-ovs-0
+ONBOOT=yes
+DEVICETYPE=ovs
+TYPE=OVSPatchPort
+OVS_BRIDGE=ovsbridge0
+OVS_PATCH_PEER=patch-ovs-1
+
+==> ifcfg-patch-ovs-1 <==
+DEVICE=patch-ovs-1
+ONBOOT=yes
+DEVICETYPE=ovs
+TYPE=OVSPatchPort
+OVS_BRIDGE=ovsbridge1
+OVS_PATCH_PEER=patch-ovs-0
+
+
 Reporting Bugs
 --------------
 
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
index 8e768c8..1371a30 100755
--- a/rhel/etc_sysconfig_network-scripts_ifdown-ovs
+++ b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
@@ -47,6 +47,9 @@ case "$TYPE" in
 		retval=$?
 		ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
 		;;
+	OVSPatchPort)
+		ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
+		;;
 	*)
 		echo $"Invalid OVS interface type $TYPE"
 		exit 1
diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs
index a50c72f..f5641d2 100755
--- a/rhel/etc_sysconfig_network-scripts_ifup-ovs
+++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs
@@ -127,6 +127,10 @@ case "$TYPE" in
 		ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=$OVS_TUNNEL_TYPE $OVS_TUNNEL_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
 		${OTHERSCRIPT} ${CONFIG} ${2}
 		;;
+	OVSPatchPort)
+		ifup_ovs_bridge
+		ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=patch options:peer="${OVS_PATCH_PEER}" ${OVS_EXTRA+-- $OVS_EXTRA}
+		;;
 	*)
 		echo $"Invalid OVS interface type $TYPE"
 		exit 1
-- 
1.8.5.3