From 7c60f7a271412c2dea03101f33f5f59ce7081010 Mon Sep 17 00:00:00 2001 From: Guido Trotter <ultrotter@google.com> Date: Tue, 22 Sep 2009 15:18:50 +0100 Subject: [PATCH] KVM nic script: use routed link as table In order to be able to maintain the node network standard routing untouched while routing instance traffic through a different dedicated interface (eg: a gre tunnel) we need to specify the instance routing path inside a separate table, which will also contain different default gateway values. This patch fixes the kvm default network script to use the nic link, if present, as a routing table to use instead of the default one. Signed-off-by: Guido Trotter <ultrotter@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/hypervisor/hv_kvm.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py index fd51ae52a..a2bca1e69 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") -- GitLab