Add general /proc/sys/net/ipv[46]/{conf,neigh}/ interface
Bug: 21859053
Bug: 28135208
Change-Id: Ia3232706a697fd149ed87f74586efe3d434261f8
diff --git a/server/InterfaceController.h b/server/InterfaceController.h
index 98c8b8f..80ebe5c 100644
--- a/server/InterfaceController.h
+++ b/server/InterfaceController.h
@@ -17,6 +17,8 @@
#ifndef _INTERFACE_CONTROLLER_H
#define _INTERFACE_CONTROLLER_H
+#include <string>
+
class InterfaceController {
public:
static void initializeAll();
@@ -31,6 +33,15 @@
static int addAddress(const char *interface, const char *addrString, int prefixLength);
static int delAddress(const char *interface, const char *addrString, int prefixLength);
+ // Read and write values in files of the form:
+ // /proc/sys/net/<family>/<which>/<interface>/<parameter>
+ static int getParameter(
+ const char *family, const char *which, const char *interface, const char *parameter,
+ std::string *value);
+ static int setParameter(
+ const char *family, const char *which, const char *interface, const char *parameter,
+ const char *value);
+
private:
static void setAcceptRA(const char* value);
static void setAcceptRARouteTable(int tableOrOffset);