From: Leon Romanovsky <leonro@xxxxxxxxxxxx> Hi, This series is based n previously sent CM cleanup series [1] and continues already started task to clean up CM related code. Over the years, the IB/core gained a number of anti-patterns which led to mistakes. First and most distracting is spread of hardware specification types (e.g. __beXX) to the core logic. Second, endless copy/paste to access IBTA binary blobs, which made any IBTA extensions not an easy task. In next series, we will add Enhance Connection Establishment bits which were added recently to IBTA and will continue to convert rest of the CM code to propose macros by eliminating __beXX variables from core code. Thanks [1] https://lore.kernel.org/linux-rdma/20191020071559.9743-1-leon@xxxxxxxxxx BTW, I know that it is more than 15 patches, but they are small and self-contained. Leon Romanovsky (43): RDMA/cm: Add naive SET/GET implementations to hide CM wire format RDMA/cm: Request For Communication (REQ) message definitions RDMA/cm: Message Receipt Acknowledgment (MRA) message definitions RDMA/cm: Reject (REJ) message definitions RDMA/cm: Reply To Request for communication (REP) definitions RDMA/cm: Ready To Use (RTU) definitions RDMA/cm: Request For Communication Release (DREQ) definitions RDMA/cm: Reply To Request For Communication Release (DREP) definitions RDMA/cm: Load Alternate Path (LAP) definitions RDMA/cm: Alternate Path Response (APR) message definitions RDMA/cm: Service ID Resolution Request (SIDR_REQ) definitions RDMA/cm: Service ID Resolution Response (SIDR_REP) definitions RDMA/cm: Convert QPN and EECN to be u32 variables RDMA/cm: Convert REQ responded resources to the new scheme RDMA/cm: Convert REQ initiator depth to the new scheme RDMA/cm: Convert REQ remote response timeout RDMA/cm: Simplify QP type to wire protocol translation RDMA/cm: Convert REQ flow control RDMA/cm: Convert starting PSN to be u32 variable RDMA/cm: Update REQ local response timeout RDMA/cm: Convert REQ retry count to use new scheme RDMA/cm: Update REQ path MTU field RDMA/cm: Convert REQ RNR retry timeout counter RDMA/cm: Convert REQ MAX CM retries RDMA/cm: Convert REQ SRQ field RDMA/cm: Convert REQ flow label field RDMA/cm: Convert REQ packet rate RDMA/cm: Convert REQ SL fields RDMA/cm: Convert REQ subnet local fields RDMA/cm: Convert REQ local ack timeout RDMA/cm: Convert MRA MRAed field RDMA/cm: Convert MRA service timeout RDMA/cm: Update REJ struct to use new scheme RDMA/cm: Convert REP target ack delay field RDMA/cm: Convert REP failover accepted field RDMA/cm: Convert REP flow control field RDMA/cm: Convert REP RNR retry count field RDMA/cm: Convert REP SRQ field RDMA/cm: Delete unused CM LAP functions RDMA/cm: Convert LAP flow label field RDMA/cm: Convert LAP fields RDMA/cm: Delete unused CM ARP functions RDMA/cm: Convert SIDR_REP to new scheme drivers/infiniband/core/cm.c | 519 +++++++---------- drivers/infiniband/core/cm_msgs.h | 920 +++++++++++------------------- drivers/infiniband/core/cma.c | 11 +- include/rdma/ib_cm.h | 51 -- 4 files changed, 549 insertions(+), 952 deletions(-) -- 2.20.1