netd: NetlinkManager: add support receiving quota2 log messages
NetlinkManager, NetlinkHandler
. added support for netlink's NETLINK_NFLOG family used by the updated xt_quota2.
. it pushes the event all the wait to NetworkManagementService.java
"linit alert <alert_name> <iface_name>"
This needs:
- new kernel with quota2 changes that support logging via NETLINK's
NETLINK_NFLOG family.
- BandwidthController changes that setup the alerts.
- system core NetlinkEvent that recognizes the NFLOG messages.
- java land NetworkManagementService changes.
Change-Id: Id5b1026c6002803b5a1c0c7623cf7b1961de9802
diff --git a/NetlinkManager.h b/NetlinkManager.h
index ff646f4..c8f5507 100644
--- a/NetlinkManager.h
+++ b/NetlinkManager.h
@@ -20,6 +20,7 @@
#include <sysutils/SocketListener.h>
#include <sysutils/NetlinkListener.h>
+
class NetlinkHandler;
class NetlinkManager {
@@ -30,8 +31,10 @@
SocketListener *mBroadcaster;
NetlinkHandler *mUeventHandler;
NetlinkHandler *mRouteHandler;
+ NetlinkHandler *mQuotaHandler;
int mUeventSock;
int mRouteSock;
+ int mQuotaSock;
public:
virtual ~NetlinkManager();
@@ -44,9 +47,12 @@
static NetlinkManager *Instance();
+ /* This is the nflog group arg that the xt_quota2 neftiler will use. */
+ static const int NFLOG_QUOTA_GROUP;
+
private:
NetlinkManager();
- NetlinkHandler* setupSocket(int *sock, int socketType, int groups,
+ NetlinkHandler* setupSocket(int *sock, int netlinkFamily, int groups,
int format);
};
#endif