Re-add netd support for enabling IPv6 optimistic mode.
Enables optimistic_dad and use_optimistic on all interfaces
by default.
---
This functionality was originally submitted in ag/569594. Owing
to issues with bind()ing to optimistic addresses (see b/18609055)
this was reverted in ag/598690.
This reverts the revert. :-)
Bug: 17769720
Change-Id: I156e5636341a846f41fb9a15c84cf06878b239d8
diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp
index b38c137..b7a4d0b 100644
--- a/server/InterfaceController.cpp
+++ b/server/InterfaceController.cpp
@@ -38,6 +38,9 @@
setAcceptRA("2");
setAcceptRARouteTable(-RouteController::ROUTE_TABLE_OFFSET_FROM_INDEX);
+
+ // Enable optimistic DAD for IPv6 addresses on all interfaces.
+ setIPv6OptimisticMode("1");
}
InterfaceController::~InterfaceController() {
@@ -147,3 +150,8 @@
free(path);
return success;
}
+
+void InterfaceController::setIPv6OptimisticMode(const char *value) {
+ setOnAllInterfaces("optimistic_dad", value);
+ setOnAllInterfaces("use_optimistic", value);
+}