]> git.proxmox.com Git - mirror_ovs.git/blobdiff - tests/interface-reconfigure.at
netdev-afxdp: Add interrupt mode netdev class.
[mirror_ovs.git] / tests / interface-reconfigure.at
index 9749fd586a385110d82f3296a875dcbec2c7c3a6..12b66dc0fc4359875269ea31cdf351a32cb91ee6 100644 (file)
@@ -1,18 +1,18 @@
-dnl IFR_SETUP
-dnl
-dnl Creates a directory tree for use with "interface-reconfigure --root-dir".
-m4_define([IFR_SETUP], 
-  [[for script in \
-        interface-reconfigure \
-        InterfaceReconfigure.py \
-        InterfaceReconfigureBridge.py \
-        InterfaceReconfigureVswitch.py
-    do
-        cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
-    done
-
-    mkdir -p etc
-    cat > etc/xensource-inventory <<EOF
+m4_divert_push([PREPARE_TESTS])
+[
+# Creates a directory tree for use with "interface-reconfigure --root-dir".
+ifr_setup () {
+    for script in \
+            interface-reconfigure \
+            InterfaceReconfigure.py \
+            InterfaceReconfigureBridge.py \
+            InterfaceReconfigureVswitch.py
+        do
+            cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
+        done
+
+        mkdir -p etc
+        cat > etc/xensource-inventory <<EOF
 PRODUCT_BRAND='XenServer'
 PRODUCT_NAME='xenenterprise'
 PRODUCT_VERSION='5.5.0'
@@ -29,654 +29,705 @@ DOM0_MEM='752'
 MANAGEMENT_INTERFACE='xenbr2'
 EOF
 
-    mkdir -p etc/xensource
-    echo vswitch > etc/xensource/network.conf
-
-    for utility in \
-        sbin/ethtool \
-        sbin/ifconfig \
-        sbin/ifdown \
-        sbin/ifup \
-        sbin/ip \
-        sbin/update-issue \
-        sbin/vconfig \
-        usr/bin/ovs-vsctl \
-        usr/sbin/brctl
-    do
-        mkdir -p `dirname $utility`
-        cat > $utility <<'EOF'
+        mkdir -p etc/xensource
+        echo vswitch > etc/xensource/network.conf
+
+        for utility in \
+            sbin/ethtool \
+            sbin/ifdown \
+            sbin/ifup \
+            sbin/ip \
+            sbin/update-issue \
+            sbin/vconfig \
+            usr/sbin/brctl
+        do
+            mkdir -p `dirname $utility`
+            cat > $utility <<'EOF'
 #! /bin/sh
 echo ${0} ${*} >&2
 EOF
-        chmod +x $utility
-    done
-
-    mkdir -p etc/sysconfig/network-scripts
-    configure_netdev () {
-        mkdir -p sys/class/net/${1}
-        echo ${2} > sys/class/net/${1}/address
-        echo ${3} > sys/class/net/${1}/tx_queue_len
-
-        : >> etc/sysconfig/network-scripts/ifcfg-${1}
-    }
-
-    configure_netdev lo   00:00:00:00:00:00 0
-    configure_netdev eth0 00:22:19:22:4b:af 1000
-    configure_netdev eth1 00:22:19:22:4b:b1 1000
-    configure_netdev eth2 00:15:17:a0:29:80 1000
-    configure_netdev eth3 00:15:17:a0:29:81 1000
-    configure_netdev eth4 00:1b:21:29:ce:51 1000
-
-    mkdir -p var/xapi
-    cat > var/xapi/network.dbcache <<'EOF'
+            chmod +x $utility
+        done
+
+        mkdir -p usr/bin
+        cat > usr/bin/ovs-vsctl <<'EOF'
+#! /bin/sh
+echo ${0} ${*} >&2
+
+while test ${#} -ge 4; do
+    if test X"${1}" = Xget && \
+       test X"${2}" = Xinterface && \
+       test X"${4}" = Xofport; then
+          if test X"${3}" = Xeth2; then
+              echo 5
+          else
+              echo -1
+          fi
+    fi
+
+    shift
+done
+EOF
+        chmod +x usr/bin/ovs-vsctl
+
+        cat > usr/bin/ovs-ofctl <<'EOF'
+#! /bin/sh
+echo ${0} ${*} >&2
+
+# Check that the flow is properly formed.
+ovs-ofctl parse-flow "${3}" >/dev/null
+EOF
+        chmod +x usr/bin/ovs-ofctl
+
+        mkdir -p etc/sysconfig/network-scripts
+        configure_netdev () {
+            mkdir -p sys/class/net/${1}
+            echo ${2} > sys/class/net/${1}/address
+            echo ${3} > sys/class/net/${1}/tx_queue_len
+            if test ${1} = eth1; then
+                # No VLAN acceleration.
+                echo 0x829 > sys/class/net/${1}/features
+            else
+                # Supports VLAN acceleration.
+                echo 0x10b89 > sys/class/net/${1}/features
+            fi
+            mkdir sys/class/net/${1}/device
+            ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver
+
+            : >> etc/sysconfig/network-scripts/ifcfg-${1}
+        }
+
+        configure_netdev lo   00:00:00:00:00:00 0
+        configure_netdev eth0 00:22:19:22:4b:af 1000
+        configure_netdev eth1 00:22:19:22:4b:b1 1000
+        configure_netdev eth2 00:15:17:a0:29:80 1000
+        configure_netdev eth3 00:15:17:a0:29:81 1000
+        configure_netdev eth4 00:1b:21:29:ce:51 1000
+
+        mkdir -p var/xapi
+        cat > var/xapi/network.dbcache <<'EOF'
 <?xml version="1.0" ?>
 <xenserver-network-configuration>
-       <pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
-               <VLAN_slave_of/>
+        <pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
+                <VLAN_slave_of/>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
-               </bond_slave_of>
-               <uuid>
-                       bd62a141-091f-3909-e334-0334f67ff3be
-               </uuid>
-               <IP>
-                       
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:NULL
-               </VLAN_master_of>
-               <VLAN>
-                       -1
-               </VLAN>
-               <netmask>
-                       
-               </netmask>
-               <other_config/>
-               <MAC>
-                       00:22:19:22:4b:af
-               </MAC>
-               <ip_configuration_mode>
-                       None
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       eth0
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       False
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
-               <VLAN_slave_of/>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
+                </bond_slave_of>
+                <uuid>
+                        bd62a141-091f-3909-e334-0334f67ff3be
+                </uuid>
+                <IP>
+                        
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:NULL
+                </VLAN_master_of>
+                <VLAN>
+                        -1
+                </VLAN>
+                <netmask>
+                        
+                </netmask>
+                <other_config/>
+                <MAC>
+                        00:22:19:22:4b:af
+                </MAC>
+                <ip_configuration_mode>
+                        None
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        eth0
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        False
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
+                <VLAN_slave_of/>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:NULL
-               </bond_slave_of>
-               <uuid>
-                       df8d35c2-cc3a-a623-7065-d987a29feb75
-               </uuid>
-               <IP>
-                       
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:NULL
-               </VLAN_master_of>
-               <VLAN>
-                       -1
-               </VLAN>
-               <netmask>
-                       
-               </netmask>
-               <other_config/>
-               <MAC>
-                       00:1b:21:29:ce:51
-               </MAC>
-               <ip_configuration_mode>
-                       None
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       eth4
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       False
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
-               <VLAN_slave_of/>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:NULL
+                </bond_slave_of>
+                <uuid>
+                        df8d35c2-cc3a-a623-7065-d987a29feb75
+                </uuid>
+                <IP>
+                        
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:NULL
+                </VLAN_master_of>
+                <VLAN>
+                        -1
+                </VLAN>
+                <netmask>
+                        
+                </netmask>
+                <other_config/>
+                <MAC>
+                        00:1b:21:29:ce:51
+                </MAC>
+                <ip_configuration_mode>
+                        None
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        eth4
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        False
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
+                <VLAN_slave_of/>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
-               </bond_slave_of>
-               <uuid>
-                       2f87fc95-5ab4-571a-2487-3f4ac1985663
-               </uuid>
-               <IP>
-                       
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:NULL
-               </VLAN_master_of>
-               <VLAN>
-                       -1
-               </VLAN>
-               <netmask>
-                       
-               </netmask>
-               <other_config/>
-               <MAC>
-                       00:22:19:22:4b:b1
-               </MAC>
-               <ip_configuration_mode>
-                       None
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       eth1
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       False
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
-               <VLAN_slave_of/>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
+                </bond_slave_of>
+                <uuid>
+                        2f87fc95-5ab4-571a-2487-3f4ac1985663
+                </uuid>
+                <IP>
+                        
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:NULL
+                </VLAN_master_of>
+                <VLAN>
+                        -1
+                </VLAN>
+                <netmask>
+                        
+                </netmask>
+                <other_config/>
+                <MAC>
+                        00:22:19:22:4b:b1
+                </MAC>
+                <ip_configuration_mode>
+                        None
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        eth1
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        False
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
+                <VLAN_slave_of/>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:NULL
-               </bond_slave_of>
-               <uuid>
-                       d2dfdab3-daf4-afea-f055-a25a0d24d714
-               </uuid>
-               <IP>
-                       
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
-               </VLAN_master_of>
-               <VLAN>
-                       4
-               </VLAN>
-               <netmask>
-                       
-               </netmask>
-               <other_config/>
-               <MAC>
-                       fe:ff:ff:ff:ff:ff
-               </MAC>
-               <ip_configuration_mode>
-                       None
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       bond0
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       True
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
-               <VLAN_slave_of>
-                       <master>
-                               OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
-                       </master>
-               </VLAN_slave_of>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:NULL
+                </bond_slave_of>
+                <uuid>
+                        d2dfdab3-daf4-afea-f055-a25a0d24d714
+                </uuid>
+                <IP>
+                        
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
+                </VLAN_master_of>
+                <VLAN>
+                        4
+                </VLAN>
+                <netmask>
+                        
+                </netmask>
+                <other_config/>
+                <MAC>
+                        fe:ff:ff:ff:ff:ff
+                </MAC>
+                <ip_configuration_mode>
+                        None
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        bond0
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        True
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
+                <VLAN_slave_of>
+                        <master>
+                                OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
+                        </master>
+                </VLAN_slave_of>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:NULL
-               </bond_slave_of>
-               <uuid>
-                       f4ba396e-a993-a592-5fbc-a1d566afb59e
-               </uuid>
-               <IP>
-                       10.0.0.188
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:NULL
-               </VLAN_master_of>
-               <VLAN>
-                       -1
-               </VLAN>
-               <netmask>
-                       255.0.0.0
-               </netmask>
-               <other_config/>
-               <MAC>
-                       00:15:17:a0:29:81
-               </MAC>
-               <ip_configuration_mode>
-                       Static
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       eth3
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       True
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
-               <VLAN_slave_of/>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:NULL
+                </bond_slave_of>
+                <uuid>
+                        f4ba396e-a993-a592-5fbc-a1d566afb59e
+                </uuid>
+                <IP>
+                        10.0.0.188
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:NULL
+                </VLAN_master_of>
+                <VLAN>
+                        -1
+                </VLAN>
+                <netmask>
+                        255.0.0.0
+                </netmask>
+                <other_config/>
+                <MAC>
+                        00:15:17:a0:29:81
+                </MAC>
+                <ip_configuration_mode>
+                        Static
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        eth3
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        True
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
+                <VLAN_slave_of/>
                 <tunnel_access_PIF_of/>
-               <management>
-                       True
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:NULL
-               </bond_slave_of>
-               <uuid>
-                       646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
-               </uuid>
-               <IP>
-                       172.18.3.188
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:NULL
-               </VLAN_master_of>
-               <VLAN>
-                       -1
-               </VLAN>
-               <netmask>
-                       255.255.0.0
-               </netmask>
-               <other_config/>
-               <MAC>
-                       00:15:17:a0:29:80
-               </MAC>
-               <ip_configuration_mode>
-                       DHCP
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       eth2
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       True
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
-               <VLAN_slave_of/>
+                <management>
+                        True
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:NULL
+                </bond_slave_of>
+                <uuid>
+                        646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
+                </uuid>
+                <IP>
+                        172.18.3.188
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:NULL
+                </VLAN_master_of>
+                <VLAN>
+                        -1
+                </VLAN>
+                <netmask>
+                        255.255.0.0
+                </netmask>
+                <other_config/>
+                <MAC>
+                        00:15:17:a0:29:80
+                </MAC>
+                <ip_configuration_mode>
+                        DHCP
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        eth2
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        True
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
+                <VLAN_slave_of/>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:NULL
-               </bond_slave_of>
-               <uuid>
-                       3941edd2-865b-8dd8-61f0-199f5e1fa652
-               </uuid>
-               <IP>
-                       
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
-               </VLAN_master_of>
-               <VLAN>
-                       123
-               </VLAN>
-               <netmask>
-                       
-               </netmask>
-               <other_config/>
-               <MAC>
-                       fe:ff:ff:ff:ff:ff
-               </MAC>
-               <ip_configuration_mode>
-                       None
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       eth3
-               </device>
-               <bond_master_of/>
-               <currently_attached>
-                       True
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
-               </network>
-       </pif>
-       <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
-               <VLAN_slave_of>
-                       <master>
-                               OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
-                       </master>
-               </VLAN_slave_of>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:NULL
+                </bond_slave_of>
+                <uuid>
+                        3941edd2-865b-8dd8-61f0-199f5e1fa652
+                </uuid>
+                <IP>
+                        
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
+                </VLAN_master_of>
+                <VLAN>
+                        123
+                </VLAN>
+                <netmask>
+                        
+                </netmask>
+                <other_config/>
+                <MAC>
+                        fe:ff:ff:ff:ff:ff
+                </MAC>
+                <ip_configuration_mode>
+                        None
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        eth3
+                </device>
+                <bond_master_of/>
+                <currently_attached>
+                        True
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
+                </network>
+        </pif>
+        <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
+                <VLAN_slave_of>
+                        <master>
+                                OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
+                        </master>
+                </VLAN_slave_of>
                 <tunnel_access_PIF_of/>
-               <management>
-                       False
-               </management>
-               <bond_slave_of>
-                       OpaqueRef:NULL
-               </bond_slave_of>
-               <uuid>
-                       6c0327a9-afa3-fc19-6798-a1bfe20095ed
-               </uuid>
-               <IP>
-                       
-               </IP>
-               <VLAN_master_of>
-                       OpaqueRef:NULL
-               </VLAN_master_of>
-               <VLAN>
-                       -1
-               </VLAN>
-               <netmask>
-                       
-               </netmask>
-               <other_config/>
-               <MAC>
-                       00:22:19:22:4b:af
-               </MAC>
-               <ip_configuration_mode>
-                       None
-               </ip_configuration_mode>
-               <DNS>
-                       
-               </DNS>
-               <device>
-                       bond0
-               </device>
-               <bond_master_of>
-                       <slave>
-                               OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
-                       </slave>
-               </bond_master_of>
-               <currently_attached>
-                       True
-               </currently_attached>
-               <gateway>
-                       
-               </gateway>
-               <network>
-                       OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
-               </network>
-       </pif>
-       <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
-               <master>
-                       OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
-               </master>
-               <uuid>
-                       dad825f1-6d81-386e-849c-5589281e53e1
-               </uuid>
-               <slaves>
-                       <slave>
-                               OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
-                       </slave>
-                       <slave>
-                               OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
-                       </slave>
-               </slaves>
-       </bond>
-       <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
-               <tagged_PIF>
-                       OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
-               </tagged_PIF>
-               <uuid>
-                       841814da-d0d2-9da4-0b2e-b6143480bbfb
-               </uuid>
-               <untagged_PIF>
-                       OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
-               </untagged_PIF>
-       </vlan>
-       <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
-               <tagged_PIF>
-                       OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
-               </tagged_PIF>
-               <uuid>
-                       399279a2-5ccd-5368-9af3-8622a1f1ac82
-               </uuid>
-               <untagged_PIF>
-                       OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
-               </untagged_PIF>
-       </vlan>
-       <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xapi2
-               </bridge>
-               <other_config/>
-               <uuid>
-                       99be2da4-6c33-6f8e-49ea-3bc592fe3c85
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xenbr3
-               </bridge>
-               <other_config/>
-               <uuid>
-                       2902ae1b-8013-897a-b697-0b200ea3aaa5
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xapi1
-               </bridge>
-               <other_config/>
-               <uuid>
-                       45cbbb43-113d-a712-3231-c6463f253cef
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xenbr1
-               </bridge>
-               <other_config/>
-               <uuid>
-                       99f8771a-645a-26a3-e06c-30a401f1d009
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xenbr2
-               </bridge>
-               <other_config/>
-               <uuid>
-                       d08c8749-0c8f-9e8d-ce25-fd364661ee99
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xenbr0
-               </bridge>
-               <other_config>
-                       <vswitch-disable-in-band>
-                               true
-                       </vswitch-disable-in-band>
-               </other_config>
-               <uuid>
-                       c9eecb03-560d-61de-b6a8-56dfc766f67e
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xenbr4
-               </bridge>
-               <other_config/>
-               <uuid>
-                       d2c14c89-29cc-51d4-7664-633eff02b2ad
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
-               <PIFs/>
-               <bridge>
-                       xapi0
-               </bridge>
-               <other_config/>
-               <uuid>
-                       dc0f0632-c2aa-1b78-2fea-0d3a23c51740
-               </uuid>
-       </network>
-       <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
-               <PIFs>
-                       <PIF>
-                               OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
-                       </PIF>
-               </PIFs>
-               <bridge>
-                       xapi3
-               </bridge>
-               <other_config/>
-               <uuid>
-                       db7bdc03-074d-42ae-fc73-9b06de1d57f6
-               </uuid>
-       </network>
+                <management>
+                        False
+                </management>
+                <bond_slave_of>
+                        OpaqueRef:NULL
+                </bond_slave_of>
+                <uuid>
+                        6c0327a9-afa3-fc19-6798-a1bfe20095ed
+                </uuid>
+                <IP>
+                        
+                </IP>
+                <VLAN_master_of>
+                        OpaqueRef:NULL
+                </VLAN_master_of>
+                <VLAN>
+                        -1
+                </VLAN>
+                <netmask>
+                        
+                </netmask>
+                <other_config/>
+                <MAC>
+                        00:22:19:22:4b:af
+                </MAC>
+                <ip_configuration_mode>
+                        None
+                </ip_configuration_mode>
+                <DNS>
+                        
+                </DNS>
+                <device>
+                        bond0
+                </device>
+                <bond_master_of>
+                        <slave>
+                                OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
+                        </slave>
+                </bond_master_of>
+                <currently_attached>
+                        True
+                </currently_attached>
+                <gateway>
+                        
+                </gateway>
+                <network>
+                        OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
+                </network>
+        </pif>
+        <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
+                <master>
+                        OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
+                </master>
+                <uuid>
+                        dad825f1-6d81-386e-849c-5589281e53e1
+                </uuid>
+                <slaves>
+                        <slave>
+                                OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
+                        </slave>
+                        <slave>
+                                OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
+                        </slave>
+                </slaves>
+        </bond>
+        <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
+                <tagged_PIF>
+                        OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
+                </tagged_PIF>
+                <uuid>
+                        841814da-d0d2-9da4-0b2e-b6143480bbfb
+                </uuid>
+                <untagged_PIF>
+                        OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
+                </untagged_PIF>
+        </vlan>
+        <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
+                <tagged_PIF>
+                        OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
+                </tagged_PIF>
+                <uuid>
+                        399279a2-5ccd-5368-9af3-8622a1f1ac82
+                </uuid>
+                <untagged_PIF>
+                        OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
+                </untagged_PIF>
+        </vlan>
+        <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xapi2
+                </bridge>
+                <other_config/>
+                <uuid>
+                        99be2da4-6c33-6f8e-49ea-3bc592fe3c85
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xenbr3
+                </bridge>
+                <other_config/>
+                <uuid>
+                        2902ae1b-8013-897a-b697-0b200ea3aaa5
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xapi1
+                </bridge>
+                <other_config/>
+                <uuid>
+                        45cbbb43-113d-a712-3231-c6463f253cef
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xenbr1
+                </bridge>
+                <other_config/>
+                <uuid>
+                        99f8771a-645a-26a3-e06c-30a401f1d009
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xenbr2
+                </bridge>
+                <other_config/>
+                <uuid>
+                        d08c8749-0c8f-9e8d-ce25-fd364661ee99
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xenbr0
+                </bridge>
+                <other_config>
+                        <vswitch-disable-in-band>
+                                true
+                        </vswitch-disable-in-band>
+                </other_config>
+                <uuid>
+                        c9eecb03-560d-61de-b6a8-56dfc766f67e
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xenbr4
+                </bridge>
+                <other_config/>
+                <uuid>
+                        d2c14c89-29cc-51d4-7664-633eff02b2ad
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
+                <PIFs/>
+                <bridge>
+                        xapi0
+                </bridge>
+                <other_config/>
+                <uuid>
+                        dc0f0632-c2aa-1b78-2fea-0d3a23c51740
+                </uuid>
+        </network>
+        <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
+                <PIFs>
+                        <PIF>
+                                OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
+                        </PIF>
+                </PIFs>
+                <bridge>
+                        xapi3
+                </bridge>
+                <other_config/>
+                <uuid>
+                        db7bdc03-074d-42ae-fc73-9b06de1d57f6
+                </uuid>
+        </network>
         <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
                 <other_config>
                         <vswitch-controller-fail-mode>
-                                standalone
+                                secure
                         </vswitch-controller-fail-mode>
                 </other_config>
         </pool>
 </xenserver-network-configuration>
 EOF
-]])
+}
 
-m4_define([IFR_RUN], [./interface-reconfigure --root-prefix=$PWD --no-syslog])
+ifr_run () {
+    $PYTHON3 ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
+}
+
+ifr_filter () {
+    sed -n -e "s,`pwd`,,g" -e 's/ -- /\
+    /g' -e '/^Running command:/!p' stderr
+}]
+m4_divert_pop([PREPARE_TESTS])
 
-m4_define([IFR_FILTER], [sed -n -e "s,$PWD,,g" -e 's/ -- /\
-    /g' -e '/^Running command:/!p' stderr])
 \f
 AT_BANNER([interface-reconfigure])
 
 AT_SETUP([non-VLAN, non-bond])
 AT_KEYWORDS([interface-reconfigure])
-IFR_SETUP
+AT_SKIP_IF([$non_ascii_cwd])
+AT_SKIP_IF([test "$IS_WIN32" = "yes"])
+ifr_setup
 
-AT_CHECK([IFR_RUN --force xenbr2 up], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xenbr2 up
+AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_up: xenbr2
 Writing network configuration for xenbr2
 Configuring xenbr2 using DHCP configuration
 configure_datapath: bridge      - xenbr2
-configure_datapath: physical    - [u'eth2']
+configure_datapath: physical    - ['eth2']
 configure_datapath: extra ports - []
 configure_datapath: extra bonds - []
+/usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2
 Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
 Applying changes to /etc/sysconfig/network configuration
 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
-/sbin/ifconfig eth2 up mtu 1500
+/sbin/ip link set eth2 up mtu 1500
 /sbin/ethtool -K eth2 gro off lro off
 /usr/bin/ovs-vsctl --timeout=20
     --with-iface --if-exists del-port eth2
     --may-exist add-br xenbr2
     --may-exist add-port xenbr2 eth2
     set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80"
-    set Bridge xenbr2 fail_mode=standalone
+    set Bridge xenbr2 fail_mode=secure
     remove Bridge xenbr2 other_config disable-in-band
     br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
+/usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport
+/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
+/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,arp,dl_src=00:15:17:a0:29:80,actions=5
+/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,dl_dst=00:15:17:a0:29:80,actions=local
+/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,dl_src=00:15:17:a0:29:80,actions=5
 /sbin/ifup xenbr2
 /sbin/update-issue
 Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
@@ -689,6 +740,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
 XEMANAGED=yes
 DEVICE=xenbr2
 ONBOOT=no
+NOZEROCONF=yes
 TYPE=Ethernet
 BOOTPROTO=dhcp
 PERSISTENT_DHCLIENT=yes
@@ -699,16 +751,16 @@ MTU=1500
 # interface-reconfigure to take it back down.
 AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0])
 
-AT_CHECK([IFR_RUN --force xenbr2 down], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xenbr2 down
+AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_down: xenbr2
 /sbin/ifdown xenbr2
 deconfigure ipdev xenbr2 on xenbr2
 deconfigure_bridge: bridge           - xenbr2
-action_down: bring down physical devices - [u'eth2']
-/sbin/ifconfig eth2 down
+action_down: bring down physical devices - ['eth2']
+/sbin/ip link set eth2 down
 /usr/bin/ovs-vsctl --timeout=20
     --with-iface --if-exists del-port xenbr2
     --if-exists del-br xenbr2
@@ -718,29 +770,31 @@ AT_CLEANUP
 \f
 AT_SETUP([VLAN, non-bond])
 AT_KEYWORDS([interface-reconfigure])
-IFR_SETUP
+AT_SKIP_IF([$non_ascii_cwd])
+AT_SKIP_IF([test "$IS_WIN32" = "yes"])
+ifr_setup
 
-AT_CHECK([IFR_RUN --force xapi3 up], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xapi3 up
+AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_up: xapi3
 Writing network configuration for xapi3
 Configuring xapi3 using None configuration
 configure_datapath: bridge      - xenbr3
-configure_datapath: physical    - [u'eth3']
+configure_datapath: physical    - ['eth3']
 configure_datapath: extra ports - []
 configure_datapath: extra bonds - []
 Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
-/sbin/ifconfig eth3 up mtu 1500
+/sbin/ip link set eth3 up mtu 1500
 /sbin/ethtool -K eth3 gro off lro off
 /usr/bin/ovs-vsctl --timeout=20
     --with-iface --if-exists del-port eth3
     --may-exist add-br xenbr3
     --may-exist add-port xenbr3 eth3
     set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
-    set Bridge xenbr3 fail_mode=standalone
+    set Bridge xenbr3 fail_mode=secure
     remove Bridge xenbr3 other_config disable-in-band
     br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
     --if-exists del-br xapi3
@@ -758,6 +812,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
 XEMANAGED=yes
 DEVICE=xapi3
 ONBOOT=no
+NOZEROCONF=yes
 TYPE=Ethernet
 BOOTPROTO=none
 MTU=1500
@@ -767,8 +822,8 @@ MTU=1500
 # interface-reconfigure to take it back down.
 AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0])
 
