diff options
author | Alexey Perevalov <a.perevalov@samsung.com> | 2014-07-31 17:12:33 +0400 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-07-31 20:45:56 +0200 |
commit | a9fea38024e6bde9118cc12bc8417b207ffc4da9 (patch) | |
tree | c672df5050e3c067baddb321951c82e0b2b24e2b | |
parent | bb91cd49ae8d4a471b9c4c0c8ab86bb3940f7d69 (diff) |
Fix overquota output result
Current implementation shows "packet" for none byte quota type.
It means "packet" was used for overquota counter as well and it
wasn't so informative.
This commmit adds additional column - overquota with yes/no value.
Signed-off-by: Alexey Perevalov <a.perevalov@samsung.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/libnetfilter_acct.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/libnetfilter_acct.c b/src/libnetfilter_acct.c index 7f539b6..bb15c68 100644 --- a/src/libnetfilter_acct.c +++ b/src/libnetfilter_acct.c @@ -267,14 +267,22 @@ nfacct_snprintf_plain(char *buf, size_t rem, struct nfacct *nfacct, if (nfacct->flags) { uint32_t mode; + char *mode_name; mode = nfacct_attr_get_u64(nfacct, NFACCT_ATTR_FLAGS); + if (mode & NFACCT_F_QUOTA_PKTS) + mode_name = "packet"; + else if (mode & NFACCT_F_QUOTA_BYTES) + mode_name = "byte"; + else + mode_name = "unknown"; ret = snprintf(buf + offset, rem, - ", quota = %.20"PRIu64", mode = %s", + ", quota = %.20"PRIu64", mode = %s"\ + ", overquota = %s", nfacct_attr_get_u64(nfacct, NFACCT_ATTR_QUOTA), - mode == NFACCT_F_QUOTA_BYTES ? - "byte" : "packet"); + mode_name, + mode & NFACCT_F_OVERQUOTA ? "yes" : "no"); SNPRINTF_CHECK(ret, rem, offset, len); } |