Fix tethering in the case of a regular upstream connection.

Fixes tethering via Ethernet, Bluetooth and WiFi (hotspot).

Tethering when the upstream has a DUN-specific APN is likely still broken
(untested).

For now, assign a fixed NetId (a hack) until we can change the framework to
create a valid NetworkAgent and all that jazz.

Bug: 15968336
Bug: 14988803
Change-Id: Idcf4d492d9329a9c87913e27be6dd835a792bea2
diff --git a/server/TetherController.h b/server/TetherController.h
index 4da10b0..38f7593 100644
--- a/server/TetherController.h
+++ b/server/TetherController.h
@@ -24,14 +24,17 @@
 typedef android::netd::List<char *> InterfaceCollection;
 typedef android::netd::List<struct in_addr> NetAddressCollection;
 
+class NetworkController;
+
 class TetherController {
     InterfaceCollection  *mInterfaces;
     NetAddressCollection *mDnsForwarders;
     pid_t                 mDaemonPid;
     int                   mDaemonFd;
+    NetworkController* const mNetworkController;
 
 public:
-    TetherController();
+    explicit TetherController(NetworkController* networkController);
     virtual ~TetherController();
 
     int setIpFwdEnabled(bool enable);