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);