Make netd track and notify IP address changes.

Subscribe netd's netlink socket to listen to IPv4 and IPv6
address changes (and ND opts, which we'll need for IPv6 DNS
later), and make NetlinkHandler notify the system of address
changes.

Bug: 10232006
Change-Id: Ib9dfd58635dce389980d8ee9529a17661a02320a
diff --git a/NetlinkManager.cpp b/NetlinkManager.cpp
index 8e2bc69..32578a1 100644
--- a/NetlinkManager.cpp
+++ b/NetlinkManager.cpp
@@ -101,7 +101,11 @@
         return -1;
     }
 
-    if ((mRouteHandler = setupSocket(&mRouteSock, NETLINK_ROUTE, RTMGRP_LINK,
+    if ((mRouteHandler = setupSocket(&mRouteSock, NETLINK_ROUTE,
+                                     RTMGRP_LINK |
+                                     RTMGRP_IPV4_IFADDR |
+                                     RTMGRP_IPV6_IFADDR |
+                                     (1 << (RTNLGRP_ND_USEROPT - 1)),
          NetlinkListener::NETLINK_FORMAT_BINARY)) == NULL) {
         return -1;
     }