Viewing file: efadv.h (1.4 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ /* * Copyright 2019 Amazon.com, Inc. or its affiliates. All rights reserved. */
#ifndef __EFADV_H__ #define __EFADV_H__
#include <stdio.h> #include <sys/types.h>
#include <infiniband/verbs.h>
#ifdef __cplusplus extern "C" { #endif
enum { /* Values must match the values in efa-abi.h */ EFADV_QP_DRIVER_TYPE_SRD = 0, };
struct ibv_qp *efadv_create_driver_qp(struct ibv_pd *ibvpd, struct ibv_qp_init_attr *attr, uint32_t driver_qp_type);
struct efadv_qp_init_attr { uint64_t comp_mask; uint32_t driver_qp_type; uint8_t reserved[4]; };
struct ibv_qp *efadv_create_qp_ex(struct ibv_context *ibvctx, struct ibv_qp_init_attr_ex *attr_ex, struct efadv_qp_init_attr *efa_attr, uint32_t inlen);
enum { EFADV_DEVICE_ATTR_CAPS_RDMA_READ = 1 << 0, };
struct efadv_device_attr { uint64_t comp_mask; uint32_t max_sq_wr; uint32_t max_rq_wr; uint16_t max_sq_sge; uint16_t max_rq_sge; uint16_t inline_buf_size; uint8_t reserved[2]; uint32_t device_caps; uint32_t max_rdma_size; };
int efadv_query_device(struct ibv_context *ibvctx, struct efadv_device_attr *attr, uint32_t inlen);
struct efadv_ah_attr { uint64_t comp_mask; uint16_t ahn; uint8_t reserved[6]; };
int efadv_query_ah(struct ibv_ah *ibvah, struct efadv_ah_attr *attr, uint32_t inlen);
#ifdef __cplusplus } #endif
#endif /* __EFADV_H__ */
|