Merge remote-tracking branch 'ovs-dev/master'
[sliver-openvswitch.git] / rhel / etc_sysconfig_network-scripts_ifup-ovs
index b362520..017346d 100755 (executable)
@@ -70,7 +70,8 @@ case "$TYPE" in
                # because it remained in the OVSDB for some reason, but it won't be up.
                if check_device_down "${DEVICE}"; then
                        ovs-vsctl -t ${TIMEOUT} -- --may-exist add-br "$DEVICE" $OVS_OPTIONS \
-                       ${OVS_EXTRA+-- $OVS_EXTRA}
+                       ${OVS_EXTRA+-- $OVS_EXTRA} \
+                       ${STP+-- set bridge "$DEVICE" stp_enable="${STP}"}
                else
                        OVSBRIDGECONFIGURED="yes"
                fi
@@ -94,7 +95,6 @@ case "$TYPE" in
                        [ "${OVSBRIDGECONFIGURED}" != "yes" ]; then
                        ${OTHERSCRIPT} ${CONFIG}
                fi
-               [ -n "${STP}" ] && ovs-vsctl --no-wait set bridge "${DEVICE}" stp_enable="${STP}"
                exit 0
                ;;
        OVSPort)
@@ -117,6 +117,11 @@ case "$TYPE" in
                ${OTHERSCRIPT} ${CONFIG} ${2}
                OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE"
                ;;
+       OVSTunnel)
+               ifup_ovs_bridge
+               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}
+               ;;
        *)
                echo $"Invalid OVS interface type $TYPE"
                exit 1