• Ka-Cheong Poon's avatar
    rds: Enable RDS IPv6 support · 1e2b44e7
    Ka-Cheong Poon authored
    This patch enables RDS to use IPv6 addresses. For RDS/TCP, the
    listener is now an IPv6 endpoint which accepts both IPv4 and IPv6
    connection requests.  RDS/RDMA/IB uses a private data (struct
    rds_ib_connect_private) exchange between endpoints at RDS connection
    establishment time to support RDMA. This private data exchange uses a
    32 bit integer to represent an IP address. This needs to be changed in
    order to support IPv6. A new private data struct
    rds6_ib_connect_private is introduced to handle this. To ensure
    backward compatibility, an IPv6 capable RDS stack uses another RDMA
    listener port (RDS_CM_PORT) to accept IPv6 connection. And it
    continues to use the original RDS_PORT for IPv4 RDS connections. When
    it needs to communicate with an IPv6 peer, it uses the RDS_CM_PORT to
    send the connection set up request.
    
    v5: Fixed syntax problem (David Miller).
    
    v4: Changed port history comments in rds.h (Sowmini Varadhan).
    
    v3: Added support to set up IPv4 connection using mapped address
        (David Miller).
        Added support to set up connection between link local and non-link
        addresses.
        Various review comments from Santosh Shilimkar and Sowmini Varadhan.
    
    v2: Fixed bound and peer address scope mismatched issue.
        Added back rds_connect() IPv6 changes.
    Signed-off-by: default avatarKa-Cheong Poon <ka-cheong.poon@oracle.com>
    Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1e2b44e7
Name
Last commit
Last update
..
Kconfig Loading commit data...
Makefile Loading commit data...
af_rds.c Loading commit data...
bind.c Loading commit data...
cong.c Loading commit data...
connection.c Loading commit data...
ib.c Loading commit data...
ib.h Loading commit data...
ib_cm.c Loading commit data...
ib_fmr.c Loading commit data...
ib_frmr.c Loading commit data...
ib_mr.h Loading commit data...
ib_rdma.c Loading commit data...
ib_recv.c Loading commit data...
ib_ring.c Loading commit data...
ib_send.c Loading commit data...
ib_stats.c Loading commit data...
ib_sysctl.c Loading commit data...
info.c Loading commit data...
info.h Loading commit data...
loop.c Loading commit data...
loop.h Loading commit data...
message.c Loading commit data...
page.c Loading commit data...
rdma.c Loading commit data...
rdma_transport.c Loading commit data...
rdma_transport.h Loading commit data...
rds.h Loading commit data...
rds_single_path.h Loading commit data...
recv.c Loading commit data...
send.c Loading commit data...
stats.c Loading commit data...
sysctl.c Loading commit data...
tcp.c Loading commit data...
tcp.h Loading commit data...
tcp_connect.c Loading commit data...
tcp_listen.c Loading commit data...
tcp_recv.c Loading commit data...
tcp_send.c Loading commit data...
tcp_stats.c Loading commit data...
threads.c Loading commit data...
transport.c Loading commit data...