netfilter: xtables: idletimer target implementation
authorLuciano Coelho <luciano.coelho@nokia.com>
Tue, 15 Jun 2010 13:04:00 +0000 (15:04 +0200)
committerPatrick McHardy <kaber@trash.net>
Tue, 15 Jun 2010 13:04:00 +0000 (15:04 +0200)
commit0902b469bd25065aa0688c3cee6f11744c817e7c
treeb7e1516da57ee49d98de0789a19fc283b50bf1de
parentd73f33b168831e53972fbf7c85db87950a41436c
netfilter: xtables: idletimer target implementation

This patch implements an idletimer Xtables target that can be used to
identify when interfaces have been idle for a certain period of time.

Timers are identified by labels and are created when a rule is set with a new
label.  The rules also take a timeout value (in seconds) as an option.  If
more than one rule uses the same timer label, the timer will be restarted
whenever any of the rules get a hit.

One entry for each timer is created in sysfs.  This attribute contains the
timer remaining for the timer to expire.  The attributes are located under
the xt_idletimer class:

/sys/class/xt_idletimer/timers/<label>

When the timer expires, the target module sends a sysfs notification to the
userspace, which can then decide what to do (eg. disconnect to save power).

Cc: Timo Teras <timo.teras@iki.fi>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
include/linux/netfilter/Kbuild
include/linux/netfilter/xt_IDLETIMER.h [new file with mode: 0644]
net/netfilter/Kconfig
net/netfilter/Makefile
net/netfilter/xt_IDLETIMER.c [new file with mode: 0644]