On Tue, 2019-08-13 at 11:20 -0700, Gerd Rausch wrote: > From: Andy Grover > 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 > Signed-off-by: Gerd Rausch > --- > 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? -- Doug Ledford GPG KeyID: B826A3330E572FDD Fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD