net: Convert ip6 tables pernet_operations
The pernet_operations: ip6table_filter_net_ops ip6table_mangle_net_ops ip6table_nat_net_ops ip6table_raw_net_ops ip6table_security_net_ops have exit methods, which call ip6t_unregister_table(). ip6table_filter_net_ops has init method registering filter table. Since there must not be in-flight ipv6 packets at the time of pernet_operations execution and since pernet_operations don't send ipv6 packets each other, these pernet_operations are safe to be async. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
459d153d99
commit
997266a4a0
@ -87,6 +87,7 @@ static void __net_exit ip6table_filter_net_exit(struct net *net)
|
||||
static struct pernet_operations ip6table_filter_net_ops = {
|
||||
.init = ip6table_filter_net_init,
|
||||
.exit = ip6table_filter_net_exit,
|
||||
.async = true,
|
||||
};
|
||||
|
||||
static int __init ip6table_filter_init(void)
|
||||
|
@ -107,6 +107,7 @@ static void __net_exit ip6table_mangle_net_exit(struct net *net)
|
||||
|
||||
static struct pernet_operations ip6table_mangle_net_ops = {
|
||||
.exit = ip6table_mangle_net_exit,
|
||||
.async = true,
|
||||
};
|
||||
|
||||
static int __init ip6table_mangle_init(void)
|
||||
|
@ -131,6 +131,7 @@ static void __net_exit ip6table_nat_net_exit(struct net *net)
|
||||
|
||||
static struct pernet_operations ip6table_nat_net_ops = {
|
||||
.exit = ip6table_nat_net_exit,
|
||||
.async = true,
|
||||
};
|
||||
|
||||
static int __init ip6table_nat_init(void)
|
||||
|
@ -75,6 +75,7 @@ static void __net_exit ip6table_raw_net_exit(struct net *net)
|
||||
|
||||
static struct pernet_operations ip6table_raw_net_ops = {
|
||||
.exit = ip6table_raw_net_exit,
|
||||
.async = true,
|
||||
};
|
||||
|
||||
static int __init ip6table_raw_init(void)
|
||||
|
@ -74,6 +74,7 @@ static void __net_exit ip6table_security_net_exit(struct net *net)
|
||||
|
||||
static struct pernet_operations ip6table_security_net_ops = {
|
||||
.exit = ip6table_security_net_exit,
|
||||
.async = true,
|
||||
};
|
||||
|
||||
static int __init ip6table_security_init(void)
|
||||
|
Loading…
Reference in New Issue
Block a user