Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/uapi/rdma/mana-abi.h
26288 views
1
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) */
2
/*
3
* Copyright (c) 2022, Microsoft Corporation. All rights reserved.
4
*/
5
6
#ifndef MANA_ABI_USER_H
7
#define MANA_ABI_USER_H
8
9
#include <linux/types.h>
10
#include <rdma/ib_user_ioctl_verbs.h>
11
12
/*
13
* Increment this value if any changes that break userspace ABI
14
* compatibility are made.
15
*/
16
17
#define MANA_IB_UVERBS_ABI_VERSION 1
18
19
enum mana_ib_create_cq_flags {
20
MANA_IB_CREATE_RNIC_CQ = 1 << 0,
21
};
22
23
struct mana_ib_create_cq {
24
__aligned_u64 buf_addr;
25
__u16 flags;
26
__u16 reserved0;
27
__u32 reserved1;
28
};
29
30
struct mana_ib_create_cq_resp {
31
__u32 cqid;
32
__u32 reserved;
33
};
34
35
struct mana_ib_create_qp {
36
__aligned_u64 sq_buf_addr;
37
__u32 sq_buf_size;
38
__u32 port;
39
};
40
41
struct mana_ib_create_qp_resp {
42
__u32 sqid;
43
__u32 cqid;
44
__u32 tx_vp_offset;
45
__u32 reserved;
46
};
47
48
struct mana_ib_create_rc_qp {
49
__aligned_u64 queue_buf[4];
50
__u32 queue_size[4];
51
};
52
53
struct mana_ib_create_rc_qp_resp {
54
__u32 queue_id[4];
55
};
56
57
struct mana_ib_create_wq {
58
__aligned_u64 wq_buf_addr;
59
__u32 wq_buf_size;
60
__u32 reserved;
61
};
62
63
/* RX Hash function flags */
64
enum mana_ib_rx_hash_function_flags {
65
MANA_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
66
};
67
68
struct mana_ib_create_qp_rss {
69
__aligned_u64 rx_hash_fields_mask;
70
__u8 rx_hash_function;
71
__u8 reserved[7];
72
__u32 rx_hash_key_len;
73
__u8 rx_hash_key[40];
74
__u32 port;
75
};
76
77
struct rss_resp_entry {
78
__u32 cqid;
79
__u32 wqid;
80
};
81
82
struct mana_ib_create_qp_rss_resp {
83
__aligned_u64 num_entries;
84
struct rss_resp_entry entries[64];
85
};
86
87
#endif
88
89