OSDN Git Service

Set accept_ra to 2 on all interfaces.
authorLorenzo Colitti <lorenzo@google.com>
Wed, 28 Oct 2015 07:56:51 +0000 (16:56 +0900)
committerLorenzo Colitti <lorenzo@google.com>
Wed, 28 Oct 2015 08:11:19 +0000 (17:11 +0900)
This matches what we do on real devices, and it makes it easier
to write tests that use forwarding.

Change-Id: I720a75864f8fb30b59ff023c33ef3f82d1f35b4b

tests/net_test/multinetwork_base.py
tests/net_test/multinetwork_test.py

index 1e00f74..2282bba 100644 (file)
@@ -220,6 +220,8 @@ class MultiNetworkBaseTest(net_test.NetworkTest):
     net_test.SetInterfaceHWAddr(iface, cls.MyMacAddress(netid))
     # Disable DAD so we don't have to wait for it.
     cls.SetSysctl("/proc/sys/net/ipv6/conf/%s/accept_dad" % iface, 0)
+    # Set accept_ra to 2, because that's what we use.
+    cls.SetSysctl("/proc/sys/net/ipv6/conf/%s/accept_ra" % iface, 2)
     net_test.SetInterfaceUp(iface)
     net_test.SetNonBlocking(f)
     return f
@@ -326,6 +328,13 @@ class MultiNetworkBaseTest(net_test.NetworkTest):
     open(sysctl, "w").write(str(value) + "\n")
 
   @classmethod
+  def SetIPv6SysctlOnAllIfaces(cls, sysctl, value):
+    for netid in cls.tuns:
+      iface = cls.GetInterfaceName(netid)
+      name = "/proc/sys/net/ipv6/conf/%s/%s" % (iface, sysctl)
+      cls.SetSysctl(name, value)
+
+  @classmethod
   def _RestoreSysctls(cls):
     for sysctl, value in cls.saved_sysctls.iteritems():
       try:
index a31c5f0..de6b4f2 100755 (executable)
@@ -595,6 +595,7 @@ class RATest(multinetwork_base.MultiNetworkBaseTest):
 
     try:
       CheckIPv6Connectivity(True)
+      self.SetIPv6SysctlOnAllIfaces("accept_ra", 1)
       self.SetSysctl("/proc/sys/net/ipv6/conf/all/forwarding", 1)
       CheckIPv6Connectivity(False)
     finally: