netd: bandwidthcontroler: add support for alerts via iptables' quota2 log messages
* Fix quota2 updating. The old insert-new/delete-old scheme doesn't work as the kernel keeps the old counter assigned to the new rule. * Add support for setting dummy quotas used only for alerts. This needs: - new kernel with quota2 changes that support logging via NETLINK's NETLINK_NFLOG family. - NetlinkManager support for receiving the events. - java land handler for these new events. * new commands - add/remove a dummy quota to generate an alert after <bytes> are seen including loopback. alerts are only triggered once. . ndc bandwidth setglobalalert <bytes> calling it multiple times, just re-arms the alert for the specified number of bytes. Use "ndc bandwidth getiquota singleAlert" to get what is left. . ndc bandwidth removeglobalalert - add/remove alert on a shared quota (similar accounting as shared quota) . ndc bandwidth setsharedalert <bytes> Requires that a shared quota already exist. . ndc bandwidth removesharedalert Removing the last of the shared quotas will remove the matching alert. - add/remove alert on an interface (similar accounting as interface quota) . ndc bandwidth setinterfacealert <iface> <bytes> Requires that a interface quota already exist. . ndc bandwidth removeinterfacealert <iface> Removing the interface quota will remove the matching alert. - get the quotas and alert leftovers . ndc bandwidth getquota shared quota leftover . ndc bandwidth getiquota <quota_name_or_iface> iface specific quota leftover Can be used to read-out alerts. E.g. setglobalalert 12345 -> getiquota globalAlert setsharedalert 12345 -> getiquota sharedAlert setinterfacealert iface0 12345 -> getiquota iface0Alert Change-Id: Iea9698b9d20e713281755dac32b4772a6cf0e84e
Loading
Please register or sign in to comment