summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorLiping Zhang <liping.zhang@spreadtrum.com>2016-07-05 17:23:00 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-07-11 12:16:02 +0200
commit3f8b61b7f9aea414d162821817d89a7a6aae41c3 (patch)
treebe09094d1e29f6ea8f975502592482f6f039e01d /net
parentnetfilter: physdev: physdev-is-out should not work with OUTPUT chain (diff)
downloadlinux-3f8b61b7f9aea414d162821817d89a7a6aae41c3.tar.xz
linux-3f8b61b7f9aea414d162821817d89a7a6aae41c3.zip
netfilter: nft_ct: make byte/packet expr more friendly
If we want to use ct packets expr, and add a rule like follows: # nft add rule filter input ct packets gt 1 counter We will find that no packets will hit it, because nf_conntrack_acct is disabled by default. So It will not work until we enable it manually via "echo 1 > /proc/sys/net/netfilter/nf_conntrack_acct". This is not friendly, so like xt_connbytes do, if the user want to use ct byte/packet expr, enable nf_conntrack_acct automatically. Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/nft_ct.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/netfilter/nft_ct.c b/net/netfilter/nft_ct.c
index 137e308d5b24..7ce8fd7ace78 100644
--- a/net/netfilter/nft_ct.c
+++ b/net/netfilter/nft_ct.c
@@ -355,6 +355,9 @@ static int nft_ct_get_init(const struct nft_ctx *ctx,
if (err < 0)
return err;
+ if (priv->key == NFT_CT_BYTES || priv->key == NFT_CT_PKTS)
+ nf_ct_set_acct(ctx->net, true);
+
return 0;
}