Stop using netmask in the framework.

bug:2542681
Change-Id: Iaa2b30f7a43de28844d86a4a8a513e86d719608a
diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java
index 91a0302..ef3e89a 100644
--- a/services/java/com/android/server/NetworkManagementService.java
+++ b/services/java/com/android/server/NetworkManagementService.java
@@ -248,7 +248,7 @@
         }
         Slog.d(TAG, String.format("rsp <%s>", rsp));
 
-        // Rsp: 213 xx:xx:xx:xx:xx:xx yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz [flag1 flag2 flag3]
+        // Rsp: 213 xx:xx:xx:xx:xx:xx yyy.yyy.yyy.yyy zzz [flag1 flag2 flag3]
         StringTokenizer st = new StringTokenizer(rsp);
 
         InterfaceConfiguration cfg;
@@ -268,7 +268,7 @@
             cfg = new InterfaceConfiguration();
             cfg.hwAddr = st.nextToken(" ");
             InetAddress addr = null;
-            InetAddress mask = null;
+            int prefixLength = 0;
             try {
                 addr = InetAddress.getByName(st.nextToken(" "));
             } catch (UnknownHostException uhe) {
@@ -276,12 +276,12 @@
             }
 
             try {
-                mask = InetAddress.getByName(st.nextToken(" "));
-            } catch (UnknownHostException uhe) {
-                Slog.e(TAG, "Failed to parse netmask", uhe);
+                prefixLength = Integer.parseInt(st.nextToken(" "));
+            } catch (NumberFormatException nfe) {
+                Slog.e(TAG, "Failed to parse prefixLength", nfe);
             }
 
-            cfg.addr = new LinkAddress(addr, mask);
+            cfg.addr = new LinkAddress(addr, prefixLength);
             cfg.interfaceFlags = st.nextToken("]").trim() +"]";
         } catch (NoSuchElementException nsee) {
             throw new IllegalStateException(
@@ -294,19 +294,13 @@
     public void setInterfaceConfig(
             String iface, InterfaceConfiguration cfg) throws IllegalStateException {
         LinkAddress linkAddr = cfg.addr;
-        if (linkAddr == null) throw new IllegalStateException("Null LinkAddress given");
-        InetAddress addr = linkAddr.getAddress();
-        // TODO - fix this to pass prefixlength and be v6 capapble
-        InetAddress mask = null;
-        try {
-            mask = NetworkUtils.intToInetAddress(NetworkUtils.prefixLengthToNetmaskInt(
-                    linkAddr.getNetworkPrefixLength()));
-        } catch (IllegalArgumentException e) {
-            throw new IllegalStateException(e);
+        if (linkAddr == null || linkAddr.getAddress() == null) {
+            throw new IllegalStateException("Null LinkAddress given");
         }
-        if (addr == null || mask == null) throw new IllegalStateException("Null Address given");
-        String cmd = String.format("interface setcfg %s %s %s %s", iface,
-                addr.getHostAddress(), mask.getHostAddress(), cfg.interfaceFlags);
+        String cmd = String.format("interface setcfg %s %s %d %s", iface,
+                linkAddr.getAddress().getHostAddress(),
+                linkAddr.getNetworkPrefixLength(),
+                cfg.interfaceFlags);
         try {
             mConnector.doCommand(cmd);
         } catch (NativeDaemonConnectorException e) {