From: Allison Henderson <[email protected]> Hi all,
This is subset 3 of the larger RDS-TCP patch series I posted last Oct. The greater series aims to correct multiple rds-tcp issues that can cause dropped or out of sequence messages. I've broken it down into smaller sets to make reviews more manageable. In this set, we introduce extension headers for byte accounting and fix several RDS/TCP protocol issues including message preservation during connection transitions and multipath lane handling. The entire set can be viewed in the rfc here: https://lore.kernel.org/netdev/[email protected]/ Questions, comments, flames appreciated! Thanks! Allison Change Log: v2: [PATCH net-next v2 1/7] net/rds: new extension header: rdma bytes - Fixed AI complaints for uninitalized structs [PATCH net-next v2 2/7] net/rds: Encode cp_index in TCP source port - Fixed line length checkpatch complaints [PATCH net-next v2 3/7] net/rds: rds_tcp_conn_path_shutdown must not discard messages - Added sk convenience variable to reduce dereferencing and line wrapping - Fixed line length checkpatch complaints [PATCH net-next v2 6/7] net/rds: Use the first lane until - Added rds_mprds_cp0_catchup helper to de-nest rds_send_xmit - Fixed line length checkpatch complaints [PATCH net-next v2 7/7] net/rds: Trigger rds_send_ping() more than once - Fixed ai complaints for comment clarification v3: [PATCH net-next v3 1/8] net/rds: new extension header: rdma bytes - Addressed ai complaints about unpacked/unpadded rds_ext_header_rdma_bytes - Added return code checks to rds_message_add_extension [PATCH net-next v3 06/8] net/rds: Update struct rds_statistics to use u64 instead of uint64_t - NEW [PATCH net-next v3 6/8] net/rds: Use the first lane until - Fixed Prefer kernel type 'u64' over 'uint64_t' warnings [PATCH net-next v3 08/8] net/rds: Trigger rds_send_ping() more than once - Addressed ai complaints for comment clarification v4: [PATCH net-next v4 1/8] net/rds: new extension header: rdma bytes - Fixed line length checkpatch complaints [PATCH net-next v4 2/8] net/rds: Encode cp_index in TCP source port - Addressed ai complaints for kernel_getpeername return code handling Allison Henderson (1): net/rds: Update struct rds_statistics to use u64 instead of uint64_t Gerd Rausch (4): net/rds: Encode cp_index in TCP source port net/rds: rds_tcp_conn_path_shutdown must not discard messages net/rds: Kick-start TCP receiver after accept net/rds: Use the first lane until RDS_EXTHDR_NPATHS arrives HÃ¥kon Bugge (1): net/rds: Clear reconnect pending bit Original Author (1): net/rds: Trigger rds_send_ping() more than once Shamir Rabinovitch (1): net/rds: new extension header: rdma bytes net/rds/connection.c | 7 ++- net/rds/ib_send.c | 40 ++++++++++--- net/rds/message.c | 66 ++++++++++++++++----- net/rds/rds.h | 105 ++++++++++++++++++++-------------- net/rds/recv.c | 37 ++++++++++-- net/rds/send.c | 130 +++++++++++++++++++++++++++++------------- net/rds/stats.c | 1 + net/rds/tcp.c | 1 + net/rds/tcp.h | 7 ++- net/rds/tcp_connect.c | 79 +++++++++++++++++++++++-- net/rds/tcp_listen.c | 92 +++++++++++++++++++++++++++--- net/rds/tcp_recv.c | 4 ++ net/rds/tcp_send.c | 2 +- 13 files changed, 450 insertions(+), 121 deletions(-) -- 2.43.0
