OpenVZ Forum - RDF feed
type: channel
items: [PATCH 2/5] netns netfilter: per-netns xt_tables
items: Re: [PATCH 2/5] netns netfilter: per-netns xt_tables

[PATCH 2/5] netns netfilter: per-netns xt_tables
type: item
description: In fact all we want is per-netns set of rules, however doing that will unnecessary complicate routines such as ipt_hook()/ipt_do_table, so make full xt_table array per-netns. Every user stubbed with init_net for a while. Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru> --- include/linux/netfilter/x_tables.h | 6 ++++-- include/net/net_namespace.h | 4 ++++ include/net/netns/x_tables.h | 10 ++++++++++ net/ipv4/netfilter/arp_tables.c | 12 ++++++------ net/ipv4/netfilter/ip_tables.c | 12 ++++++------ net/ipv6/netfilter/ip6_tables.c | 12 ++++++------ net/netfilter/x_tables.c | 35 ++++++++++++++++++++++++----------- 7 files changed, 60 insertions(+), 31 deletions(-) --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h @@ -335,7 +335,8 @@ extern int xt_check_target(const struct xt_target *target, unsigned short family unsigned int size, const char *table, unsigned int hook, unsigned short proto, int inv_proto); -extern struct xt_table *xt_register_table(struct xt_table *table, +extern struct xt_table *xt_register_table(struct net *net, + struct xt_table *table, struct xt_table_info *bootstrap, struct xt_table_info *newinfo); extern void *xt_unregister_table(struct xt_table *table); @@ -352,7 +353,8 @@ extern struct xt_target *xt_request_find_target(int af, const char *name, extern int xt_find_revision(int af, const char *name, u8 revision, int target, int *err); -extern struct xt_table *xt_find_table_lock(int af, const char *name); +extern struct xt_table *xt_find_table_lock(struct net *net, int af, + const char *name); extern void xt_table_unlock(struct xt_table *t); extern int xt_proto_init(int af); --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h @@ -12,6 +12,7 @@ #include <net/netns/packet.h> #include <net/netns/ipv4.h> #include <net/netns/ipv6.h> +#include <net/netns/x_tables.h> struct proc_dir_entry; struct net_device; @@ -56,6 +57,9 @@ struct net { #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) struct netns_ipv…
creator: Alexey Dobriyan
date: 2008-01-21T14:52:52-00:00

Re: [PATCH 2/5] netns netfilter: per-netns xt_tables
type: item
description: Alexey Dobriyan wrote: > In fact all we want is per-netns set of rules, however doing that will > unnecessary complicate routines such as ipt_hook()/ipt_do_table, so > make full xt_table array per-netns. > > Every user stubbed with init_net for a while. Applied.
creator: Patrick McHardy
date: 2008-01-22T16:51:45-00:00