fix InterfaceController::setIPv6AddrGenMode(INetd::IPV6_ADDR_GEN_MODE_EUI64)
to actually do something... writing an empty string is a no-op by definition,
furthermore the way to switch to EUI64 mode is via 'addr_gen_mode' file,
not via the stable_secret file.
Test: builds and TreeHugger
Bug: 138428295
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I77515cfec315136e0d8641fa1457917cc1efe70d
diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp
index a2d6192..a67b4e1 100644
--- a/server/InterfaceController.cpp
+++ b/server/InterfaceController.cpp
@@ -289,9 +289,9 @@
switch (mode) {
case INetd::IPV6_ADDR_GEN_MODE_EUI64:
- // Ignore return value. If /proc/.../stable_secret is
+ // Ignore return value. If /proc/.../addr_gen_mode is
// missing we're probably in EUI64 mode already.
- writeValueToPath(ipv6_proc_path, interface.c_str(), "stable_secret", "");
+ writeValueToPath(ipv6_proc_path, interface.c_str(), "addr_gen_mode", "0");
break;
case INetd::IPV6_ADDR_GEN_MODE_STABLE_PRIVACY: {
return enableStablePrivacyAddresses(interface, getProperty, setProperty);