Merge commit 'origin/citrix'
[sliver-openvswitch.git] / xenserver / vswitch-xen.spec
index 4a04cc0..cf74138 100644 (file)
@@ -67,7 +67,7 @@ install -m 755 xenserver/etc_xensource_scripts_vif \
              $RPM_BUILD_ROOT%{_prefix}/scripts/vif
 install -m 755 xenserver/root_vswitch_scripts_dump-vif-details \
                $RPM_BUILD_ROOT%{_prefix}/scripts/dump-vif-details
-install -m 755 \
+install -m 644 \
         xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
                $RPM_BUILD_ROOT%{_prefix}/scripts/XSFeatureVSwitch.py
 
@@ -80,17 +80,17 @@ rm -rf \
     $RPM_BUILD_ROOT/root/vswitch/bin/ovs-controller \
     $RPM_BUILD_ROOT/root/vswitch/bin/ovs-discover \
     $RPM_BUILD_ROOT/root/vswitch/bin/ovs-kill \
+    $RPM_BUILD_ROOT/root/vswitch/bin/ovs-openflowd \
     $RPM_BUILD_ROOT/root/vswitch/bin/ovs-pki \
     $RPM_BUILD_ROOT/root/vswitch/bin/ovs-switchui \
     $RPM_BUILD_ROOT/root/vswitch/bin/ovs-wdt \
-    $RPM_BUILD_ROOT/root/vswitch/bin/secchan \
-    $RPM_BUILD_ROOT/root/vswitch/kernel_modudules/veth_mod.ko \
+    $RPM_BUILD_ROOT/root/vswitch/kernel_modules/veth_mod.ko \
     $RPM_BUILD_ROOT/root/vswitch/sbin/ovs-monitor \
     $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-controller.8 \
     $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-discover.8 \
     $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-kill.8 \
+    $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-openflowd.8 \
     $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-pki.8 \
-    $RPM_BUILD_ROOT/root/vswitch/share/man/man8/secchan.8 \
     $RPM_BUILD_ROOT/root/vswitch/share/openvswitch
 
 %clean
@@ -168,6 +168,21 @@ fi
 %post
 source /etc/xensource-inventory
 
+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
+
 xe host-param-set \
     "other-config:vSwitchVersion=%{version}" uuid="$INSTALLATION_UUID" ||
     echo "Could not set vSwitchVersion config parameter"