diff options
author | Ana Rey <anarey@gmail.com> | 2014-11-03 12:10:50 -0500 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-11-09 10:21:22 -0500 |
commit | ce674173e9f4ef7fd0dc04ea0773cdedfbf8e366 (patch) | |
tree | 1ab3456f0effd56be2fc2fb25d2a7b02e012a716 /net/netfilter | |
parent | c5a589cc3034d035e8490216a45abd3a3b3cd85e (diff) |
netfilter: nft_meta: add cgroup support
This allows you to filter traffic by process control group (cgroup).
Signed-off-by: Ana Rey <anarey@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r-- | net/netfilter/nft_meta.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/netfilter/nft_meta.c b/net/netfilter/nft_meta.c index 1e7c076ca63a..e99911eda915 100644 --- a/net/netfilter/nft_meta.c +++ b/net/netfilter/nft_meta.c | |||
@@ -165,6 +165,12 @@ void nft_meta_get_eval(const struct nft_expr *expr, | |||
165 | goto err; | 165 | goto err; |
166 | dest->data[0] = out->group; | 166 | dest->data[0] = out->group; |
167 | break; | 167 | break; |
168 | case NFT_META_CGROUP: | ||
169 | if (skb->sk == NULL) | ||
170 | break; | ||
171 | |||
172 | dest->data[0] = skb->sk->sk_classid; | ||
173 | break; | ||
168 | default: | 174 | default: |
169 | WARN_ON(1); | 175 | WARN_ON(1); |
170 | goto err; | 176 | goto err; |
@@ -240,6 +246,7 @@ int nft_meta_get_init(const struct nft_ctx *ctx, | |||
240 | case NFT_META_CPU: | 246 | case NFT_META_CPU: |
241 | case NFT_META_IIFGROUP: | 247 | case NFT_META_IIFGROUP: |
242 | case NFT_META_OIFGROUP: | 248 | case NFT_META_OIFGROUP: |
249 | case NFT_META_CGROUP: | ||
243 | break; | 250 | break; |
244 | default: | 251 | default: |
245 | return -EOPNOTSUPP; | 252 | return -EOPNOTSUPP; |