#include <atomic>
#include <cstring>
#include <fcntl.h>
#include <iostream>
#include <list>
#include <mutex>
#include <poll.h>
#include <thread>
#include <vector>
#include "derecho/derecho_ports.h"
#include "tcp/tcp.h"
#include "util.h"
#include "verbs_helper.h"
#include <infiniband/verbs.h>
Go to the source code of this file.
Classes | |
struct | rdma::config_t |
struct | rdma::cm_con_data_t |
struct | rdma::ibv_resources |
struct | rdma::completion_handler_set |
Listener to detect new incoming connections. More... | |
struct | rdma::task::task_impl |
Namespaces | |
rdma | |
Contains functions and classes for low-level RDMA operations, such as setting up memory regions and queue pairs. | |
rdma::impl | |
Typedefs | |
using | rdma::ibv_mr_unique_ptr = unique_ptr< ibv_mr, std::function< void(ibv_mr *)> > |
Functions | |
struct rdma::cm_con_data_t | rdma::__attribute__ ((packed)) |
void | rdma::impl::verbs_destroy () |
bool | rdma::impl::verbs_initialize (const map< uint32_t, std::pair< ip_addr_t, uint16_t >> &ip_addrs_and_ports, uint32_t node_rank) |
bool | rdma::impl::verbs_add_connection (uint32_t index, const std::string &address, uint32_t node_rank) |
bool | rdma::impl::verbs_remove_connection (uint32_t index) |
bool | rdma::impl::set_interrupt_mode (bool enabled) |
bool | rdma::impl::set_contiguous_memory_mode (bool enabled) |
feature_set | rdma::get_supported_features () |
std::map< uint32_t, remote_memory_region > | rdma::impl::verbs_exchange_memory_regions (const std::vector< uint32_t > &members, uint32_t node_rank, const memory_region &mr) |
ibv_cq * | rdma::impl::verbs_get_cq () |
ibv_comp_channel * | rdma::impl::verbs_get_completion_channel () |
Variables | |
uint32_t | qp_num |
uint16_t | lid |
uint8_t | gid [16] |
struct rdma::ibv_resources | rdma::verbs_resources |
struct rdma::config_t |
Definition at line 30 of file verbs_helper.cpp.
Class Members | ||
---|---|---|
const char * | dev_name | |
int | gid_idx | |
int | ib_port |
struct rdma::cm_con_data_t |
Definition at line 86 of file lf_helper.cpp.
Class Members | ||
---|---|---|
uint8_t | gid[16] | |
uint16_t | lid | |
char | pep_addr[MAX_LF_ADDR_SIZE] | local endpoint address length |
uint32_t | pep_addr_len | |
uint32_t | qp_num |
struct rdma::ibv_resources |
Definition at line 52 of file verbs_helper.cpp.
Class Members | ||
---|---|---|
ibv_comp_channel * | cc | |
ibv_cq * | cq | |
ibv_device_attr | device_attr | |
ibv_context * | ib_ctx | |
ibv_pd * | pd | |
ibv_port_attr | port_attr |
struct rdma::completion_handler_set |
Listener to detect new incoming connections.
Vector of completion handlers and a mutex for accessing it
Definition at line 104 of file lf_helper.cpp.
Class Members | ||
---|---|---|
string | name | |
completion_handler | recv | |
completion_handler | send | |
completion_handler | write |
struct rdma::task::task_impl |
Definition at line 533 of file lf_helper.cpp.
Class Members | ||
---|---|---|
int | dummy |
uint8_t gid[16] |
Definition at line 133 of file verbs_helper.cpp.
uint16_t lid |
Definition at line 132 of file verbs_helper.cpp.
uint32_t qp_num |
Definition at line 131 of file verbs_helper.cpp.