From: Tejun Heo <tj@kernel.org>
To: davem@davemloft.net, pablo@netfilter.org, kaber@trash.net,
kadlec@blackhole.kfki.hu, daniel@iogearbox.net,
daniel.wagner@bmw-carit.de, nhorman@tuxdriver.co
Cc: lizefan@huawei.com, hannes@cmpxchg.org, netdev@vger.kernel.org,
netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel-team@fb.com, ninasc@fb.com, Tejun Heo <tj@kernel.org>,
Neil Horman <nhorman@tuxdriver.com>,
Jan Engelhardt <jengelh@inai.de>
Subject: [PATCH 8/9] netfilter: prepare xt_cgroup for multi revisions
Date: Sat, 21 Nov 2015 11:14:00 -0500 [thread overview]
Message-ID: <1448122441-9335-9-git-send-email-tj@kernel.org> (raw)
In-Reply-To: <1448122441-9335-1-git-send-email-tj@kernel.org>
xt_cgroup will grow cgroup2 path based match. Postfix existing
symbols with _v0 and prepare for multi revision registration.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Daniel Wagner <daniel.wagner@bmw-carit.de>
CC: Neil Horman <nhorman@tuxdriver.com>
Cc: Jan Engelhardt <jengelh@inai.de>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>
---
include/uapi/linux/netfilter/xt_cgroup.h | 2 +-
net/netfilter/xt_cgroup.c | 36 +++++++++++++++++---------------
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/include/uapi/linux/netfilter/xt_cgroup.h b/include/uapi/linux/netfilter/xt_cgroup.h
index 43acb7e..577c9e0 100644
--- a/include/uapi/linux/netfilter/xt_cgroup.h
+++ b/include/uapi/linux/netfilter/xt_cgroup.h
@@ -3,7 +3,7 @@
#include <linux/types.h>
-struct xt_cgroup_info {
+struct xt_cgroup_info_v0 {
__u32 id;
__u32 invert;
};
diff --git a/net/netfilter/xt_cgroup.c b/net/netfilter/xt_cgroup.c
index 54eaeb4..1730025 100644
--- a/net/netfilter/xt_cgroup.c
+++ b/net/netfilter/xt_cgroup.c
@@ -24,9 +24,9 @@ MODULE_DESCRIPTION("Xtables: process control group matching");
MODULE_ALIAS("ipt_cgroup");
MODULE_ALIAS("ip6t_cgroup");
-static int cgroup_mt_check(const struct xt_mtchk_param *par)
+static int cgroup_mt_check_v0(const struct xt_mtchk_param *par)
{
- struct xt_cgroup_info *info = par->matchinfo;
+ struct xt_cgroup_info_v0 *info = par->matchinfo;
if (info->invert & ~1)
return -EINVAL;
@@ -35,9 +35,9 @@ static int cgroup_mt_check(const struct xt_mtchk_param *par)
}
static bool
-cgroup_mt(const struct sk_buff *skb, struct xt_action_param *par)
+cgroup_mt_v0(const struct sk_buff *skb, struct xt_action_param *par)
{
- const struct xt_cgroup_info *info = par->matchinfo;
+ const struct xt_cgroup_info_v0 *info = par->matchinfo;
if (skb->sk == NULL || !sk_fullsock(skb->sk))
return false;
@@ -46,27 +46,29 @@ cgroup_mt(const struct sk_buff *skb, struct xt_action_param *par)
info->invert;
}
-static struct xt_match cgroup_mt_reg __read_mostly = {
- .name = "cgroup",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .checkentry = cgroup_mt_check,
- .match = cgroup_mt,
- .matchsize = sizeof(struct xt_cgroup_info),
- .me = THIS_MODULE,
- .hooks = (1 << NF_INET_LOCAL_OUT) |
- (1 << NF_INET_POST_ROUTING) |
- (1 << NF_INET_LOCAL_IN),
+static struct xt_match cgroup_mt_reg[] __read_mostly = {
+ {
+ .name = "cgroup",
+ .revision = 0,
+ .family = NFPROTO_UNSPEC,
+ .checkentry = cgroup_mt_check_v0,
+ .match = cgroup_mt_v0,
+ .matchsize = sizeof(struct xt_cgroup_info_v0),
+ .me = THIS_MODULE,
+ .hooks = (1 << NF_INET_LOCAL_OUT) |
+ (1 << NF_INET_POST_ROUTING) |
+ (1 << NF_INET_LOCAL_IN),
+ },
};
static int __init cgroup_mt_init(void)
{
- return xt_register_match(&cgroup_mt_reg);
+ return xt_register_matches(cgroup_mt_reg, ARRAY_SIZE(cgroup_mt_reg));
}
static void __exit cgroup_mt_exit(void)
{
- xt_unregister_match(&cgroup_mt_reg);
+ xt_unregister_matches(cgroup_mt_reg, ARRAY_SIZE(cgroup_mt_reg));
}
module_init(cgroup_mt_init);
--
2.5.0
next prev parent reply other threads:[~2015-11-21 16:14 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-21 16:13 [PATCHSET v3] netfilter, cgroup: implement cgroup2 path match in xt_cgroup Tejun Heo
2015-11-21 16:13 ` Tejun Heo
2015-11-21 16:13 ` [PATCH 1/9] cgroup: record ancestor IDs and reimplement cgroup_is_descendant() using it Tejun Heo
2015-11-21 16:13 ` [PATCH 2/9] kernfs: implement kernfs_walk_and_get() Tejun Heo
2015-11-21 16:13 ` [PATCH 4/9] cgroups: Allow dynamically changing net_classid Tejun Heo
2015-11-21 16:13 ` [PATCH 5/9] netprio_cgroup: limit the maximum css->id to USHRT_MAX Tejun Heo
2015-11-21 16:13 ` [PATCH 6/9] net: wrap sock->sk_cgrp_prioidx and ->sk_classid inside a struct Tejun Heo
2015-11-21 16:13 ` [PATCH 7/9] sock, cgroup: add sock->sk_cgroup Tejun Heo
2015-11-23 13:02 ` Daniel Wagner
2015-11-23 13:02 ` Daniel Wagner
[not found] ` <56530E4B.4090209-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2015-11-23 15:48 ` Tejun Heo
2015-11-23 15:48 ` Tejun Heo
2015-11-23 15:53 ` Daniel Wagner
2015-11-23 15:53 ` Daniel Wagner
2015-11-21 16:14 ` Tejun Heo [this message]
2015-11-23 12:44 ` [PATCH 8/9] netfilter: prepare xt_cgroup for multi revisions Daniel Wagner
2015-11-23 12:44 ` Daniel Wagner
2015-11-21 16:14 ` [PATCH 9/9] netfilter: implement xt_cgroup cgroup2 path match Tejun Heo
[not found] ` <1448122441-9335-10-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-11-21 16:56 ` Florian Westphal
2015-11-21 16:56 ` Florian Westphal
[not found] ` <20151121165605.GC25336-E0PNVn5OA6ohrxcnuTQ+TQ@public.gmane.org>
2015-11-21 17:04 ` Tejun Heo
2015-11-21 17:04 ` Tejun Heo
2015-11-21 18:54 ` Florian Westphal
2015-11-21 20:26 ` Jan Engelhardt
2015-11-23 13:43 ` Daniel Borkmann
[not found] ` <565317F0.2030502-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2015-11-23 13:51 ` Daniel Borkmann
2015-11-23 13:51 ` Daniel Borkmann
2015-11-23 15:40 ` Tejun Heo
2015-11-23 15:40 ` Tejun Heo
2015-11-23 17:35 ` David Laight
[not found] ` <063D6719AE5E284EB5DD2968C1650D6D1CBDA8E2-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2015-11-23 17:55 ` Jan Engelhardt
2015-11-23 17:55 ` Jan Engelhardt
2015-11-23 17:55 ` Jan Engelhardt
2015-11-23 12:43 ` Daniel Wagner
2015-11-23 12:43 ` Daniel Wagner
2015-11-23 12:43 ` Daniel Wagner
[not found] ` <565309D5.80707-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2015-11-23 15:41 ` Tejun Heo
2015-11-23 15:41 ` Tejun Heo
2015-11-21 16:17 ` [PATCHSET v3] netfilter, cgroup: implement cgroup2 path match in xt_cgroup Tejun Heo
2015-11-21 16:18 ` [PATCH 1/2 iptables] libxt_cgroup: prepare for multi revisions Tejun Heo
[not found] ` <20151121161846.GB3428-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>
2015-11-21 16:19 ` [PATCH 2/2 iptables] libxt_cgroup: add support for cgroup2 path matching Tejun Heo
2015-11-21 16:19 ` Tejun Heo
2015-11-22 20:31 ` [PATCH 1/2 iptables] libxt_cgroup: prepare for multi revisions Pablo Neira Ayuso
2015-11-22 20:34 ` Pablo Neira Ayuso
2015-11-22 20:34 ` Pablo Neira Ayuso
[not found] ` <1448122441-9335-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-11-21 16:13 ` [PATCH 3/9] cgroup: implement cgroup_get_from_path() and expose cgroup_put() Tejun Heo
2015-11-21 16:13 ` Tejun Heo
2015-11-23 7:11 ` [PATCHSET v3] netfilter, cgroup: implement cgroup2 path match in xt_cgroup Daniel Wagner
2015-11-23 7:11 ` Daniel Wagner
2015-11-23 7:11 ` Daniel Wagner
[not found] ` <5652BC3A.1010701-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2015-11-23 8:54 ` Daniel Wagner
2015-11-23 8:54 ` Daniel Wagner
2015-11-23 8:54 ` Daniel Wagner
[not found] ` <5652D448.3080002-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2015-11-23 15:53 ` Tejun Heo
2015-11-23 15:53 ` Tejun Heo
[not found] ` <20151123155346.GE3049-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-11-23 15:57 ` Daniel Wagner
2015-11-23 15:57 ` Daniel Wagner
2015-11-23 15:57 ` Daniel Wagner
2015-11-23 19:58 ` Tejun Heo
2015-11-23 20:45 ` David Miller
[not found] ` <20151123.154523.125969708507852672.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2015-11-23 20:54 ` Tejun Heo
2015-11-23 20:54 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1448122441-9335-9-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=coreteam@netfilter.org \
--cc=daniel.wagner@bmw-carit.de \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=hannes@cmpxchg.org \
--cc=jengelh@inai.de \
--cc=kaber@trash.net \
--cc=kadlec@blackhole.kfki.hu \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=nhorman@tuxdriver.co \
--cc=nhorman@tuxdriver.com \
--cc=ninasc@fb.com \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.