rhel: Enable DHCP in redhat network scripts.
[sliver-openvswitch.git] / rhel / etc_sysconfig_network-scripts_ifup-ovs
index 7074c07..18cebc4 100755 (executable)
@@ -36,12 +36,25 @@ fi
 case "$TYPE" in
        OVSBridge)
                ovs-vsctl -- --may-exist add-br "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
-               ${OTHERSCRIPT} ${CONFIG} ${2}
+               if [ "${OVSBOOTPROTO}" = "dhcp" ] && [ -n "${OVSINTF}" ]; then
+                       case ${OVSDHCPINTERFACES} in
+                               ${OVSINTF#ifcfg-} | \
+                               "${OVSINTF#ifcfg-},"* | \
+                               *",${OVSINTF#ifcfg-}" | \
+                               *",${OVSINTF#ifcfg-},"*)
+                                       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 -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
+               OVSINTF=${CONFIG} /sbin/ifup "$OVS_BRIDGE"
                ;;
        OVSIntPort)
                /sbin/ifup "$OVS_BRIDGE"
@@ -55,6 +68,7 @@ case "$TYPE" in
                done
                ovs-vsctl -- --fake-iface add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
                ${OTHERSCRIPT} ${CONFIG} ${2}
+               OVSINTF=${CONFIG} /sbin/ifup "$OVS_BRIDGE"
                ;;
        *)
                echo $"Invalid OVS interface type $TYPE"