aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorGao feng <gaofeng@cn.fujitsu.com>2012-05-28 17:04:10 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2012-06-07 08:58:39 -0400
commit524a53e5ad5f34f64ed34281e8b0eca19437db5b (patch)
treee6ad5ef71a1fe4b95c3ab5690d5e728513765e5d /net/ipv4
parent2c352f444ccfa966a1aa4fd8e9ee29381c467448 (diff)
netfilter: nf_conntrack: prepare namespace support for l3 protocol trackers
This patch prepares the namespace support for layer 3 protocol trackers. Basically, this modifies the following interfaces: * nf_ct_l3proto_[un]register_sysctl. * nf_conntrack_l3proto_[un]register. We add a new nf_ct_l3proto_net is used to get the pernet data of l3proto. This adds rhe new struct nf_ip_net that is used to store the sysctl header and l3proto_ipv4,l4proto_tcp(6),l4proto_udp(6),l4proto_icmp(v6) because the protos such tcp and tcp6 use the same data,so making nf_ip_net as a field of netns_ct is the easiest way to manager it. This patch also adds init_net to struct nf_conntrack_l3proto to initial the layer 3 protocol pernet data. Acked-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
index 46ec515db129..0c0fb906c19d 100644
--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
@@ -409,7 +409,7 @@ static int __init nf_conntrack_l3proto_ipv4_init(void)
409 goto cleanup_udp; 409 goto cleanup_udp;
410 } 410 }
411 411
412 ret = nf_conntrack_l3proto_register(&nf_conntrack_l3proto_ipv4); 412 ret = nf_conntrack_l3proto_register(&init_net, &nf_conntrack_l3proto_ipv4);
413 if (ret < 0) { 413 if (ret < 0) {
414 pr_err("nf_conntrack_ipv4: can't register ipv4\n"); 414 pr_err("nf_conntrack_ipv4: can't register ipv4\n");
415 goto cleanup_icmp; 415 goto cleanup_icmp;
@@ -432,7 +432,7 @@ static int __init nf_conntrack_l3proto_ipv4_init(void)
432 nf_unregister_hooks(ipv4_conntrack_ops, ARRAY_SIZE(ipv4_conntrack_ops)); 432 nf_unregister_hooks(ipv4_conntrack_ops, ARRAY_SIZE(ipv4_conntrack_ops));
433#endif 433#endif
434 cleanup_ipv4: 434 cleanup_ipv4:
435 nf_conntrack_l3proto_unregister(&nf_conntrack_l3proto_ipv4); 435 nf_conntrack_l3proto_unregister(&init_net, &nf_conntrack_l3proto_ipv4);
436 cleanup_icmp: 436 cleanup_icmp:
437 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_icmp); 437 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_icmp);
438 cleanup_udp: 438 cleanup_udp:
@@ -451,7 +451,7 @@ static void __exit nf_conntrack_l3proto_ipv4_fini(void)
451 nf_conntrack_ipv4_compat_fini(); 451 nf_conntrack_ipv4_compat_fini();
452#endif 452#endif
453 nf_unregister_hooks(ipv4_conntrack_ops, ARRAY_SIZE(ipv4_conntrack_ops)); 453 nf_unregister_hooks(ipv4_conntrack_ops, ARRAY_SIZE(ipv4_conntrack_ops));
454 nf_conntrack_l3proto_unregister(&nf_conntrack_l3proto_ipv4); 454 nf_conntrack_l3proto_unregister(&init_net, &nf_conntrack_l3proto_ipv4);
455 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_icmp); 455 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_icmp);
456 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_udp4); 456 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_udp4);
457 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_tcp4); 457 nf_conntrack_l4proto_unregister(&init_net, &nf_conntrack_l4proto_tcp4);