aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorGao feng <gaofeng@cn.fujitsu.com>2012-06-21 00:36:39 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2012-06-27 12:31:14 -0400
commitf1caad274515ffd9841ac57ce9a7b5fc35bbf689 (patch)
treec0ba792ccbf5c6edb626240248dea904c21f7639 /net
parentfa0f61f05e401a3295b6486df67bb3f9d5f24a94 (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.c2
-rw-r--r--net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c2
-rw-r--r--net/netfilter/nf_conntrack_proto.c5
-rw-r--r--net/netfilter/nf_conntrack_proto_dccp.c2
-rw-r--r--net/netfilter/nf_conntrack_proto_generic.c2
-rw-r--r--net/netfilter/nf_conntrack_proto_gre.c2
-rw-r--r--net/netfilter/nf_conntrack_proto_sctp.c4
-rw-r--r--net/netfilter/nf_conntrack_proto_tcp.c4
-rw-r--r--net/netfilter/nf_conntrack_proto_udp.c4
-rw-r--r--net/netfilter/nf_conntrack_proto_udplite.c2
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
340static int icmp_init_net(struct net *net) 340static 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
336static int icmpv6_init_net(struct net *net) 336static 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
818static int dccp_init_net(struct net *net) 818static 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
138static int generic_init_net(struct net *net) 138static 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
351static int gre_init_net(struct net *net) 351static 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
770static int sctpv4_init_net(struct net *net) 770static 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
796static int sctpv6_init_net(struct net *net) 796static 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
1596static int tcpv4_init_net(struct net *net) 1596static 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
1634static int tcpv6_init_net(struct net *net) 1634static 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
286static int udpv4_init_net(struct net *net) 286static 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
310static int udpv6_init_net(struct net *net) 310static 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
237static int udplite_init_net(struct net *net) 237static 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);