-AT_CHECK([IFR_RUN --force xapi3 down], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xapi3 down
+AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_down: xapi3
@@ -777,8 +832,8 @@ deconfigure ipdev xapi3 on xenbr3
 deconfigure_bridge: bridge           - xapi3
 action_down: no more masters, bring down slave xenbr3
 deconfigure_bridge: bridge           - xenbr3
-action_down: bring down physical devices - [u'eth3']
-/sbin/ifconfig eth3 down
+action_down: bring down physical devices - ['eth3']
+/sbin/ip link set eth3 down
 /usr/bin/ovs-vsctl --timeout=20
     --with-iface --if-exists del-port xapi3
     --if-exists del-br xapi3
@@ -789,7 +844,9 @@ AT_CLEANUP
 \f
 AT_SETUP([Bond, non-VLAN])
 AT_KEYWORDS([interface-reconfigure])
-IFR_SETUP
+AT_SKIP_IF([$non_ascii_cwd])
+AT_SKIP_IF([test "$IS_WIN32" = "yes"])
+ifr_setup
 
 # Pretend that bond0 exists, even though it would really be created by
 # a "create-bond" call in an ovs-vsctl invocation within
@@ -798,8 +855,8 @@ IFR_SETUP
 # exist" after it thinks it created bond0.
 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
 
-AT_CHECK([IFR_RUN --force xapi1 up], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xapi1 up
+AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_up: xapi1
@@ -808,16 +865,16 @@ Configuring xapi1 using None configuration
 configure_datapath: leaving bond bond0 up
 configure_datapath: leaving bond bond0 up
 configure_datapath: bridge      - xapi1
-configure_datapath: physical    - [u'eth0', u'eth1']
+configure_datapath: physical    - ['eth0', 'eth1']
 configure_datapath: extra ports - []
 configure_datapath: extra bonds - []
 netdev: down: device xenbr0 does not exist, ignoring
 netdev: down: device xenbr1 does not exist, ignoring
 Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
-/sbin/ifconfig eth0 up mtu 1500
+/sbin/ip link set eth0 up mtu 1500
 /sbin/ethtool -K eth0 gro off lro off
-/sbin/ifconfig eth1 up mtu 1500
+/sbin/ip link set eth1 up mtu 1500
 /sbin/ethtool -K eth1 gro off lro off
 /usr/bin/ovs-vsctl --timeout=20
     --if-exists del-br xenbr0
@@ -827,14 +884,14 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
     --may-exist add-br xapi1
     --with-iface --if-exists del-port bond0
     --fake-iface add-bond xapi1 bond0 eth0 eth1
-    set Port bond0 MAC="00:22:19:22:4b:af" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
+    set Port bond0 MAC="00:22:19:22:4b:af" bond_downdelay=200 other-config:bond-miimon-interval=100 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
     set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
-    set Bridge xapi1 fail_mode=standalone
+    set Bridge xapi1 fail_mode=secure
     remove Bridge xapi1 other_config disable-in-band
     br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
 /sbin/ifup xapi1
 action_up: bring up bond0
-/sbin/ifconfig bond0 up
+/sbin/ip link set bond0 up
 /sbin/update-issue
 Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
@@ -845,6 +902,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
 XEMANAGED=yes
 DEVICE=xapi1
 ONBOOT=no
+NOZEROCONF=yes
 TYPE=Ethernet
 BOOTPROTO=none
 MTU=1500
@@ -854,17 +912,17 @@ MTU=1500
 # interface-reconfigure to take it back down.
 AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0])
 
