Re: [PATCH net-next 1/5] RDS: Re-add pf/sol access via sysctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/14/19 8:56 AM, Doug Ledford wrote:
On Tue, 2019-08-13 at 11:20 -0700, Gerd Rausch wrote:
From: Andy Grover <andy.grover@xxxxxxxxxx>
Date: Tue, 24 Nov 2009 15:35:51 -0800

Although RDS has an official PF_RDS value now, existing software
expects to look for rds sysctls to determine it. We need to maintain
these for now, for backwards compatibility.

Signed-off-by: Andy Grover <andy.grover@xxxxxxxxxx>
Signed-off-by: Gerd Rausch <gerd.rausch@xxxxxxxxxx>
---
  net/rds/sysctl.c | 21 +++++++++++++++++++++
  1 file changed, 21 insertions(+)

diff --git a/net/rds/sysctl.c b/net/rds/sysctl.c
index e381bbcd9cc1..9760292a0af4 100644
--- a/net/rds/sysctl.c
+++ b/net/rds/sysctl.c
@@ -49,6 +49,13 @@ unsigned int  rds_sysctl_max_unacked_bytes = (16 <<
20);
unsigned int rds_sysctl_ping_enable = 1; +/*
+ * We have official values, but must maintain the sysctl interface
for existing
+ * software that expects to find these values here.
+ */
+static int rds_sysctl_pf_rds = PF_RDS;
+static int rds_sysctl_sol_rds = SOL_RDS;
+
  static struct ctl_table rds_sysctl_rds_table[] = {
  	{
  		.procname       = "reconnect_min_delay_ms",
@@ -68,6 +75,20 @@ static struct ctl_table rds_sysctl_rds_table[] = {
  		.extra1		= &rds_sysctl_reconnect_min_jiffies,
  		.extra2		= &rds_sysctl_reconnect_max,
  	},
+	{
+		.procname       = "pf_rds",
+		.data		= &rds_sysctl_pf_rds,
+		.maxlen         = sizeof(int),
+		.mode           = 0444,
+		.proc_handler   = &proc_dointvec,
+	},
+	{
+		.procname       = "sol_rds",
+		.data		= &rds_sysctl_sol_rds,
+		.maxlen         = sizeof(int),
+		.mode           = 0444,
+		.proc_handler   = &proc_dointvec,
+	},
  	{
  		.procname	= "max_unacked_packets",
  		.data		= &rds_sysctl_max_unacked_packets,

Good Lord...RDS was taken into the kernel in Feb of 2009, so over 10
years ago.  The patch to put PF_RDS/AF_RDS/SOL_RDS was taken into
include/linux/socket.h Feb 26, 2009.  The RDS ports were allocated by
IANA on Feb 27 and May 20, 2009.  And you *still* have software that
needs this?  The only software that has ever used RDS was Oracle
software.  I would have expected you guys to update your source code to
do the right thing long before now.  In fact, I would expect you were
ready to retire all of the legacy software that needs this by now.  As
of today, does your current build of Oracle software still require this,
or have you at least fixed it up in your modern builds?

Some of the application software was released before 2009 and ended up
using these proc entries from downstream kernel. The newer lib/app
using RDS don't use these. Unfortunately lot of customer still use
Oracle 9, 10, 11 which were released before 2007 and run these apps
on modern kernels.

Regards,
Snatosh



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux