Subject: Re: [PATCH v3 net-next 0/3] rds: IPv6 support

From: Sowmini Varadhan <[email-masked]>
Date: Wed, 18 Jul 2018 03:33:40 -0700

On (07/18/18 15:19), Ka-Cheong Poon wrote:
> >bind() and connect() are using the sa_family/ss_family to have
> >the application signal to the kernel about whether ipv4 or ipv6 is
> >desired. (and bind and connect are doing the right thing for
> >v4mapped, so that doesnt seem to be a problem there)
> >
> >In this case you want the application to signal that info via
> >the optlen.  (And the reason for this inconsistency is that you dont
> >want to deal with the user->kernel copy in the same way?)
> 
> 
> Because doing that can break existing RDS apps.  Existing code
> does not check the address family in processing this socket
> option.  It only cares about the address and port.  If the new

I'll leave this up to DaveM. Existing code only handles IPv4,

everywhere else, we always check the sa_family or ss_family
first and verify the length afterward. This was DaveM's original
point about bind/connect/sendmsg. I dont know why rds sockopts have
to be special.

> code suddenly checks that and use it to decide on the address
> family, working app will break.  As I mentioned before, this
> patch set does not change existing behavior.  And doing what
> you mentioned will change existing behavior and break apps.

thank you.

--Sowmini