diff options
author | Alexey Perevalov <a.perevalov@samsung.com> | 2014-08-20 14:03:18 -0400 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-08-26 15:36:19 -0400 |
commit | f111f780ae1abf4cdc464f24293be90c010a04f6 (patch) | |
tree | dc21c997ab1e17b5605f2141980ad3e9c46b96d5 /include/uapi | |
parent | 1b05756c48ea07ced9604ef01d11194d936da163 (diff) |
netfilter: nfnetlink_acct: add filter support to nfacct counter list/reset
You can use this to skip accounting objects when listing/resetting
via NFNL_MSG_ACCT_GET/NFNL_MSG_ACCT_GET_CTRZERO messages with the
NLM_F_DUMP netlink flag. The filtering covers the following cases:
1. No filter specified. In this case, the client will get old behaviour,
2. List/reset counter object only: In this case, you have to use
NFACCT_F_QUOTA as mask and value 0.
3. List/reset quota objects only: You have to use NFACCT_F_QUOTA_PKTS
as mask and value - the same, for byte based quota mask should be
NFACCT_F_QUOTA_BYTES and value - the same.
If you want to obtain the object with any quota type
(ie. NFACCT_F_QUOTA_PKTS|NFACCT_F_QUOTA_BYTES), you need to perform
two dump requests, one to obtain NFACCT_F_QUOTA_PKTS objects and
another for NFACCT_F_QUOTA_BYTES.
Signed-off-by: Alexey Perevalov <a.perevalov@samsung.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/netfilter/nfnetlink_acct.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/uapi/linux/netfilter/nfnetlink_acct.h b/include/uapi/linux/netfilter/nfnetlink_acct.h index 51404ec19022..f3e34dbbf966 100644 --- a/include/uapi/linux/netfilter/nfnetlink_acct.h +++ b/include/uapi/linux/netfilter/nfnetlink_acct.h | |||
@@ -28,9 +28,17 @@ enum nfnl_acct_type { | |||
28 | NFACCT_USE, | 28 | NFACCT_USE, |
29 | NFACCT_FLAGS, | 29 | NFACCT_FLAGS, |
30 | NFACCT_QUOTA, | 30 | NFACCT_QUOTA, |
31 | NFACCT_FILTER, | ||
31 | __NFACCT_MAX | 32 | __NFACCT_MAX |
32 | }; | 33 | }; |
33 | #define NFACCT_MAX (__NFACCT_MAX - 1) | 34 | #define NFACCT_MAX (__NFACCT_MAX - 1) |
34 | 35 | ||
36 | enum nfnl_attr_filter_type { | ||
37 | NFACCT_FILTER_UNSPEC, | ||
38 | NFACCT_FILTER_MASK, | ||
39 | NFACCT_FILTER_VALUE, | ||
40 | __NFACCT_FILTER_MAX | ||
41 | }; | ||
42 | #define NFACCT_FILTER_MAX (__NFACCT_FILTER_MAX - 1) | ||
35 | 43 | ||
36 | #endif /* _UAPI_NFNL_ACCT_H_ */ | 44 | #endif /* _UAPI_NFNL_ACCT_H_ */ |