rds: Extend RDS API for IPv6 support
authorKa-Cheong Poon <ka-cheong.poon@oracle.com>
Tue, 24 Jul 2018 03:51:23 +0000 (20:51 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Jul 2018 04:17:44 +0000 (21:17 -0700)
commitb7ff8b1036f0b0df1390ba6b5e9bc7ec458e857a
tree398bab1a171b7da3be14fe9f7f1d5936032b7f74
parent1e2b44e78eead7bcadfbf96f70d95773191541c9
rds: Extend RDS API for IPv6 support

There are many data structures (RDS socket options) used by RDS apps
which use a 32 bit integer to store IP address. To support IPv6,
struct in6_addr needs to be used. To ensure backward compatibility, a
new data structure is introduced for each of those data structures
which use a 32 bit integer to represent an IP address. And new socket
options are introduced to use those new structures. This means that
existing apps should work without a problem with the new RDS module.
For apps which want to use IPv6, those new data structures and socket
options can be used. IPv4 mapped address is used to represent IPv4
address in the new data structures.

v4: Revert changes to SO_RDS_TRANSPORT

Signed-off-by: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/rds.h
net/rds/connection.c
net/rds/ib.c
net/rds/ib_mr.h
net/rds/ib_rdma.c
net/rds/recv.c
net/rds/tcp.c