-AT_CHECK([IFR_RUN --force xapi1 down], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xapi1 down
+AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_down: xapi1
 /sbin/ifdown xapi1
 deconfigure ipdev xapi1 on xapi1
 deconfigure_bridge: bridge           - xapi1
-action_down: bring down physical devices - [u'eth0', u'eth1']
-/sbin/ifconfig eth0 down
-/sbin/ifconfig eth1 down
+action_down: bring down physical devices - ['eth0', 'eth1']
+/sbin/ip link set eth0 down
+/sbin/ip link set eth1 down
 /usr/bin/ovs-vsctl --timeout=20
     --with-iface --if-exists del-port xapi1
     --if-exists del-br xapi1
@@ -874,7 +932,9 @@ AT_CLEANUP
 \f
 AT_SETUP([VLAN on bond])
 AT_KEYWORDS([interface-reconfigure])
-IFR_SETUP
+AT_SKIP_IF([$non_ascii_cwd])
+AT_SKIP_IF([test "$IS_WIN32" = "yes"])
+ifr_setup
 
 # Pretend that bond0 exists, even though it would really be created by
 # a "create-bond" call in an ovs-vsctl invocation within
@@ -883,8 +943,8 @@ IFR_SETUP
 # exist" after it thinks it created bond0.
 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
 
-AT_CHECK([IFR_RUN --force xapi2 up], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xapi2 up
+AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_up: xapi2
@@ -893,16 +953,16 @@ Configuring xapi2 using None configuration
 configure_datapath: leaving bond bond0 up
 configure_datapath: leaving bond bond0 up
 configure_datapath: bridge      - xapi1
-configure_datapath: physical    - [u'eth0', u'eth1']
+configure_datapath: physical    - ['eth0', 'eth1']
 configure_datapath: extra ports - []
 configure_datapath: extra bonds - []
 netdev: down: device xenbr0 does not exist, ignoring
 netdev: down: device xenbr1 does not exist, ignoring
 Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
-/sbin/ifconfig eth0 up mtu 1500
+/sbin/ip link set eth0 up mtu 1500
 /sbin/ethtool -K eth0 gro off lro off
-/sbin/ifconfig eth1 up mtu 1500
+/sbin/ip link set eth1 up mtu 1500
 /sbin/ethtool -K eth1 gro off lro off
 /usr/bin/ovs-vsctl --timeout=20
     --if-exists del-br xenbr0
@@ -912,9 +972,9 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
     --may-exist add-br xapi1
     --with-iface --if-exists del-port bond0
     --fake-iface add-bond xapi1 bond0 eth0 eth1
-    set Port bond0 MAC="00:22:19:22:4b:af" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
+    set Port bond0 MAC="00:22:19:22:4b:af" bond_downdelay=200 other-config:bond-miimon-interval=100 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
     set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
-    set Bridge xapi1 fail_mode=standalone
+    set Bridge xapi1 fail_mode=secure
     remove Bridge xapi1 other_config disable-in-band
     br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
     --if-exists del-br xapi2
@@ -923,7 +983,7 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
     set Interface xapi2 MAC="00:22:19:22:4b:af"
 /sbin/ifup xapi2
 action_up: bring up bond0
-/sbin/ifconfig bond0 up
+/sbin/ip link set bond0 up
 /sbin/update-issue
 Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
@@ -934,6 +994,7 @@ AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
 XEMANAGED=yes
 DEVICE=xapi2
 ONBOOT=no
+NOZEROCONF=yes
 TYPE=Ethernet
 BOOTPROTO=none
 MTU=1500
@@ -943,8 +1004,8 @@ MTU=1500
 # interface-reconfigure to take it back down.
 AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0])
 
