From 364e03946d8fd40d5a14e93184e82de94784467e Mon Sep 17 00:00:00 2001 From: Gurucharan Shetty Date: Thu, 31 Oct 2013 09:20:42 -0700 Subject: [PATCH] debian: Option to create tunnel through 'interfaces'. This is a port of commit 7b75828bf5654c (rhel: Option to create tunnel through ifcfg scripts.) from rhel to debian's ifupdown script. Signed-off-by: Gurucharan Shetty Acked-by: Ben Pfaff --- debian/ifupdown.sh | 8 ++++++- debian/openvswitch-switch.README.Debian | 30 +++++++++++++++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/debian/ifupdown.sh b/debian/ifupdown.sh index e45653360..a621100b3 100755 --- a/debian/ifupdown.sh +++ b/debian/ifupdown.sh @@ -66,6 +66,12 @@ if [ "${MODE}" = "start" ]; then ifconfig "${slave}" up done ;; + OVSTunnel) + ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \ + type=${IF_OVS_TUNNEL_TYPE} ${IF_OVS_TUNNEL_OPTIONS} \ + ${OVS_EXTRA+-- $OVS_EXTRA} + ;; *) exit 0 ;; @@ -79,7 +85,7 @@ elif [ "${MODE}" = "stop" ]; then ovs_vsctl -- --if-exists del-br "${IFACE}" ;; - OVSPort|OVSIntPort|OVSBond) + OVSPort|OVSIntPort|OVSBond|OVSTunnel) ovs_vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}" ;; *) diff --git a/debian/openvswitch-switch.README.Debian b/debian/openvswitch-switch.README.Debian index 8617e7710..a316003c6 100644 --- a/debian/openvswitch-switch.README.Debian +++ b/debian/openvswitch-switch.README.Debian @@ -27,9 +27,9 @@ allow-br0 eth0 The following OVS specific "command" options are supported: - - ovs_type: This can either be OVSBridge, OVSPort, OVSIntPort or OVSBond - depending on whether you configure a bridge, port, an internal port or - a bond. This is a required option. + - ovs_type: This can either be OVSBridge, OVSPort, OVSIntPort, OVSBond or + OVSTunnel depending on whether you configure a bridge, port, an internal + port, a bond or a tunnel. This is a required option. - ovs_ports: This option specifies all the ports that belong to a bridge. @@ -39,6 +39,12 @@ The following OVS specific "command" options are supported: - ovs_bonds: This option specifies the list of physical interfaces to be bonded 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. + - ovs_options: This option lets you add extra arguments to a ovs-vsctl command. See examples. @@ -121,7 +127,23 @@ iface bond0 inet manual ovs_bonds eth2 eth3 ovs_options bond_mode=balance-tcp lacp=active -ex 6: Create and destroy bridges. +ex 6: Tunnel. + +allow-ovs br1 +iface br1 inet static + address 192.168.1.1 + netmask 255.255.255.0 + ovs_type OVSBridge + ovs_ports gre1 + +allow-br1 gre1 +iface gre1 inet manual + ovs_bridge br1 + ovs_type OVSTunnel + ovs_tunnel_type gre + ovs_tunnel_options options:remote_ip=182.168.1.2 options:key=1 + +ex 7: Create and destroy bridges. ifup --allow=ovs $list_of_bridges ifdown --allow=ovs $list_of_bridges -- 2.43.0