1RPCORDMA(3)                      rpcordma 1.0                      RPCORDMA(3)
2
3
4

NAME

6       packet.application.rpcordma - RPCORDMA decoding module
7

CLASSES

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

SEE ALSO

239       baseobj(3),   packet.application.rpcordma_const(3),   packet.unpack(3),
240       packet.utils(3)
241
242

BUGS

244       No known bugs.
245

AUTHOR

247       Jorge Mora (mora@netapp.com)
248
249
250
251NFStest 3.2                      21 March 2023                     RPCORDMA(3)
Impressum