-AT_CHECK([IFR_RUN --force xapi2 down], [0], [], [stderr])
-AT_CHECK([IFR_FILTER], [0], [[Force interface xapi2 down
+AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr])
+AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down
 Loading xapi database cache from /var/xapi/network.dbcache
 Configured for Vswitch datapath
 action_down: xapi2
@@ -953,9 +1014,9 @@ deconfigure ipdev xapi2 on xapi1
 deconfigure_bridge: bridge           - xapi2
 action_down: no more masters, bring down slave xapi1
 deconfigure_bridge: bridge           - xapi1
-action_down: bring down physical devices - [u'eth0', u'eth1']
-/sbin/ifconfig eth0 down
-/sbin/ifconfig eth1 down
+action_down: bring down physical devices - ['eth0', 'eth1']
+/sbin/ip link set eth0 down
+/sbin/ip link set eth1 down
 /usr/bin/ovs-vsctl --timeout=20
     --with-iface --if-exists del-port xapi2
     --if-exists del-br xapi2
@@ -963,3 +1024,22 @@ action_down: bring down physical devices - [u'eth0', u'eth1']
 ]])
 
 AT_CLEANUP
+
+dnl This test configures two tunnels, then deletes the second and re-uses its
+dnl name for different types of ports. This was introduced to detect errors
+dnl where port configuration persists even when the port is deleted and
+dnl readded.
+AT_SETUP([Re-create port with different types])
+AT_KEYWORDS([interface-reconfigure])
+OVS_VSWITCHD_START(
+  [add-port br0 p0 -- set int p0 type=gre options:remote_ip=127.0.0.1 -- \
+   add-port br0 p1 -- set int p1 type=dummy -- \
+   add-port br0 p2 -- set int p2 type=dummy])
+
+AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1])
+AT_CHECK([ovs-vsctl del-port p1])
+AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy])
+
+OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
+OVS_APP_EXIT_AND_WAIT([ovsdb-server])
+AT_CLEANUP