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