From 5b245e73d61eddc985180888f6044a1029f148a5 Mon Sep 17 00:00:00 2001 From: Gurucharan Shetty Date: Fri, 11 Jul 2014 14:32:48 -0700 Subject: [PATCH] debian: Option to create patch ports through 'interfaces' This is a port of commit d7aab661 ( rhel: Add Patch Port support to initscripts.) 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 | 38 +++++++++++++++++++++---- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/debian/ifupdown.sh b/debian/ifupdown.sh index a621100b3..77282e0a1 100755 --- a/debian/ifupdown.sh +++ b/debian/ifupdown.sh @@ -66,6 +66,12 @@ if [ "${MODE}" = "start" ]; then ifconfig "${slave}" up done ;; + OVSPatchPort) + ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \ + type=patch options:peer="${IF_OVS_PATCH_PEER}" \ + ${OVS_EXTRA+-- $OVS_EXTRA} + ;; OVSTunnel) ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \ @@ -85,7 +91,7 @@ elif [ "${MODE}" = "stop" ]; then ovs_vsctl -- --if-exists del-br "${IFACE}" ;; - OVSPort|OVSIntPort|OVSBond|OVSTunnel) + OVSPort|OVSIntPort|OVSBond|OVSPatchPort|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 44154bd21..a0138f916 100644 --- a/debian/openvswitch-switch.README.Debian +++ b/debian/openvswitch-switch.README.Debian @@ -56,9 +56,10 @@ allow-br0 eth0 The following OVS specific "command" options are supported: - - 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_type: This can either be OVSBridge, OVSPort, OVSIntPort, OVSBond, + OVSPatchPort or OVSTunnel depending on whether you configure a bridge, + port, an internal port, a bond, a patch port or a tunnel. This is a + required option. - ovs_ports: This option specifies all the ports that belong to a bridge. @@ -68,6 +69,9 @@ The following OVS specific "command" options are supported: - ovs_bonds: This option specifies the list of physical interfaces to be bonded together. + - ovs_patch_peer: For "OVSPatchPort" interfaces, this field specifies + the patch's peer on the other bridge. + - ovs_tunnel_type: For "OVSTunnel" interfaces, the type of the tunnel. For example, "gre", "vxlan", etc. @@ -156,7 +160,31 @@ iface bond0 inet manual ovs_bonds eth2 eth3 ovs_options bond_mode=balance-tcp lacp=active -ex 6: Tunnel. +ex 6: Patch ports. + +allow-ovs br0 +iface br0 inet manual + ovs_type OVSBridge + ovs_ports patch0 + +allow-br0 patch0 +iface patch0 inet manual + ovs_bridge br0 + ovs_type OVSPatchPort + ovs_patch_peer patch1 + +allow-ovs br1 +iface br1 inet manual + ovs_type OVSBridge + ovs_ports patch1 + +allow-br1 patch1 +iface patch1 inet manual + ovs_bridge br1 + ovs_type OVSPatchPort + ovs_patch_peer patch0 + +ex 7: Tunnel. allow-ovs br1 iface br1 inet static @@ -172,7 +200,7 @@ iface gre1 inet manual ovs_tunnel_type gre ovs_tunnel_options options:remote_ip=182.168.1.2 options:key=1 -ex 7: Create and destroy bridges. +ex 8: Create and destroy bridges. ifup --allow=ovs $list_of_bridges ifdown --allow=ovs $list_of_bridges -- 2.20.1