Dominic Curran          dominic.curran@citrix.com
 Duffie Cooley           dcooley@nicira.com
 Ed Maste                emaste at freebsd.org
+Edouard Bourguignon     madko@linuxed.net
 Edward Tomasz NapieraĆa trasz@freebsd.org
 Ethan Jackson           ethan@nicira.com
 Flavio Leitner          fbl@redhat.com
 
 
         * "OVSBond", if <name> is an OVS bond.
 
+        * "OVSTunnel", if <name> is an OVS tunnel.
+
     - OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
       the name of the OVS bridge to which the port should be attached.
 
     - BOND_IFACES: For "OVSBond" interfaces, a list of physical
       interfaces to bond together.
 
+    - OVS_TUNNEL_TYPE: For "OVSTunnel" interfaces, the type of the tunnel.
+      For example, "gre", "vxlan", etc.
+
+    - OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
+      used to specify the tunnel options like remote_ip, key, etc.
+
 Note
 ----
 
 ONBOOT=yes
 HOTPLUG=no
 
+An Open vSwitch Tunnel:
+
+==> ifcfg-gre0 <==
+DEVICE=ovs-gre0
+ONBOOT=yes
+DEVICETYPE=ovs
+TYPE=OVSTunnel
+OVS_BRIDGE=ovsbridge0
+OVS_TUNNEL_TYPE=gre
+OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
+
 Reporting Bugs
 --------------
 
 
                retval=$?
                ovs-vsctl -t ${TIMEOUT} -- --if-exists del-br "$DEVICE"
                ;;
-       OVSPort|OVSIntPort|OVSBond)
+       OVSPort|OVSIntPort|OVSBond|OVSTunnel)
                ${OTHERSCRIPT} ${CONFIG} $2
                retval=$?
                ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
 
                ${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