summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorGeremy Condra <gcondra@google.com>2013-06-13 23:30:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-06-13 23:30:49 +0000
commite08d54b92e32244a44283a84d7fae9ca37ff51b5 (patch)
tree0b50eaaa8307e8f62ed0ea67a37325830a5d8334 /core/java/android
parent256a5f8cda213969d9ae577a13427b4ae371ea61 (diff)
parent3277620a69b6b9f27126f0b2651ea4293731cd09 (diff)
Merge "Add NetworkManagement methods for netd uid binds"
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/INetworkManagementService.aidl39
1 files changed, 39 insertions, 0 deletions
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index 45524c82c9e2..3088585674e1 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -344,6 +344,30 @@ interface INetworkManagementService
void setFirewallUidRule(int uid, boolean allow);
/**
+ * Set all packets from users [uid_start,uid_end] to go through interface iface
+ * iface must already be set for marked forwarding by {@link setMarkedForwarding}
+ */
+ void setUidRangeRoute(String iface, int uid_start, int uid_end);
+
+ /**
+ * Clears the special routing rules for users [uid_start,uid_end]
+ */
+ void clearUidRangeRoute(String iface, int uid_start, int uid_end);
+
+ /**
+ * Setup an interface for routing packets marked by {@link setUidRangeRoute}
+ *
+ * This sets up a dedicated routing table for packets marked for {@code iface} and adds
+ * source-NAT rules so that the marked packets have the correct source address.
+ */
+ void setMarkedForwarding(String iface);
+
+ /**
+ * Removes marked forwarding for an interface
+ */
+ void clearMarkedForwarding(String iface);
+
+ /**
* Set a process (pid) to use the name servers associated with the specified interface.
*/
void setDnsInterfaceForPid(String iface, int pid);
@@ -354,6 +378,21 @@ interface INetworkManagementService
void clearDnsInterfaceForPid(int pid);
/**
+ * Set a range of user ids to use the name servers associated with the specified interface.
+ */
+ void setDnsInterfaceForUidRange(String iface, int uid_start, int uid_end);
+
+ /**
+ * Clear a user range from being associated with an interface.
+ */
+ void clearDnsInterfaceForUidRange(int uid_start, int uid_end);
+
+ /**
+ * Clear the mappings from pid to Dns interface and from uid range to Dns interface.
+ */
+ void clearDnsInterfaceMaps();
+
+ /**
* Start the clatd (464xlat) service
*/
void startClatd(String interfaceName);