Switch back to subsystem "net" for netlink events.

The change to enable address tracking via netlink incorrectly
changed the subsystem of rtnetlink events from "net" to
"interface". This broke interface add/delete notifications,
which come from the kernel with subsystem "net".

Switch back to "net" and deal with address tracking via new
action codes instead of a new subsystem.

[Cherry-pick of f34861346d5c207912075fba9874090e4c947869]

Bug: 10433320
Change-Id: Ibf30efb426949dfd02304cc1d9adb1c005a539a6
diff --git a/libsysutils/src/NetlinkEvent.cpp b/libsysutils/src/NetlinkEvent.cpp
index 01bec77..aae2ae7 100644
--- a/libsysutils/src/NetlinkEvent.cpp
+++ b/libsysutils/src/NetlinkEvent.cpp
@@ -42,6 +42,8 @@
 const int NetlinkEvent::NlActionChange = 3;
 const int NetlinkEvent::NlActionLinkUp = 4;
 const int NetlinkEvent::NlActionLinkDown = 5;
+const int NetlinkEvent::NlActionAddressUpdated = 6;
+const int NetlinkEvent::NlActionAddressRemoved = 7;
 
 NetlinkEvent::NetlinkEvent() {
     mAction = NlActionUnknown;
@@ -131,11 +133,12 @@
             }
 
             // Fill in interface information.
-            mAction = (type == RTM_NEWADDR) ? NlActionAdd : NlActionRemove;
-            mSubsystem = strdup("address");
+            mAction = (type == RTM_NEWADDR) ? NlActionAddressUpdated :
+                                              NlActionAddressRemoved;
+            mSubsystem = strdup("net");
             asprintf(&mParams[0], "ADDRESS=%s/%d", addrstr,
                      ifaddr->ifa_prefixlen);
-            asprintf(&mParams[1], "IFACE=%s", ifname);
+            asprintf(&mParams[1], "INTERFACE=%s", ifname);
             asprintf(&mParams[2], "FLAGS=%u", ifaddr->ifa_flags);
             asprintf(&mParams[3], "SCOPE=%u", ifaddr->ifa_scope);
         } else if (rta->rta_type == IFA_CACHEINFO) {
@@ -205,7 +208,7 @@
                     mParams[0] = strdup(buffer);
                     mAction = (ifi->ifi_flags & IFF_LOWER_UP) ?
                       NlActionLinkUp : NlActionLinkDown;
-                    mSubsystem = strdup("interface");
+                    mSubsystem = strdup("net");
                     break;
                 }