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