Reduce default probe interval to 5 seconds (and fail-open timeout to 15).
[openvswitch] / xenserver / vswitch-xen.spec
index 58e35dec95e6b8cc23f5bb8e78dece0d6d8b8933..028a6ce747501efb8852a0b6a2aff208fa40d84c 100644 (file)
 Name: vswitch
 Summary: Virtual switch
 Group: System Environment/Daemons
-URL: http://www.vswitch.org/
+URL: http://www.openvswitch.org/
 Version: %{vswitch_version}
 License: GPL3
 Release: 1
 Source: openvswitch-%{vswitch_version}.tar.gz
 Buildroot: /tmp/vswitch-xen-rpm
+Requires: kernel-xen = %(echo '%{xen_version}' | sed 's/xen$//')
 
 %description
 The vswitch provides standard network bridging functions augmented with
@@ -36,7 +37,7 @@ traffic.
 
 %build
 ./configure --prefix=%{_prefix} --localstatedir=%{_localstatedir} --with-l26=/lib/modules/%{xen_version}/build --enable-ssl %{build_number}
-make
+make %{_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -64,7 +65,9 @@ install -m 755 xenserver/opt_xensource_libexec_interface-reconfigure \
              $RPM_BUILD_ROOT%{_prefix}/scripts/interface-reconfigure
 install -m 755 xenserver/etc_xensource_scripts_vif \
              $RPM_BUILD_ROOT%{_prefix}/scripts/vif
-install -m 755 \
+install -m 755 xenserver/root_vswitch_scripts_dump-vif-details \
+               $RPM_BUILD_ROOT%{_prefix}/scripts/dump-vif-details
+install -m 644 \
         xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
                $RPM_BUILD_ROOT%{_prefix}/scripts/XSFeatureVSwitch.py
 
@@ -114,7 +117,7 @@ EOF
     fi
 fi
 
-if test ! -e /etc/vswitch.dbcache; then
+if test ! -e /etc/ovs-vswitch.dbcache; then
     if test "$1" = 1; then
         printf "Creating xapi database cache...  "
     else
@@ -141,7 +144,7 @@ try:
 finally:
     session.xenapi.session.logout()
 
-dbcache_file = "/etc/vswitch.dbcache"
+dbcache_file = "/etc/ovs-vswitch.dbcache"
 f = open(dbcache_file, 'w')
 pickle.dump({'vlans': vlans,
              'bonds': bonds,
@@ -162,11 +165,20 @@ EOF
 fi
 
 %post
-source /etc/xensource-inventory
-
-xe host-param-set \
-    "other-config:vSwitchVersion=%{version}" uuid="$INSTALLATION_UUID" ||
-    echo "Could not set vSwitchVersion config parameter"
+if grep -F net.ipv4.conf.all.arp_filter /etc/sysctl.conf >/dev/null 2>&1; then :; else
+    cat >>/etc/sysctl.conf <<EOF
+# This works around an issue in xhad, which binds to a particular
+# Ethernet device, which in turn causes ICMP port unreachable messages
+# if packets are received are on the wrong interface, which in turn
+# can happen if we send out ARP replies on every interface (as Linux
+# does by default) instead of just on the interface that has the IP
+# address being ARPed for, which this sysctl setting in turn works
+# around.
+#
+# Bug #1378.
+net.ipv4.conf.all.arp_filter = 1
+EOF
+fi
 
 # Ensure ovs-vswitchd.conf exists
 touch /etc/ovs-vswitchd.conf
@@ -255,18 +267,6 @@ if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
     rm -f /var/log/vswitch*
     rm -f /etc/ovs-vswitchd.cacert
 
-    if [ ! -f /etc/xensource-inventory ]; then
-        printf "XenSource inventory not present in /etc/xensource-inventory\n"
-        printf "Could not remove vSwitchVersion from XAPI database.\n"
-        exit 1
-    else
-        source /etc/xensource-inventory
-        xe host-param-remove \
-            param-name=other-config param-key=vSwitchVersion \
-            uuid="$INSTALLATION_UUID" ||
-            echo "Could not clear vSwitchVersion config parameter."
-    fi
-
     printf "\nYou MUST reboot the server now to complete the change to\n"
     printf "standard Xen networking.  Attempts to modify networking on the\n"
     printf "server or any hosted VM will fail until after the reboot and\n"
@@ -285,6 +285,7 @@ fi
 /root/vswitch/kernel_modules/brcompat_mod.ko
 /root/vswitch/kernel_modules/openvswitch_mod.ko
 /root/vswitch/kernel_modules/veth_mod.ko
+/root/vswitch/scripts/dump-vif-details
 /root/vswitch/scripts/interface-reconfigure
 /root/vswitch/scripts/vif
 /root/vswitch/scripts/XSFeatureVSwitch.py