diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py index fd51ae52a38030bff2f2f31eb91cb91c8190847b..a2bca1e69908d404067b50095520005bb693789d 100644 --- a/lib/hypervisor/hv_kvm.py +++ b/lib/hypervisor/hv_kvm.py @@ -169,7 +169,10 @@ class KVMHypervisor(hv_base.BaseHypervisor): script.write(" /usr/sbin/brctl addif $BRIDGE $INTERFACE\n") elif nic.nicparams[constants.NIC_MODE] == constants.NIC_MODE_ROUTED: script.write(" # Route traffic targeted at the IP to the interface\n") - script.write(" /sbin/ip route add $IP/32 dev $INTERFACE\n") + if nic.nicparams[constants.NIC_LINK]: + script.write(" /sbin/ip route replace $IP/32 table $LINK dev $INTERFACE\n") + else: + script.write(" /sbin/ip route replace $IP/32 dev $INTERFACE\n") interface_proxy_arp = "/proc/sys/net/ipv4/conf/$INTERFACE/proxy_arp" script.write(" /bin/echo 1 > %s\n" % interface_proxy_arp) script.write("fi\n\n")