aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2008-01-10 05:53:43 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:01:17 -0500
commit760f2d0186225f06d46e07232d65219c5055cad3 (patch)
tree56096a88e003753434c135d22ffab8f4f9904bc6 /include
parent89918fc270bb77cb1a0703f0ea566a692b32e324 (diff)
[NETNS][IPV6]: Make multiple instance of sysctl tables.
Each network namespace wants its own set of sysctl value, eg. we should not be able from a namespace to set a sysctl value for another namespace , especially for the initial network namespace. This patch duplicates the sysctl table when we register a new network namespace for ipv6. The duplicated table are postfixed with the "template" word to notify the developper the table is cloned. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/ipv6.h4
-rw-r--r--include/net/netns/ipv6.h9
2 files changed, 11 insertions, 2 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 3e086f8bb449..5519035491e7 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -619,8 +619,8 @@ static inline int snmp6_unregister_dev(struct inet6_dev *idev)
619#endif 619#endif
620 620
621#ifdef CONFIG_SYSCTL 621#ifdef CONFIG_SYSCTL
622extern ctl_table ipv6_route_table[]; 622extern ctl_table ipv6_route_table_template[];
623extern ctl_table ipv6_icmp_table[]; 623extern ctl_table ipv6_icmp_table_template[];
624 624
625extern int ipv6_sysctl_register(void); 625extern int ipv6_sysctl_register(void);
626extern void ipv6_sysctl_unregister(void); 626extern void ipv6_sysctl_unregister(void);
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h
index 6f82046e3013..58fbf30d9fdb 100644
--- a/include/net/netns/ipv6.h
+++ b/include/net/netns/ipv6.h
@@ -5,6 +5,15 @@
5#ifndef __NETNS_IPV6_H__ 5#ifndef __NETNS_IPV6_H__
6#define __NETNS_IPV6_H__ 6#define __NETNS_IPV6_H__
7 7
8struct ctl_table_header;
9
10struct netns_sysctl_ipv6 {
11#ifdef CONFIG_SYSCTL
12 struct ctl_table_header *table;
13#endif
14};
15
8struct netns_ipv6 { 16struct netns_ipv6 {
17 struct netns_sysctl_ipv6 sysctl;
9}; 18};
10#endif 19#endif