diff options
author | Gao feng <gaofeng@cn.fujitsu.com> | 2012-06-21 00:36:39 -0400 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2012-06-27 12:31:14 -0400 |
commit | f1caad274515ffd9841ac57ce9a7b5fc35bbf689 (patch) | |
tree | c0ba792ccbf5c6edb626240248dea904c21f7639 /net | |
parent | fa0f61f05e401a3295b6486df67bb3f9d5f24a94 (diff) |
netfilter: nf_conntrack: prepare l4proto->init_net cleanup
l4proto->init contain quite redundant code. We can simplify this
by adding a new parameter l3proto.
This patch prepares that code simplification.
Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 2 | ||||
-rw-r--r-- | net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 2 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto.c | 5 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_dccp.c | 2 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_generic.c | 2 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_gre.c | 2 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_sctp.c | 4 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_tcp.c | 4 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_udp.c | 4 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto_udplite.c | 2 |
10 files changed, 15 insertions, 14 deletions
diff --git a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c index 041923cb67a..76f7a2f657f 100644 --- a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c +++ b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c | |||
@@ -337,7 +337,7 @@ static struct ctl_table icmp_compat_sysctl_table[] = { | |||
337 | #endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */ | 337 | #endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */ |
338 | #endif /* CONFIG_SYSCTL */ | 338 | #endif /* CONFIG_SYSCTL */ |
339 | 339 | ||
340 | static int icmp_init_net(struct net *net) | 340 | static int icmp_init_net(struct net *net, u_int16_t proto) |
341 | { | 341 | { |
342 | struct nf_icmp_net *in = icmp_pernet(net); | 342 | struct nf_icmp_net *in = icmp_pernet(net); |
343 | struct nf_proto_net *pn = (struct nf_proto_net *)in; | 343 | struct nf_proto_net *pn = (struct nf_proto_net *)in; |
diff --git a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c index 63ed0121836..807ae09df0c 100644 --- a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c +++ b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | |||
@@ -333,7 +333,7 @@ static struct ctl_table icmpv6_sysctl_table[] = { | |||
333 | }; | 333 | }; |
334 | #endif /* CONFIG_SYSCTL */ | 334 | #endif /* CONFIG_SYSCTL */ |
335 | 335 | ||
336 | static int icmpv6_init_net(struct net *net) | 336 | static int icmpv6_init_net(struct net *net, u_int16_t proto) |
337 | { | 337 | { |
338 | struct nf_icmp_net *in = icmpv6_pernet(net); | 338 | struct nf_icmp_net *in = icmpv6_pernet(net); |
339 | struct nf_proto_net *pn = (struct nf_proto_net *)in; | 339 | struct nf_proto_net *pn = (struct nf_proto_net *)in; |
diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c index 9bd88aa3c74..6f4b6f3deee 100644 --- a/net/netfilter/nf_conntrack_proto.c +++ b/net/netfilter/nf_conntrack_proto.c | |||
@@ -461,7 +461,7 @@ int nf_conntrack_l4proto_register(struct net *net, | |||
461 | int ret = 0; | 461 | int ret = 0; |
462 | 462 | ||
463 | if (l4proto->init_net) { | 463 | if (l4proto->init_net) { |
464 | ret = l4proto->init_net(net); | 464 | ret = l4proto->init_net(net, l4proto->l3proto); |
465 | if (ret < 0) | 465 | if (ret < 0) |
466 | return ret; | 466 | return ret; |
467 | } | 467 | } |
@@ -515,7 +515,8 @@ int nf_conntrack_proto_init(struct net *net) | |||
515 | { | 515 | { |
516 | unsigned int i; | 516 | unsigned int i; |
517 | int err; | 517 | int err; |
518 | err = nf_conntrack_l4proto_generic.init_net(net); | 518 | err = nf_conntrack_l4proto_generic.init_net(net, |
519 | nf_conntrack_l4proto_generic.l3proto); | ||
519 | if (err < 0) | 520 | if (err < 0) |
520 | return err; | 521 | return err; |
521 | err = nf_ct_l4proto_register_sysctl(net, | 522 | err = nf_ct_l4proto_register_sysctl(net, |
diff --git a/net/netfilter/nf_conntrack_proto_dccp.c b/net/netfilter/nf_conntrack_proto_dccp.c index c33f76af913..52da8f0293b 100644 --- a/net/netfilter/nf_conntrack_proto_dccp.c +++ b/net/netfilter/nf_conntrack_proto_dccp.c | |||
@@ -815,7 +815,7 @@ static struct ctl_table dccp_sysctl_table[] = { | |||
815 | }; | 815 | }; |
816 | #endif /* CONFIG_SYSCTL */ | 816 | #endif /* CONFIG_SYSCTL */ |
817 | 817 | ||
818 | static int dccp_init_net(struct net *net) | 818 | static int dccp_init_net(struct net *net, u_int16_t proto) |
819 | { | 819 | { |
820 | struct dccp_net *dn = dccp_pernet(net); | 820 | struct dccp_net *dn = dccp_pernet(net); |
821 | struct nf_proto_net *pn = (struct nf_proto_net *)dn; | 821 | struct nf_proto_net *pn = (struct nf_proto_net *)dn; |
diff --git a/net/netfilter/nf_conntrack_proto_generic.c b/net/netfilter/nf_conntrack_proto_generic.c index bb0e74fe0fa..d1ed7b44e07 100644 --- a/net/netfilter/nf_conntrack_proto_generic.c +++ b/net/netfilter/nf_conntrack_proto_generic.c | |||
@@ -135,7 +135,7 @@ static struct ctl_table generic_compat_sysctl_table[] = { | |||
135 | #endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */ | 135 | #endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */ |
136 | #endif /* CONFIG_SYSCTL */ | 136 | #endif /* CONFIG_SYSCTL */ |
137 | 137 | ||
138 | static int generic_init_net(struct net *net) | 138 | static int generic_init_net(struct net *net, u_int16_t proto) |
139 | { | 139 | { |
140 | struct nf_generic_net *gn = generic_pernet(net); | 140 | struct nf_generic_net *gn = generic_pernet(net); |
141 | struct nf_proto_net *pn = (struct nf_proto_net *)gn; | 141 | struct nf_proto_net *pn = (struct nf_proto_net *)gn; |
diff --git a/net/netfilter/nf_conntrack_proto_gre.c b/net/netfilter/nf_conntrack_proto_gre.c index 5cac41c2fa0..b09b7af7f6f 100644 --- a/net/netfilter/nf_conntrack_proto_gre.c +++ b/net/netfilter/nf_conntrack_proto_gre.c | |||
@@ -348,7 +348,7 @@ gre_timeout_nla_policy[CTA_TIMEOUT_GRE_MAX+1] = { | |||
348 | }; | 348 | }; |
349 | #endif /* CONFIG_NF_CT_NETLINK_TIMEOUT */ | 349 | #endif /* CONFIG_NF_CT_NETLINK_TIMEOUT */ |
350 | 350 | ||
351 | static int gre_init_net(struct net *net) | 351 | static int gre_init_net(struct net *net, u_int16_t proto) |
352 | { | 352 | { |
353 | struct netns_proto_gre *net_gre = gre_pernet(net); | 353 | struct netns_proto_gre *net_gre = gre_pernet(net); |
354 | int i; | 354 | int i; |
diff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c index 8fb0582ad39..1e7836cead7 100644 --- a/net/netfilter/nf_conntrack_proto_sctp.c +++ b/net/netfilter/nf_conntrack_proto_sctp.c | |||
@@ -767,7 +767,7 @@ static int sctp_kmemdup_compat_sysctl_table(struct nf_proto_net *pn) | |||
767 | return 0; | 767 | return 0; |
768 | } | 768 | } |
769 | 769 | ||
770 | static int sctpv4_init_net(struct net *net) | 770 | static int sctpv4_init_net(struct net *net, u_int16_t proto) |
771 | { | 771 | { |
772 | int ret; | 772 | int ret; |
773 | struct sctp_net *sn = sctp_pernet(net); | 773 | struct sctp_net *sn = sctp_pernet(net); |
@@ -793,7 +793,7 @@ static int sctpv4_init_net(struct net *net) | |||
793 | return ret; | 793 | return ret; |
794 | } | 794 | } |
795 | 795 | ||
796 | static int sctpv6_init_net(struct net *net) | 796 | static int sctpv6_init_net(struct net *net, u_int16_t proto) |
797 | { | 797 | { |
798 | struct sctp_net *sn = sctp_pernet(net); | 798 | struct sctp_net *sn = sctp_pernet(net); |
799 | struct nf_proto_net *pn = (struct nf_proto_net *)sn; | 799 | struct nf_proto_net *pn = (struct nf_proto_net *)sn; |
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c index 99caa130447..6db9d3c4482 100644 --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c | |||
@@ -1593,7 +1593,7 @@ static int tcp_kmemdup_compat_sysctl_table(struct nf_proto_net *pn) | |||
1593 | return 0; | 1593 | return 0; |
1594 | } | 1594 | } |
1595 | 1595 | ||
1596 | static int tcpv4_init_net(struct net *net) | 1596 | static int tcpv4_init_net(struct net *net, u_int16_t proto) |
1597 | { | 1597 | { |
1598 | int i; | 1598 | int i; |
1599 | int ret = 0; | 1599 | int ret = 0; |
@@ -1631,7 +1631,7 @@ static int tcpv4_init_net(struct net *net) | |||
1631 | return ret; | 1631 | return ret; |
1632 | } | 1632 | } |
1633 | 1633 | ||
1634 | static int tcpv6_init_net(struct net *net) | 1634 | static int tcpv6_init_net(struct net *net, u_int16_t proto) |
1635 | { | 1635 | { |
1636 | int i; | 1636 | int i; |
1637 | struct nf_tcp_net *tn = tcp_pernet(net); | 1637 | struct nf_tcp_net *tn = tcp_pernet(net); |
diff --git a/net/netfilter/nf_conntrack_proto_udp.c b/net/netfilter/nf_conntrack_proto_udp.c index a83cf93545c..2b978e6fd1c 100644 --- a/net/netfilter/nf_conntrack_proto_udp.c +++ b/net/netfilter/nf_conntrack_proto_udp.c | |||
@@ -283,7 +283,7 @@ static void udp_init_net_data(struct nf_udp_net *un) | |||
283 | } | 283 | } |
284 | } | 284 | } |
285 | 285 | ||
286 | static int udpv4_init_net(struct net *net) | 286 | static int udpv4_init_net(struct net *net, u_int16_t proto) |
287 | { | 287 | { |
288 | int ret; | 288 | int ret; |
289 | struct nf_udp_net *un = udp_pernet(net); | 289 | struct nf_udp_net *un = udp_pernet(net); |
@@ -307,7 +307,7 @@ static int udpv4_init_net(struct net *net) | |||
307 | return ret; | 307 | return ret; |
308 | } | 308 | } |
309 | 309 | ||
310 | static int udpv6_init_net(struct net *net) | 310 | static int udpv6_init_net(struct net *net, u_int16_t proto) |
311 | { | 311 | { |
312 | struct nf_udp_net *un = udp_pernet(net); | 312 | struct nf_udp_net *un = udp_pernet(net); |
313 | struct nf_proto_net *pn = (struct nf_proto_net *)un; | 313 | struct nf_proto_net *pn = (struct nf_proto_net *)un; |
diff --git a/net/netfilter/nf_conntrack_proto_udplite.c b/net/netfilter/nf_conntrack_proto_udplite.c index b32e700f8dd..d33e5115803 100644 --- a/net/netfilter/nf_conntrack_proto_udplite.c +++ b/net/netfilter/nf_conntrack_proto_udplite.c | |||
@@ -234,7 +234,7 @@ static struct ctl_table udplite_sysctl_table[] = { | |||
234 | }; | 234 | }; |
235 | #endif /* CONFIG_SYSCTL */ | 235 | #endif /* CONFIG_SYSCTL */ |
236 | 236 | ||
237 | static int udplite_init_net(struct net *net) | 237 | static int udplite_init_net(struct net *net, u_int16_t proto) |
238 | { | 238 | { |
239 | int i; | 239 | int i; |
240 | struct udplite_net *un = udplite_pernet(net); | 240 | struct udplite_net *un = udplite_pernet(net); |