From: Daniel Lezcano <dlezcano@fr.ibm.com>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org
Subject: [patch 5/9][NETNS][IPV6] make bindv6only sysctl per namespace
Date: Fri, 04 Jan 2008 12:12:31 +0100 [thread overview]
Message-ID: <20080104111431.444295890@localhost.localdomain> (raw)
In-Reply-To: 20080104111226.776105484@localhost.localdomain
[-- Attachment #1: sysctl/move-bindv6only-to-netns.patch --]
[-- Type: text/plain, Size: 2833 bytes --]
This patch moves the bindv6only sysctl to the network namespace
structure. Until the ipv6 protocol is not per namespace, the sysctl
variable is always from the initial network namespace.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
---
include/net/ipv6.h | 1 -
include/net/netns/ipv6.h | 1 +
net/ipv6/af_inet6.c | 4 +---
net/ipv6/sysctl_net_ipv6.c | 6 +++++-
4 files changed, 7 insertions(+), 5 deletions(-)
Index: net-2.6.25/include/net/ipv6.h
===================================================================
--- net-2.6.25.orig/include/net/ipv6.h
+++ net-2.6.25/include/net/ipv6.h
@@ -109,7 +109,6 @@ struct frag_hdr {
#include <net/sock.h>
/* sysctls */
-extern int sysctl_ipv6_bindv6only;
extern int sysctl_mld_max_msf;
#define _DEVINC(statname, modifier, idev, field) \
Index: net-2.6.25/include/net/netns/ipv6.h
===================================================================
--- net-2.6.25.orig/include/net/netns/ipv6.h
+++ net-2.6.25/include/net/netns/ipv6.h
@@ -9,6 +9,7 @@ struct ctl_table_header;
struct netns_sysctl_ipv6 {
struct ctl_table_header *table;
+ int bindv6only;
};
struct netns_ipv6 {
Index: net-2.6.25/net/ipv6/af_inet6.c
===================================================================
--- net-2.6.25.orig/net/ipv6/af_inet6.c
+++ net-2.6.25/net/ipv6/af_inet6.c
@@ -66,8 +66,6 @@ MODULE_AUTHOR("Cast of dozens");
MODULE_DESCRIPTION("IPv6 protocol stack for Linux");
MODULE_LICENSE("GPL");
-int sysctl_ipv6_bindv6only __read_mostly;
-
/* The inetsw6 table contains everything that inet6_create needs to
* build a new socket.
*/
@@ -193,7 +191,7 @@ lookup_protocol:
np->mcast_hops = -1;
np->mc_loop = 1;
np->pmtudisc = IPV6_PMTUDISC_WANT;
- np->ipv6only = sysctl_ipv6_bindv6only;
+ np->ipv6only = init_net.ipv6.sysctl.bindv6only;
/* Init the ipv4 part of the socket since we can have sockets
* using v6 API for ipv4.
Index: net-2.6.25/net/ipv6/sysctl_net_ipv6.c
===================================================================
--- net-2.6.25.orig/net/ipv6/sysctl_net_ipv6.c
+++ net-2.6.25/net/ipv6/sysctl_net_ipv6.c
@@ -35,7 +35,7 @@ static ctl_table ipv6_table_template[] =
{
.ctl_name = NET_IPV6_BINDV6ONLY,
.procname = "bindv6only",
- .data = &sysctl_ipv6_bindv6only,
+ .data = &init_net.ipv6.sysctl.bindv6only,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec
@@ -115,6 +115,10 @@ static int ipv6_sysctl_net_init(struct n
ipv6_table[0].child = ipv6_route_table;
ipv6_table[1].child = ipv6_icmp_table;
+ ipv6_table[2].data = &net->ipv6.sysctl.bindv6only;
+
+ net->ipv6.sysctl.bindv6only = 0;
+
net->ipv6.sysctl.table = register_net_sysctl_table(net, ipv6_ctl_path, ipv6_table);
if (!net->ipv6.sysctl.table)
goto out_ipv6_icmp_table;
--
next prev parent reply other threads:[~2008-01-04 11:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-04 11:12 [patch 0/9][NETNS][IPV6] make sysctl per namespace Daniel Lezcano
2008-01-04 11:12 ` [patch 1/9][NETNS][IPV6] make ipv6_sysctl_register to return a value Daniel Lezcano
2008-01-04 11:12 ` [patch 2/9][NETNS][IPV6] make the ipv6 sysctl to be a netns subsystem Daniel Lezcano
2008-01-04 11:12 ` [patch 3/9][NETNS][IPV6] make ipv6 structure for netns Daniel Lezcano
2008-01-04 11:12 ` [patch 4/9][NETNS][IPV6] make multiple instance of sysctl tables Daniel Lezcano
2008-01-04 11:12 ` Daniel Lezcano [this message]
2008-01-07 16:32 ` [patch 5/9][NETNS][IPV6] make bindv6only sysctl per namespace Benjamin Thery
2008-01-07 16:36 ` Daniel Lezcano
2008-01-07 16:49 ` Eric Dumazet
2008-01-09 8:25 ` David Miller
2008-01-04 11:12 ` [patch 6/9][NETNS][IPV6] make ip6_frags " Daniel Lezcano
2008-01-04 11:12 ` [patch 7/9][NETNS][IPV6] make mld_max_msf readonly in other namespaces Daniel Lezcano
2008-01-04 11:12 ` [patch 8/9][NETNS][IPV6] make sysctls route per namespace Daniel Lezcano
2008-01-04 11:12 ` [patch 9/9][NETNS][IPV6] make icmpv6_time sysctl " Daniel Lezcano
-- strict thread matches above, loose matches on Subject: below --
2008-01-02 12:25 [patch 0/9][NETNS][IPV6] make " Daniel Lezcano
2008-01-02 12:25 ` [patch 5/9][NETNS][IPV6] make bindv6only " Daniel Lezcano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080104111431.444295890@localhost.localdomain \
--to=dlezcano@fr.ibm.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).