OpenVZ Forum


Home » Mailing lists » Devel » [PATCH net-2.6.26 1/4][NETNS][ICMP]: Register pernet subsys to make ICMP sysctls per-net.
[PATCH net-2.6.26 1/4][NETNS][ICMP]: Register pernet subsys to make ICMP sysctls per-net. [message #28668] Wed, 26 March 2008 08:51 Go to previous message
Pavel Emelianov is currently offline  Pavel Emelianov
Messages: 1149
Registered: September 2006
Senior Member
This includes adding pernet_operations, empty init and exit
hooks and a bit of changes in sysctl_ipv4_init just not to
have this part in next patches.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>

---
 net/ipv4/sysctl_net_ipv4.c |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 88286f3..c2fca30 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -811,12 +811,34 @@ struct ctl_path net_ipv4_ctl_path[] = {
 };
 EXPORT_SYMBOL_GPL(net_ipv4_ctl_path);
 
+static __net_init int ipv4_sysctl_init_net(struct net *net)
+{
+	return 0;
+}
+
+static __net_exit void ipv4_sysctl_exit_net(struct net *net)
+{
+}
+
+static __net_initdata struct pernet_operations ipv4_sysctl_ops = {
+	.init = ipv4_sysctl_init_net,
+	.exit = ipv4_sysctl_exit_net,
+};
+
 static __init int sysctl_ipv4_init(void)
 {
 	struct ctl_table_header *hdr;
 
 	hdr = register_sysctl_paths(net_ipv4_ctl_path, ipv4_table);
-	return hdr == NULL ? -ENOMEM : 0;
+	if (hdr == NULL)
+		return -ENOMEM;
+
+	if (register_pernet_subsys(&ipv4_sysctl_ops)) {
+		unregister_sysctl_table(hdr);
+		return -ENOMEM;
+	}
+
+	return 0;
 }
 
 __initcall(sysctl_ipv4_init);
-- 
1.5.3.4
 
Read Message
Read Message
Previous Topic: [PATCH 2/2 net-2.6.26] [NETNS]: Compilation warnings under CONFIG_NET_NS.
Next Topic: [PATCH net-2.6.26 2/4][NETNS][ICMP]: Move ICMP sysctls on struct net.
Goto Forum:
  


Current Time: Thu Sep 26 22:01:13 GMT 2024

Total time taken to generate the page: 0.04420 seconds