Separate communication over netlink from protocol implementation.

This change separates communication channel (NetlinkClient) from protocol
(NetworkInterfaceManager, which is, in fact, NetlinkRoute). This is required so
that the channel can be used by NetlinkGeneric, too.

Change-Id: Ic6d2f9547a58abc8d4a4b044ac4b8ab164fc29a4
diff --git a/guest/hals/ril/vsoc_ril.cpp b/guest/hals/ril/vsoc_ril.cpp
index 7fcf753..d6977af 100644
--- a/guest/hals/ril/vsoc_ril.cpp
+++ b/guest/hals/ril/vsoc_ril.cpp
@@ -165,10 +165,8 @@
 // TearDownNetworkInterface disables network interface.
 // This call returns true, if operation was successful.
 bool TearDownNetworkInterface() {
-  std::unique_ptr<avd::NetlinkClient> nl(avd::NetlinkClient::New());
-  std::unique_ptr<avd::NetworkInterfaceManager> nm(
-      avd::NetworkInterfaceManager::New(nl.get()));
-  std::unique_ptr<avd::NetworkInterface> ni(nm->Open(g_ril_interface));
+  auto nm(avd::NetworkInterfaceManager::New(nullptr));
+  auto ni(nm->Open("rmnet0"));
 
   if (ni) {
     ni->SetOperational(false);