a context for a HCA in RC mode More...
#include <nm_ibverbs.h>

Data Structures | |
| struct | nm_ibverbs_opts_s |
Data Fields | ||
| struct nm_ibverbs_hca_s | hca | |
| global HCA attached to this context | ||
| struct { | ||
| nm_spinlock_t lock | ||
| lock to protect the connection-related fields More... | ||
| struct nm_ibverbs_ud_ep_s udep | ||
| UD endpoint for connection management. More... | ||
| struct nm_ibverbs_cnx_addr_entry_hashtable_s addr_hash | ||
| cnx addresses, hashed by remote context address More... | ||
| struct nm_ibverbs_cnx_qpn_hashtable_s cnx_by_qpn | ||
| table of cnx hashed by their local QPN More... | ||
| struct nm_ibverbs_cnx_addr_entry_list_s pending_entries | ||
| list of entries currently in progress, sorted by timeout More... | ||
| struct nm_ibverbs_ud_recv_pool_s recv_pool | ||
| struct nm_ibverbs_cnx_connect_packet_s recv_packets [8192] | ||
| } | connect | |
| connection management using UD | ||
| struct { | ||
| void * p_wide_url | ||
| wide url containing both UD url & vector of pre-allocated cnxs More... | ||
| int session_size | ||
| uint32_t rank | ||
| struct nm_ibverbs_cnx_s ** pp_cached_cnxs | ||
| array of pre-allocated connections More... | ||
| } | vector_connect | |
| vectored connection, for launchers that support wide url and drivers with bare IB addr (no segment) | ||
| struct { | ||
| struct ibv_srq * p_srq | ||
| shared receive queue (if supported by device) More... | ||
| struct ibv_cq * srq_cq | ||
| CQ used for SRQs. More... | ||
| struct ibv_comp_channel * comp_channel | ||
| completion channel for blocking calls More... | ||
| int cancel_fd [2] | ||
| pipe used to cancel a wait event on comp channel More... | ||
| volatile int waiting | ||
| whether we are in a blocking CQ event wait More... | ||
| } | srq | |
| struct nm_ibverbs_context_s::nm_ibverbs_opts_s | ib_opts | |
Detailed Description
a context for a HCA in RC mode
Definition at line 265 of file nm_ibverbs.h.
Field Documentation
◆ addr_hash
| struct nm_ibverbs_cnx_addr_entry_hashtable_s nm_ibverbs_context_s::addr_hash |
cnx addresses, hashed by remote context address
Definition at line 273 of file nm_ibverbs.h.
◆ cancel_fd
| int nm_ibverbs_context_s::cancel_fd[2] |
pipe used to cancel a wait event on comp channel
Definition at line 292 of file nm_ibverbs.h.
◆ cnx_by_qpn
| struct nm_ibverbs_cnx_qpn_hashtable_s nm_ibverbs_context_s::cnx_by_qpn |
table of cnx hashed by their local QPN
Definition at line 274 of file nm_ibverbs.h.
Referenced by nm_ibverbs_cnx_lazy_by_qpn().
◆ comp_channel
| struct ibv_comp_channel* nm_ibverbs_context_s::comp_channel |
completion channel for blocking calls
Definition at line 291 of file nm_ibverbs.h.
◆ [struct]
| struct { ... } nm_ibverbs_context_s::connect |
connection management using UD
Referenced by nm_ibverbs_cnx_lazy_by_qpn().
◆ hca
| struct nm_ibverbs_hca_s nm_ibverbs_context_s::hca |
global HCA attached to this context
Definition at line 267 of file nm_ibverbs.h.
◆ ib_opts
| struct nm_ibverbs_context_s::nm_ibverbs_opts_s nm_ibverbs_context_s::ib_opts |
◆ lock
| nm_spinlock_t nm_ibverbs_context_s::lock |
lock to protect the connection-related fields
Definition at line 271 of file nm_ibverbs.h.
◆ p_srq
| struct ibv_srq* nm_ibverbs_context_s::p_srq |
shared receive queue (if supported by device)
Definition at line 289 of file nm_ibverbs.h.
◆ p_wide_url
| void* nm_ibverbs_context_s::p_wide_url |
wide url containing both UD url & vector of pre-allocated cnxs
Definition at line 282 of file nm_ibverbs.h.
◆ pending_entries
| struct nm_ibverbs_cnx_addr_entry_list_s nm_ibverbs_context_s::pending_entries |
list of entries currently in progress, sorted by timeout
Definition at line 275 of file nm_ibverbs.h.
◆ pp_cached_cnxs
| struct nm_ibverbs_cnx_s** nm_ibverbs_context_s::pp_cached_cnxs |
array of pre-allocated connections
Definition at line 285 of file nm_ibverbs.h.
◆ rank
| uint32_t nm_ibverbs_context_s::rank |
Definition at line 284 of file nm_ibverbs.h.
◆ recv_packets
| struct nm_ibverbs_cnx_connect_packet_s nm_ibverbs_context_s::recv_packets[8192] |
Definition at line 277 of file nm_ibverbs.h.
◆ recv_pool
| struct nm_ibverbs_ud_recv_pool_s nm_ibverbs_context_s::recv_pool |
Definition at line 276 of file nm_ibverbs.h.
◆ session_size
| int nm_ibverbs_context_s::session_size |
Definition at line 283 of file nm_ibverbs.h.
◆ [struct]
| struct { ... } nm_ibverbs_context_s::srq |
◆ srq_cq
| struct ibv_cq* nm_ibverbs_context_s::srq_cq |
CQ used for SRQs.
Definition at line 290 of file nm_ibverbs.h.
◆ udep
| struct nm_ibverbs_ud_ep_s nm_ibverbs_context_s::udep |
UD endpoint for connection management.
Definition at line 272 of file nm_ibverbs.h.
◆ [struct]
| struct { ... } nm_ibverbs_context_s::vector_connect |
vectored connection, for launchers that support wide url and drivers with bare IB addr (no segment)
◆ waiting
| volatile int nm_ibverbs_context_s::waiting |
whether we are in a blocking CQ event wait
Definition at line 293 of file nm_ibverbs.h.
The documentation for this struct was generated from the following file: