Fix the fact that we can't bump RAM quotas above 2048M
[invirt/packages/invirt-xen-config.git] / vif-invirtroute
index 9f833dc..b3d9207 100755 (executable)
@@ -77,7 +77,9 @@ if [  ${vif_type} != "ioemu"  -o  x${qemu_online} = xyes ] ; then
            # (with metric 1) should take precedence over the vif
            # route and carry all the traffic.
 
+           src=""
            if [ $ipcmd == "add" ]; then
+               src="src ${main_ip}"
                case $dev in
                    vif*)
                        metric="metric 2"
@@ -87,19 +89,19 @@ if [  ${vif_type} != "ioemu"  -o  x${qemu_online} = xyes ] ; then
                        ;;
                esac
            fi
-           ${cmdprefix} ip route ${ipcmd} ${addr} dev ${dev} src ${main_ip} $metric
+           ${cmdprefix} ip route ${ipcmd} ${addr} dev ${dev} ${src} $metric
            case "$command" in
                online|add)
-                   timeout 5 arpspoof -i $(invirt-getconf xen.iface) -t ${gateway} ${addr} || :
+                   timeout -s KILL 5 arpspoof -i $(invirt-getconf xen.iface) -t ${gateway} ${addr} || :
                    ;;
            esac
        done 
        if [ -n "$other_ip" ]; then
-           ${cmdprefix} ip route ${ipcmd} ${other_ip} dev ${dev} src ${main_ip} $metric
+           ${cmdprefix} ip route ${ipcmd} ${other_ip} dev ${dev} ${src} $metric
            iptables -t nat ${ipt_action} PREROUTING -d ${other_ip} -j DNAT --to-destination ${addr}
            case "$command" in
                online|add)
-                   timeout 5 arpspoof -i $(invirt-getconf xen.iface) -t ${other_gateway} ${other_ip} || :
+                   timeout -s KILL 5 arpspoof -i $(invirt-getconf xen.iface) -t ${other_gateway} ${other_ip} || :
                    ;;
            esac
        fi