meta-flow: Correctly set destination MAC in mf_set_flow_value().
[sliver-openvswitch.git] / tests / interface-reconfigure.at
index 1470967..008cf15 100644 (file)
@@ -40,8 +40,8 @@ EOF
         sbin/ip \
         sbin/update-issue \
         sbin/vconfig \
-        usr/bin/ovs-vsctl \
-        usr/sbin/brctl
+        usr/sbin/brctl \
+        usr/sbin/ovs-vlan-bug-workaround
     do
         mkdir -p `dirname $utility`
         cat > $utility <<'EOF'
@@ -51,11 +51,50 @@ 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}
     }
@@ -634,7 +673,7 @@ EOF
         <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
                 <other_config>
                         <vswitch-controller-fail-mode>
-                                standalone
+                                secure
                         </vswitch-controller-fail-mode>
                 </other_config>
         </pool>
@@ -664,19 +703,26 @@ configure_datapath: bridge      - xenbr2
 configure_datapath: physical    - [u'eth2']
 configure_datapath: extra ports - []
 configure_datapath: extra bonds - []
+/usr/bin/ovs-vsctl --timeout=5 -vANY:console: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/ethtool -K eth2 gro off lro off
+/usr/sbin/ovs-vlan-bug-workaround eth2 on
 /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 --timeout=5 -vANY:console: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 +735,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
@@ -735,14 +782,16 @@ 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/ethtool -K eth3 gro off lro off
+/usr/sbin/ovs-vlan-bug-workaround eth3 on
 /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
     --may-exist add-br xapi3 xenbr3 123
     br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
     set Interface xapi3 MAC="00:15:17:a0:29:81"
@@ -757,6 +806,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
@@ -816,8 +866,10 @@ 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/ethtool -K eth0 gro off lro off
+/usr/sbin/ovs-vlan-bug-workaround eth0 on
 /sbin/ifconfig eth1 up mtu 1500
 /sbin/ethtool -K eth1 gro off lro off
+/usr/sbin/ovs-vlan-bug-workaround eth1 off
 /usr/bin/ovs-vsctl --timeout=20
     --if-exists del-br xenbr0
     --if-exists del-br xenbr1
@@ -828,7 +880,7 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
     --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 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
@@ -844,6 +896,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
@@ -901,8 +954,10 @@ 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/ethtool -K eth0 gro off lro off
+/usr/sbin/ovs-vlan-bug-workaround eth0 on
 /sbin/ifconfig eth1 up mtu 1500
 /sbin/ethtool -K eth1 gro off lro off
+/usr/sbin/ovs-vlan-bug-workaround eth1 off
 /usr/bin/ovs-vsctl --timeout=20
     --if-exists del-br xenbr0
     --if-exists del-br xenbr1
@@ -913,9 +968,10 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
     --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 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
     --may-exist add-br xapi2 xapi1 4
     br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
     set Interface xapi2 MAC="00:22:19:22:4b:af"
@@ -932,6 +988,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