diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index a8439bb7e044af8c52fdf0a93efead265b177ff4..25e3d8d65991c844d10fbd660607ae584d5744c2 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -177,10 +177,16 @@ class KVMHypervisor(hv_base.BaseHypervisor):
                      " 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"
-      interface_forwarding = "/proc/sys/net/ipv4/conf/$INTERFACE/forwarding"
-      script.write("  /bin/echo 1 > %s\n" % interface_proxy_arp)
-      script.write("  /bin/echo 1 > %s\n" % interface_forwarding)
+      interface_v4_conf = "/proc/sys/net/ipv4/conf/$INTERFACE"
+      interface_v6_conf = "/proc/sys/net/ipv6/conf/$INTERFACE"
+      script.write("  if [ -d %s ]; then\n" % interface_v4_conf)
+      script.write("    echo 1 > %s/proxy_arp\n" % interface_v4_conf)
+      script.write("    echo 1 > %s/forwarding\n" % interface_v4_conf)
+      script.write("  fi\n")
+      script.write("  if [ -d %s ]; then\n" % interface_v6_conf)
+      script.write("    echo 1 > %s/proxy_ndp\n" % interface_v6_conf)
+      script.write("    echo 1 > %s/forwarding\n" % interface_v6_conf)
+      script.write("  fi\n")
     script.write("fi\n\n")
     # As much as we'd like to put this in our _ROOT_DIR, that will happen to be
     # mounted noexec sometimes, so we'll have to find another place.