1RPCORDMA(3) rpcordma 1.0 RPCORDMA(3)
2
3
4
6 packet.application.rpcordma - RPCORDMA decoding module
7
9 class RPCoRDMA(baseobj.BaseObj)
10 struct RPCoRDMA {
11 uint32 xid; /* Mirrors the RPC header xid */
12 uint32 vers; /* Version of this protocol */
13 uint32 credit; /* Buffers requested/granted */
14 rdma_body body;
15 };
16
17
18 Methods defined here:
19 ---------------------
20
21 __init__(self, unpack)
22 Constructor
23
24 Initialize object's private data according to the arguments given.
25 Arguments can be given as positional, named arguments or a
26 combination of both.
27
28 class rdma_body(baseobj.BaseObj)
29 union switch rdma_body (rdma_proc proc) {
30 case const.RDMA_MSG:
31 rpc_rdma_header rdma_msg;
32 case const.RDMA_NOMSG:
33 rpc_rdma_header_nomsg rdma_nomsg;
34 case const.RDMA_MSGP: /* Not to be used */
35 rpc_rdma_header_padded rdma_msgp;
36 case const.RDMA_DONE: /* Not to be used */
37 void;
38 case const.RDMA_ERROR:
39 rpc_rdma_error rdma_error;
40 };
41
42
43 Methods defined here:
44 ---------------------
45
46 __init__(self, unpack)
47 Constructor
48
49 Initialize object's private data according to the arguments given.
50 Arguments can be given as positional, named arguments or a
51 combination of both.
52
53 class rdma_proc(packet.utils.Enum)
54 enum rdma_proc
55
56
57 class rpc_rdma_errcode(packet.utils.Enum)
58 enum rpc_rdma_errcode
59
60
61 class rpc_rdma_error(baseobj.BaseObj)
62 union switch rpc_rdma_error (rpc_rdma_errcode err) {
63 case const.ERR_VERS:
64 rpc_rdma_errvers range;
65 case const.ERR_CHUNK:
66 void;
67 };
68
69
70 Methods defined here:
71 ---------------------
72
73 __init__(self, unpack)
74 Constructor
75
76 Initialize object's private data according to the arguments given.
77 Arguments can be given as positional, named arguments or a
78 combination of both.
79
80 class rpc_rdma_errvers(baseobj.BaseObj)
81 struct rpc_rdma_errvers {
82 uint32 low;
83 uint32 high;
84 };
85
86
87 Methods defined here:
88 ---------------------
89
90 __init__(self, unpack)
91 Constructor
92
93 Initialize object's private data according to the arguments given.
94 Arguments can be given as positional, named arguments or a
95 combination of both.
96
97 class rpc_rdma_header(baseobj.BaseObj)
98 struct rpc_rdma_header {
99 xdr_read_list *reads;
100 xdr_write_list *writes;
101 xdr_write_chunk *reply;
102 };
103
104
105 Methods defined here:
106 ---------------------
107
108 __init__(self, unpack)
109 Constructor
110
111 Initialize object's private data according to the arguments given.
112 Arguments can be given as positional, named arguments or a
113 combination of both.
114
115 class rpc_rdma_header_nomsg(baseobj.BaseObj)
116 struct rpc_rdma_header_nomsg {
117 xdr_read_list *reads;
118 xdr_write_list *writes;
119 xdr_write_chunk *reply;
120 };
121
122
123 Methods defined here:
124 ---------------------
125
126 __init__(self, unpack)
127 Constructor
128
129 Initialize object's private data according to the arguments given.
130 Arguments can be given as positional, named arguments or a
131 combination of both.
132
133 class rpc_rdma_header_padded(baseobj.BaseObj)
134 struct rpc_rdma_header_padded {
135 uint32 align; /* Padding alignment */
136 uint32 thresh; /* Padding threshold */
137 xdr_read_list *reads;
138 xdr_write_list *writes;
139 xdr_write_chunk *reply;
140 };
141
142
143 Methods defined here:
144 ---------------------
145
146 __init__(self, unpack)
147 Constructor
148
149 Initialize object's private data according to the arguments given.
150 Arguments can be given as positional, named arguments or a
151 combination of both.
152
153 class xdr_rdma_segment(baseobj.BaseObj)
154 struct xdr_rdma_segment {
155 uint32 handle; /* Registered memory handle */
156 uint32 length; /* Length of the chunk in bytes */
157 uint64 offset; /* Chunk virtual address or offset */
158 };
159
160
161 Methods defined here:
162 ---------------------
163
164 __init__(self, unpack)
165 Constructor
166
167 Initialize object's private data according to the arguments given.
168 Arguments can be given as positional, named arguments or a
169 combination of both.
170
171 class xdr_read_chunk(baseobj.BaseObj)
172 struct xdr_read_chunk {
173 uint32 position; /* Position in XDR stream */
174 xdr_rdma_segment target;
175 };
176
177
178 Methods defined here:
179 ---------------------
180
181 __init__(self, unpack)
182 Constructor
183
184 Initialize object's private data according to the arguments given.
185 Arguments can be given as positional, named arguments or a
186 combination of both.
187
188 class xdr_read_list(baseobj.BaseObj)
189 struct xdr_read_list {
190 xdr_read_chunk entry;
191 xdr_read_list *next;
192 };
193
194
195 Methods defined here:
196 ---------------------
197
198 __init__(self, unpack)
199 Constructor
200
201 Initialize object's private data according to the arguments given.
202 Arguments can be given as positional, named arguments or a
203 combination of both.
204
205 class xdr_write_chunk(baseobj.BaseObj)
206 struct xdr_write_chunk {
207 xdr_rdma_segment target<>;
208 };
209
210
211 Methods defined here:
212 ---------------------
213
214 __init__(self, unpack)
215 Constructor
216
217 Initialize object's private data according to the arguments given.
218 Arguments can be given as positional, named arguments or a
219 combination of both.
220
221 class xdr_write_list(baseobj.BaseObj)
222 struct xdr_write_list {
223 xdr_write_chunk entry;
224 xdr_write_list *next;
225 };
226
227
228 Methods defined here:
229 ---------------------
230
231 __init__(self, unpack)
232 Constructor
233
234 Initialize object's private data according to the arguments given.
235 Arguments can be given as positional, named arguments or a
236 combination of both.
237
239 baseobj(3), packet.application.rpcordma_const(3), packet.unpack(3),
240 packet.utils(3)
241
242
244 No known bugs.
245
247 Jorge Mora (mora@netapp.com)
248
249
250
251NFStest 3.2 21 March 2023 RPCORDMA(3)