diff options
| author | Erik Kline <ek@google.com> | 2016-08-02 15:22:53 +0900 |
|---|---|---|
| committer | Erik Kline <ek@google.com> | 2016-08-02 17:17:08 +0900 |
| commit | c296f098b63a986265ded8adf13118ba512a0fa7 (patch) | |
| tree | c947e9afeca08ab1ea9c4a83b53e124502845e65 /server/InterfaceController.cpp | |
| parent | 8917e45f7f8d49b645fd6ed10942dfe20c71ac0e (diff) | |
Support adding/removing IPv4 and IPv6 addresses on interfaces
Bug: 30298058
Change-Id: Ic25cd165476d1a781595460b7d764e8df4707c65
Diffstat (limited to 'server/InterfaceController.cpp')
| -rw-r--r-- | server/InterfaceController.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp index cbc36111..4129c0f0 100644 --- a/server/InterfaceController.cpp +++ b/server/InterfaceController.cpp @@ -23,6 +23,7 @@ #include <android-base/stringprintf.h> #include <cutils/log.h> #include <logwrap/logwrap.h> +#include <netutils/ifc.h> #include "InterfaceController.h" #include "RouteController.h" @@ -192,6 +193,17 @@ int InterfaceController::setMtu(const char *interface, const char *mtu) return writeValueToPath(sys_net_path, interface, "mtu", mtu); } + +int InterfaceController::addAddress(const char *interface, + const char *addrString, int prefixLength) { + return ifc_add_address(interface, addrString, prefixLength); +} + +int InterfaceController::delAddress(const char *interface, + const char *addrString, int prefixLength) { + return ifc_del_address(interface, addrString, prefixLength); +} + void InterfaceController::setBaseReachableTimeMs(unsigned int millis) { std::string value(StringPrintf("%u", millis)); setOnAllInterfaces(ipv4_neigh_conf_dir, "base_reachable_time_ms", value.c_str()); |
