summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kline <ek@google.com>2015-07-28 18:51:01 +0900
committerErik Kline <ek@google.com>2015-07-28 18:51:01 +0900
commit7adf8d71b80a729354c358d7a0110651750db5f2 (patch)
tree19e8c2b47d6b85caba6086b26b956e696255841f
parentcea2d3455eb7c0d9ad1430607cbe98cc09251c1f (diff)
downloadnetd-7adf8d71b80a729354c358d7a0110651750db5f2.tar.gz
Enable use_oif_addrs_only in netd.
Bug: 19470192 Bug: 21832279 Bug: 22464419 Change-Id: I53a9e592a03fd16c124dcae2a47c6ac2e9049c48
-rw-r--r--server/InterfaceController.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp
index 43169290..3882bccf 100644
--- a/server/InterfaceController.cpp
+++ b/server/InterfaceController.cpp
@@ -76,6 +76,10 @@ void setOnAllInterfaces(const char* dirname, const char* basename, const char* v
closedir(dir);
}
+void setIPv6UseOutgoingInterfaceAddrsOnly(const char *value) {
+ setOnAllInterfaces(ipv6_proc_path, "use_oif_addrs_only", value);
+}
+
} // namespace
InterfaceController::InterfaceController() {
@@ -93,6 +97,10 @@ InterfaceController::InterfaceController() {
// 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() {