Pass NetID to clatd as a command line argument.

Change-Id: I77a47b24e68c7786f790974f05787a40a4934af5
diff --git a/server/ClatdController.cpp b/server/ClatdController.cpp
index ba4ca27..46834c6 100644
--- a/server/ClatdController.cpp
+++ b/server/ClatdController.cpp
@@ -22,9 +22,11 @@
 #include <cutils/log.h>
 
 #include "ClatdController.h"
+#include "NetdConstants.h"
+#include "NetworkController.h"
 
-ClatdController::ClatdController() {
-    mClatdPid = 0;
+ClatdController::ClatdController(NetworkController* controller)
+        : mNetCtrl(controller), mClatdPid(0) {
 }
 
 ClatdController::~ClatdController() {
@@ -47,17 +49,21 @@
     }
 
     if (!pid) {
-        char **args = (char **)malloc(sizeof(char *) * 4);
-        args[0] = (char *)"/system/bin/clatd";
-        args[1] = (char *)"-i";
-        args[2] = interface;
-        args[3] = NULL;
+        char netId[UINT32_STRLEN];
+        snprintf(netId, sizeof(netId), "%u", mNetCtrl->getNetworkId(interface));
+        char *args[] = {
+            (char*)"/system/bin/clatd",
+            (char*)"-i",
+            interface,
+            (char*)"-n",
+            netId,
+            NULL
+        };
 
         if (execv(args[0], args)) {
             ALOGE("execv failed (%s)", strerror(errno));
         }
         ALOGE("Should never get here!");
-        free(args);
         _exit(0);
     } else {
         mClatdPid = pid;