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

santosh.shilimkar at oracle.com santosh.shilimkar at oracle.com
Wed Aug 14 11:01:36 PDT 2019



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 at oracle.com>
>> 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 at oracle.com>
>> Signed-off-by: Gerd Rausch <gerd.rausch at oracle.com>
>> ---
>>   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



More information about the rds-devel mailing list