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