aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFX Le Bail <fx.lebail@yahoo.com>2014-01-13 09:59:01 -0500
committerDavid S. Miller <davem@davemloft.net>2014-01-14 21:18:22 -0500
commitec35b61ea59aa6b1ecc8d8452b225e4677e32627 (patch)
treee1ca5bd62514639fce20cc381d51feac1ed6bf36
parent0e864b21e5080bc3f178a4729bc4f7bca77188bc (diff)
IPv6: move the anycast_src_echo_reply sysctl to netns_sysctl_ipv6
This change move anycast_src_echo_reply sysctl with other ipv6 sysctls. Suggested-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: Francois-Xavier Le Bail <fx.lebail@yahoo.com> Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/netns/ipv6.h2
-rw-r--r--net/ipv6/icmp.c2
-rw-r--r--net/ipv6/sysctl_net_ipv6.c4
3 files changed, 4 insertions, 4 deletions
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h
index 76fc7d1dbfd3..592fecd2e59e 100644
--- a/include/net/netns/ipv6.h
+++ b/include/net/netns/ipv6.h
@@ -28,6 +28,7 @@ struct netns_sysctl_ipv6 {
28 int ip6_rt_mtu_expires; 28 int ip6_rt_mtu_expires;
29 int ip6_rt_min_advmss; 29 int ip6_rt_min_advmss;
30 int icmpv6_time; 30 int icmpv6_time;
31 int anycast_src_echo_reply;
31}; 32};
32 33
33struct netns_ipv6 { 34struct netns_ipv6 {
@@ -73,7 +74,6 @@ struct netns_ipv6 {
73#endif 74#endif
74 atomic_t dev_addr_genid; 75 atomic_t dev_addr_genid;
75 atomic_t rt_genid; 76 atomic_t rt_genid;
76 int anycast_src_echo_reply;
77}; 77};
78 78
79#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) 79#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index 8003b4930267..902405dc258c 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -559,7 +559,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
559 saddr = &ipv6_hdr(skb)->daddr; 559 saddr = &ipv6_hdr(skb)->daddr;
560 560
561 if (!ipv6_unicast_destination(skb) && 561 if (!ipv6_unicast_destination(skb) &&
562 !(net->ipv6.anycast_src_echo_reply && 562 !(net->ipv6.sysctl.anycast_src_echo_reply &&
563 ipv6_anycast_destination(skb))) 563 ipv6_anycast_destination(skb)))
564 saddr = NULL; 564 saddr = NULL;
565 565
diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c
index 6b6a2c83027e..b51b2688102c 100644
--- a/net/ipv6/sysctl_net_ipv6.c
+++ b/net/ipv6/sysctl_net_ipv6.c
@@ -26,7 +26,7 @@ static struct ctl_table ipv6_table_template[] = {
26 }, 26 },
27 { 27 {
28 .procname = "anycast_src_echo_reply", 28 .procname = "anycast_src_echo_reply",
29 .data = &init_net.ipv6.anycast_src_echo_reply, 29 .data = &init_net.ipv6.sysctl.anycast_src_echo_reply,
30 .maxlen = sizeof(int), 30 .maxlen = sizeof(int),
31 .mode = 0644, 31 .mode = 0644,
32 .proc_handler = proc_dointvec 32 .proc_handler = proc_dointvec
@@ -58,7 +58,7 @@ static int __net_init ipv6_sysctl_net_init(struct net *net)
58 if (!ipv6_table) 58 if (!ipv6_table)
59 goto out; 59 goto out;
60 ipv6_table[0].data = &net->ipv6.sysctl.bindv6only; 60 ipv6_table[0].data = &net->ipv6.sysctl.bindv6only;
61 ipv6_table[1].data = &net->ipv6.anycast_src_echo_reply; 61 ipv6_table[1].data = &net->ipv6.sysctl.anycast_src_echo_reply;
62 62
63 ipv6_route_table = ipv6_route_sysctl_init(net); 63 ipv6_route_table = ipv6_route_sysctl_init(net);
64 if (!ipv6_route_table) 64 if (!ipv6_route_table)