Am 21.08.25 um 23:04 schrieb Stefan Metzmacher via samba-technical:
Hi, this mail is triggered by the discussion in this thread on linux-cifs: https://lore.kernel.org/linux-cifs/f551bf7f-697a-4298-a62c-74da18992204@xxxxxxxxx/T/#t In include/rdma/rdma_cm.h we have this: struct rdma_conn_param { const void *private_data; u8 private_data_len; u8 responder_resources; u8 initiator_depth; u8 flow_control; u8 retry_count; /* ignored when accepting */ u8 rnr_retry_count; /* Fields below ignored if a QP is created on the rdma_cm_id. */ u8 srq; u32 qp_num; u32 qkey; };
struct iw_cm_event { enum iw_cm_event_type event; int status; struct sockaddr_storage local_addr; struct sockaddr_storage remote_addr; void *private_data; void *provider_data; u8 private_data_len; u8 ord; u8 ird; }; Also has them as u8...
The iwarp MPA v2 negotiation can handle values up to 0x3fff for responder_resources and initiator_depth. And private_data_len can be 0xffff for MPA v1 and 0xffff - 4 for MPA v2. I just found that ROCE only supports u8 in the CM ConnectRequest (and I guess it's ROCE v1 and v2 as well as Infiniband, but I've only every seen ROCE v2 captures). BTW: does ROCE also support private data and if how much? So is it desired to limit iwarp to u8 values too? Thanks! metze