Skip to content
Jianxin Xiong edited this page Mar 6, 2024 · 1 revision

Provider protocols are versioned so that runtime check can be performed to see if the wire protocol used by multiple instances of the same provider are compatible. The protocol name and version are specified in struct fi_ep_attr.

The following table lists the protocol version history of some providers:

provider EP type protocol protocol version libfabric versions
shm RDM FI_PROTO_SHM 1 since 1.6
tcp MSG FI_PROTO_SOCK_TCP 0 since 1.6
tcp RDM FI_PROTO_XNET 1 since 1.18
rxm/tcp RDM FI_PROTO_RXM 1 since 1.6
rxm/tcp RDM FI_PROTO_RXM_TCP 1 since 1.15
verbs MSG FI_PROTO_UNSPEC 1 since 1.1
verbs MSG FI_PROTO_RDMA_CM_IB_RC 1 since 1.1
verbs MSG FI_PROTO_RDMA_CM_IB_XRC 1 since 1.7
verbs MSG FI_PROTO_RDMA_CM_IWARP 1 since 1.1
verbs DGRAM FI_PROTO_IB_UD 1 since 1.1
verbs RDM FI_PROTO_IB_RDM 1 1.2 ~ 1.6
verbs RDM FI_PROTO_IWARP_RDM 1 1.2 ~ 1.6
rxm/verbs RDM FI_PROTO_RXM 1 since 1.4