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)
committermgross <mark.gross@intel.com>
Wed, 9 Nov 2011 20:24:07 +0000 (12:24 -0800)
commit348a91cf281800936ae57f84f97aa06ec6509bb9
tree4442f3eb96dfde7f790270931982c619eb95c368
parent58389a2823c8f063d9bb329cd5453689b7dad7d1
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