Blob Blame History Raw
diff -up openvswitch-1.4.2/rhel/etc_sysconfig_network-scripts_ifup-ovs.initscripts openvswitch-1.4.2/rhel/etc_sysconfig_network-scripts_ifup-ovs
--- openvswitch-1.4.2/rhel/etc_sysconfig_network-scripts_ifup-ovs.initscripts	2012-06-01 23:06:32.000000000 +0200
+++ openvswitch-1.4.2/rhel/etc_sysconfig_network-scripts_ifup-ovs	2012-08-17 15:38:03.541423503 +0200
@@ -37,12 +37,22 @@ fi
 case "$TYPE" in
 	OVSBridge)
 		ovs-vsctl -t ${TIMEOUT} -- --may-exist add-br "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
-		${OTHERSCRIPT} ${CONFIG} ${2}
+		if [ "${OVSBOOTPROTO}" = "dhcp" ] && [ -n "${OVSINTF}" ]; then
+			case " ${OVSDHCPINTERFACES} " in
+				*" ${OVSINTF} "*)
+					BOOTPROTO=dhcp ${OTHERSCRIPT} ${CONFIG}
+				;;
+			esac
+		fi
+		if [ "${OVSBOOTPROTO}" != "dhcp" ] && [ -z "${OVSINTF}" ]; then
+			${OTHERSCRIPT} ${CONFIG}
+		fi
 		;;
 	OVSPort)
 		/sbin/ifup "$OVS_BRIDGE"
 		${OTHERSCRIPT} ${CONFIG} ${2}
 		ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
+		OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE"
 		;;
 	OVSIntPort)
 		/sbin/ifup "$OVS_BRIDGE"
@@ -56,6 +66,7 @@ case "$TYPE" in
 		done
 		ovs-vsctl -t ${TIMEOUT} -- --fake-iface add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
 		${OTHERSCRIPT} ${CONFIG} ${2}
+		OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE"
 		;;
 	*)
 		echo $"Invalid OVS interface type $TYPE"
diff -up openvswitch-1.4.2/rhel/README.RHEL.initscripts openvswitch-1.4.2/rhel/README.RHEL
--- openvswitch-1.4.2/rhel/README.RHEL.initscripts	2012-06-01 23:06:32.000000000 +0200
+++ openvswitch-1.4.2/rhel/README.RHEL	2012-08-17 15:22:14.684169994 +0200
@@ -62,6 +62,18 @@ IPADDR=A.B.C.D
 NETMASK=X.Y.Z.0
 HOTPLUG=no
 
+Enable DHCP on the bridge:
+* Needs OVSBOOTPROTO instead of BOOTPROTO.
+* All the interfaces that can reach the DHCP server
+as a space separated list in OVSDHCPINTERFACES.
+
+DEVICE=ovsbridge0
+ONBOOT=yes
+DEVICETYPE=ovs
+TYPE=OVSBridge
+OVSBOOTPROTO="dhcp"
+OVSDHCPINTERFACES="eth0"
+HOTPLUG=no
 
 Adding physical eth0 to ovsbridge0 described above:
 
@@ -70,7 +82,7 @@ DEVICE=eth0
 ONBOOT=yes
 DEVICETYPE=ovs
 TYPE=OVSPort
-OVS_BRIDGE=internet
+OVS_BRIDGE=ovsbridge0
 BOOTPROTO=none
 HOTPLUG=no