__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2016 HGST, a Western Digital Company.
*/
#ifndef _RDMA_RW_H
#define _RDMA_RW_H
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
#include <rdma/ib_verbs.h>
#include <rdma/rdma_cm.h>
#include <rdma/mr_pool.h>
struct rdma_rw_ctx {
/* number of RDMA READ/WRITE WRs (not counting MR WRs) */
u32 nr_ops;
/* tag for the union below: */
u8 type;
union {
/* for mapping a single SGE: */
struct {
struct ib_sge sge;
struct ib_rdma_wr wr;
} single;
/* for mapping of multiple SGEs: */
struct {
struct ib_sge *sges;
struct ib_rdma_wr *wrs;
} map;
/* for registering multiple WRs: */
struct rdma_rw_reg_ctx {
struct ib_sge sge;
struct ib_rdma_wr wr;
struct ib_reg_wr reg_wr;
struct ib_send_wr inv_wr;
struct ib_mr *mr;
} *reg;
};
};
int rdma_rw_ctx_init(struct rdma_rw_ctx *ctx, struct ib_qp *qp, u32 port_num,
struct scatterlist *sg, u32 sg_cnt, u32 sg_offset,
u64 remote_addr, u32 rkey, enum dma_data_direction dir);
void rdma_rw_ctx_destroy(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
u32 port_num, struct scatterlist *sg, u32 sg_cnt,
enum dma_data_direction dir);
int rdma_rw_ctx_signature_init(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
u32 port_num, struct scatterlist *sg, u32 sg_cnt,
struct scatterlist *prot_sg, u32 prot_sg_cnt,
struct ib_sig_attrs *sig_attrs, u64 remote_addr, u32 rkey,
enum dma_data_direction dir);
void rdma_rw_ctx_destroy_signature(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
u32 port_num, struct scatterlist *sg, u32 sg_cnt,
struct scatterlist *prot_sg, u32 prot_sg_cnt,
enum dma_data_direction dir);
struct ib_send_wr *rdma_rw_ctx_wrs(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
u32 port_num, struct ib_cqe *cqe, struct ib_send_wr *chain_wr);
int rdma_rw_ctx_post(struct rdma_rw_ctx *ctx, struct ib_qp *qp, u32 port_num,
struct ib_cqe *cqe, struct ib_send_wr *chain_wr);
unsigned int rdma_rw_mr_factor(struct ib_device *device, u32 port_num,
unsigned int maxpages);
void rdma_rw_init_qp(struct ib_device *dev, struct ib_qp_init_attr *attr);
int rdma_rw_init_mrs(struct ib_qp *qp, struct ib_qp_init_attr *attr);
void rdma_rw_cleanup_mrs(struct ib_qp *qp);
#endif /* _RDMA_RW_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| ib.h | File | 2.07 KB | 0644 |
|
| ib_addr.h | File | 7.16 KB | 0644 |
|
| ib_cache.h | File | 3.59 KB | 0644 |
|
| ib_cm.h | File | 16.73 KB | 0644 |
|
| ib_hdrs.h | File | 6.83 KB | 0644 |
|
| ib_mad.h | File | 24.58 KB | 0644 |
|
| ib_marshall.h | File | 685 B | 0644 |
|
| ib_pack.h | File | 7.81 KB | 0644 |
|
| ib_pma.h | File | 4.17 KB | 0644 |
|
| ib_sa.h | File | 19.53 KB | 0644 |
|
| ib_smi.h | File | 4.49 KB | 0644 |
|
| ib_sysfs.h | File | 1.23 KB | 0644 |
|
| ib_umem.h | File | 6.82 KB | 0644 |
|
| ib_umem_odp.h | File | 3.39 KB | 0644 |
|
| ib_verbs.h | File | 144.17 KB | 0644 |
|
| iba.h | File | 5.51 KB | 0644 |
|
| ibta_vol1_c12.h | File | 12.94 KB | 0644 |
|
| iw_cm.h | File | 6.49 KB | 0644 |
|
| iw_portmap.h | File | 2.19 KB | 0644 |
|
| lag.h | File | 530 B | 0644 |
|
| mr_pool.h | File | 568 B | 0644 |
|
| opa_addr.h | File | 2.39 KB | 0644 |
|
| opa_port_info.h | File | 13.43 KB | 0644 |
|
| opa_smi.h | File | 3 KB | 0644 |
|
| opa_vnic.h | File | 1.99 KB | 0644 |
|
| rdma_cm.h | File | 13.12 KB | 0644 |
|
| rdma_cm_ib.h | File | 797 B | 0644 |
|
| rdma_counter.h | File | 1.88 KB | 0644 |
|
| rdma_netlink.h | File | 4.32 KB | 0644 |
|
| rdma_vt.h | File | 14.22 KB | 0644 |
|
| rdmavt_cq.h | File | 1.74 KB | 0644 |
|
| rdmavt_mr.h | File | 3.94 KB | 0644 |
|
| rdmavt_qp.h | File | 28.04 KB | 0644 |
|
| restrack.h | File | 4.35 KB | 0644 |
|
| rw.h | File | 2.22 KB | 0644 |
|
| signature.h | File | 2.9 KB | 0644 |
|
| tid_rdma_defs.h | File | 2.05 KB | 0644 |
|
| uverbs_ioctl.h | File | 32.83 KB | 0644 |
|
| uverbs_named_ioctl.h | File | 4.72 KB | 0644 |
|
| uverbs_std_types.h | File | 5.24 KB | 0644 |
|
| uverbs_types.h | File | 6.96 KB | 0644 |
|