Enable use_oif_addrs_only in netd.
Bug: 19470192
Bug: 21832279
Bug: 22464419
Change-Id: I53a9e592a03fd16c124dcae2a47c6ac2e9049c48
diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp
index 4316929..3882bcc 100644
--- a/server/InterfaceController.cpp
+++ b/server/InterfaceController.cpp
@@ -76,6 +76,10 @@
closedir(dir);
}
+void setIPv6UseOutgoingInterfaceAddrsOnly(const char *value) {
+ setOnAllInterfaces(ipv6_proc_path, "use_oif_addrs_only", value);
+}
+
} // namespace
InterfaceController::InterfaceController() {
@@ -93,6 +97,10 @@
// Reduce the ARP/ND base reachable time from the default (30sec) to 15sec.
setBaseReachableTimeMs(15 * 1000);
+
+ // When sending traffic via a given interface use only addresses configured
+ // on that interface as possible source addresses.
+ setIPv6UseOutgoingInterfaceAddrsOnly("1");
}
InterfaceController::~InterfaceController() {