libmooshika
|
RDMA transport instance. More...
#include <mooshika.h>
Public Types | |
enum | msk_state { MSK_INIT, MSK_LISTENING, MSK_ADDR_RESOLVED, MSK_ROUTE_RESOLVED, MSK_CONNECT_REQUEST, MSK_CONNECTED, MSK_CLOSING, MSK_CLOSED, MSK_ERROR } |
Data Fields | |
enum msk_trans::msk_state | state |
tracks the transport state machine for connection setup and tear down More... | |
struct rdma_cm_id * | cm_id |
The RDMA CM ID. More... | |
struct rdma_event_channel * | event_channel |
struct ibv_comp_channel * | comp_channel |
struct msk_pd * | pd |
Protection Domain pointer list. More... | |
struct ibv_qp * | qp |
Queue Pair pointer. More... | |
struct ibv_srq * | srq |
Shared Receive Queue pointer. More... | |
struct ibv_cq * | cq |
Completion Queue pointer. More... | |
disconnect_callback_t | disconnect_callback |
void * | private_data |
long | timeout |
Number of mSecs to wait for connection management events. More... | |
int | sq_depth |
The depth of the Send Queue. More... | |
int | max_send_sge |
Maximum number of s/g elements per send. More... | |
int | rq_depth |
The depth of the Receive Queue. More... | |
int | max_recv_sge |
Maximum number of s/g elements per recv. More... | |
char * | node |
The remote peer's hostname. More... | |
char * | port |
The service port (or name) More... | |
int | conn_type |
RDMA Port space, probably RDMA_PS_TCP. More... | |
int | server |
0 if client, connection backlog on server, -1 (MSK_SERVER_CHILD) if server's accepted connection More... | |
int | destroy_on_disconnect |
set to 1 if mooshika should perform cleanup More... | |
int | privport |
set to 1 if mooshika should use a reserved port for client side More... | |
uint32_t | debug |
struct rdma_cm_id ** | conn_requests |
temporary child cm_id, only used for server More... | |
struct msk_ctx * | wctx |
pointer to actual context data More... | |
struct msk_ctx * | rctx |
pointer to actual context data More... | |
pthread_mutex_t | cm_lock |
lock for connection events More... | |
pthread_cond_t | cm_cond |
cond for connection events More... | |
struct ibv_recv_wr * | bad_recv_wr |
struct ibv_send_wr * | bad_send_wr |
struct msk_stats | stats |
char * | stats_prefix |
int | stats_sock |
RDMA transport instance.
enum msk_trans::msk_state |
struct ibv_recv_wr* msk_trans::bad_recv_wr |
struct ibv_send_wr* msk_trans::bad_send_wr |
pthread_cond_t msk_trans::cm_cond |
cond for connection events
Referenced by msk_destroy_trans().
struct rdma_cm_id* msk_trans::cm_id |
The RDMA CM ID.
Referenced by msk_destroy_trans(), msk_getpd(), and msk_print_devinfo().
pthread_mutex_t msk_trans::cm_lock |
lock for connection events
Referenced by msk_destroy_trans().
struct ibv_comp_channel* msk_trans::comp_channel |
struct rdma_cm_id** msk_trans::conn_requests |
temporary child cm_id, only used for server
int msk_trans::conn_type |
RDMA Port space, probably RDMA_PS_TCP.
struct ibv_cq* msk_trans::cq |
Completion Queue pointer.
uint32_t msk_trans::debug |
Referenced by callback_error(), main(), msk_accept_one_timedwait(), msk_destroy_trans(), msk_post_n_write(), and msk_stats_thread().
int msk_trans::destroy_on_disconnect |
set to 1 if mooshika should perform cleanup
disconnect_callback_t msk_trans::disconnect_callback |
struct rdma_event_channel* msk_trans::event_channel |
int msk_trans::max_recv_sge |
Maximum number of s/g elements per recv.
int msk_trans::max_send_sge |
Maximum number of s/g elements per send.
char* msk_trans::node |
The remote peer's hostname.
struct msk_pd* msk_trans::pd |
Protection Domain pointer list.
Referenced by msk_getpd().
char* msk_trans::port |
The service port (or name)
void* msk_trans::private_data |
Referenced by callback_disconnect(), callback_recv(), handle_trans(), and main().
int msk_trans::privport |
set to 1 if mooshika should use a reserved port for client side
struct ibv_qp* msk_trans::qp |
Queue Pair pointer.
struct msk_ctx* msk_trans::rctx |
pointer to actual context data
int msk_trans::rq_depth |
The depth of the Receive Queue.
int msk_trans::server |
0 if client, connection backlog on server, -1 (MSK_SERVER_CHILD) if server's accepted connection
Referenced by handle_trans(), and main().
int msk_trans::sq_depth |
The depth of the Send Queue.
struct ibv_srq* msk_trans::srq |
Shared Receive Queue pointer.
Referenced by setup_recv().
enum msk_trans::msk_state msk_trans::state |
tracks the transport state machine for connection setup and tear down
Referenced by callback_error(), callback_read(), handle_trans(), and msk_destroy_trans().
struct msk_stats msk_trans::stats |
Referenced by handle_trans(), and msk_stats_thread().
char* msk_trans::stats_prefix |
int msk_trans::stats_sock |
Referenced by msk_stats_thread().
long msk_trans::timeout |
Number of mSecs to wait for connection management events.
struct msk_ctx* msk_trans::wctx |
pointer to actual context data