netfilter: xt_qtaguid: work around devices that reset their stats
authorJP Abgrall <jpa@google.com>
Thu, 15 Sep 2011 07:56:20 +0000 (00:56 -0700)
committerJP Abgrall <jpa@google.com>
Thu, 15 Sep 2011 17:50:51 +0000 (10:50 -0700)
commita682462f220720a1e46fae07deab04690aa0d40c
treea47dee1ed4a1752268269be79d14deced6448364
parent0831df769b8e4e3f8bd034763acd3826f873f597
netfilter: xt_qtaguid: work around devices that reset their stats

Most net devs will not reset their stats when just going down/up,
unless a NETDEV_UNREGISTER was notified.
But some devs will not send out a NETDEV_UNREGISTER but still
reset their stats just before a NETDEV_UP.
Now we just track the dev stats during NETDEV_DOWN... just in case.
Then on NETDEV_UP we check the stats: if the device didn't do a
NETDEV_UNREGISTER and a prior NETDEV_DOWN captured stats, then we treat
it as an UNREGISTER and save the totals from the stashed values.

Added extra netdev event debugging.

Change-Id: Iec79e74bfd40269aa3e5892f161be71e09de6946
Signed-off-by: JP Abgrall <jpa@google.com>
net/netfilter/xt_qtaguid.c
net/netfilter/xt_qtaguid_internal.h
net/netfilter/xt_qtaguid_print.c
net/netfilter/xt_qtaguid_print.h