[Devel] [PATCH] Porting diff-ve-net-sysfs-drop-redundant-net_ipv4_route_path and diff-ve-net-route-bring-back-route_src_check

Kirill Tkhai ktkhai at odin.com
Thu Jun 18 04:04:50 PDT 2015


1)ve: net, sysfs -- Drop redundant net_ipv4_route_path

This procfs entry is registered in sysctl_route_net_init which is per-net
routine. In turn our call simply make a double entry in /proc/sys/net/ipv4/
directory. Lets rip it off. It looks like being leftover from previous
kernel versions.

https://bugzilla.openvz.org/show_bug.cgi?id=3039

Signed-off-by: Cyrill Gorcunov <gorcunov at parallels.com>

2)net: route -- Bring back route/src_check

While being removing doubled /proc/sys/net/ipv4/route table
(in patch diff-ve-net-sysfs-drop-redundant-net_ipv4_route_path)
I managed to miss the fact that we post @ip_rt_src_check kernel
variable outside but it is not revealed in default vanilla kernel.
So bring it back.

Previously route table has been overwritten by us on system starup
so that one can only see (on both container and node)

[root at ovz ~]# ls -l /proc/sys/net/ipv4/route/
--w------- 1 root root 0 Feb 26 13:23 flush
-rw-r--r-- 1 root root 0 Feb 26 13:23 src_check

With the patch applied we can see the complete output

[root at ovz /]# ls -l /proc/sys/net/ipv4/route/
-rw-r--r-- 1 root root 0 Feb 26 05:27 error_burst
-rw-r--r-- 1 root root 0 Feb 26 05:27 error_cost
--w------- 1 root root 0 Feb 26 05:27 flush
-rw-r--r-- 1 root root 0 Feb 26 05:27 gc_elasticity
-rw-r--r-- 1 root root 0 Feb 26 05:27 gc_interval
-rw-r--r-- 1 root root 0 Feb 26 05:27 gc_min_interval
-rw-r--r-- 1 root root 0 Feb 26 05:27 gc_min_interval_ms
-rw-r--r-- 1 root root 0 Feb 26 05:27 gc_thresh
-rw-r--r-- 1 root root 0 Feb 26 05:27 gc_timeout
-rw-r--r-- 1 root root 0 Feb 26 05:27 max_size
-rw-r--r-- 1 root root 0 Feb 26 05:27 min_adv_mss
-rw-r--r-- 1 root root 0 Feb 26 05:27 min_pmtu
-rw-r--r-- 1 root root 0 Feb 26 05:27 mtu_expires
-rw-r--r-- 1 root root 0 Feb 26 05:27 redirect_load
-rw-r--r-- 1 root root 0 Feb 26 05:27 redirect_number
-rw-r--r-- 1 root root 0 Feb 26 05:27 redirect_silence
-rw-r--r-- 1 root root 0 Feb 26 05:27 secret_interval
-rw-r--r-- 1 root root 0 Feb 26 05:27 src_check

The modification of these entries is disabled as it
was before.

https://jira.sw.ru/browse/PSBM-31818

Signed-off-by: Cyrill Gorcunov <gorcunov at parallels.com>

[These patches deletes old kernels leftovers, and we need
 them.

 But we still won't have /proc/sys/net/ipv4/route/ entries,
 because sysctl paths are virtualized now. It's necessay to
 dup ipv4_route_table like we do for ipv4_route_flush_table
 in pernet init]

Signed-off-by: Kirill Tkhai <ktkhai at odin.com>
---
 kernel/ve/veowner.c |   23 -----------------------
 net/ipv4/route.c    |    9 +++++++++
 2 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/kernel/ve/veowner.c b/kernel/ve/veowner.c
index ada4df3..316e4d0 100644
--- a/kernel/ve/veowner.c
+++ b/kernel/ve/veowner.c
@@ -55,26 +55,6 @@ static void prepare_proc(void)
 int ve_xattr_policy = VE_XATTR_POLICY_ACCEPT;
 static int ve_area_access_check;
 
-#ifdef CONFIG_INET
-static struct ctl_table vz_ipv4_route_table[] = {
-	{
-		.procname	= "src_check",
-		.data		= &ip_rt_src_check,
-		.maxlen		= sizeof(int),
-		.mode		= 0644,
-		.proc_handler	= proc_dointvec,
-	},
-	{ 0 }
-};
-
-static struct ctl_path net_ipv4_route_path[] = {
-	{ .procname = "net", },
-	{ .procname = "ipv4", },
-	{ .procname = "route", },
-	{ }
-};
-#endif
-
 static struct ctl_table vz_fs_table[] = {
 	{
 		.procname	= "ve-area-access-check",
@@ -107,9 +87,6 @@ static struct ctl_path fs_path[] = {
 
 static void prepare_sysctl(void)
 {
-#ifdef CONFIG_INET
-	register_sysctl_paths(net_ipv4_route_path, vz_ipv4_route_table);
-#endif
 	register_sysctl_paths(fs_path, vz_fs_table);
 }
 
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 123dd45..70bce4f 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2557,6 +2557,15 @@ static struct ctl_table ipv4_route_table[] = {
 		.mode		= 0644,
 		.proc_handler	= proc_dointvec,
 	},
+#ifdef CONFIG_VE
+	{
+		.procname	= "src_check",
+		.data		= &ip_rt_src_check,
+		.maxlen		= sizeof(int),
+		.mode		= 0644,
+		.proc_handler	= proc_dointvec,
+	},
+#endif
 	{ }
 };
 




More information about the Devel mailing list