[nd] Don't use inline for RDMA reads. (mlnx 5666)
[mirror/winof/.git] / docs / iba / ib_types_h.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">\r
2 <html>\r
3 <head>\r
4 <link rel="stylesheet" href="../robodoc.css" type="text/css">\r
5 <title>./inc_docs/iba/ib_types_h.html</title>\r
6 <!-- Source: ./inc/iba/ib_types.h -->\r
7 <!-- Generated with ROBODoc Version 4.99.17 (Aug  2 2005) -->\r
8 </head>\r
9 <body bgcolor="#FFFFFF">\r
10 <a name="robo_top_of_doc">Generated from ./inc/iba/ib_types.h</a> with <a href="http://sourceforge.net/projects/robodoc/">ROBODoc</a> v4.99.17 on Sun Mar 04 2007 18:17:50\r
11 <br />\r
12 <hr />\r
13 \r
14 <h2><a name="robo33">[Modules]<a name="IBA20Base2fConstants">\r
15 IBA Base/Constants</a></h2>\r
16 \r
17 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_modules.html#top">index</a>]</p>\r
18 <p><strong>NAME</strong></p>\r
19 <span class="NAME"><pre>       <strong>Constants</strong>\r
20 </pre>\r
21 </span><p><strong>DESCRIPTION</strong></p>\r
22 <span class="DESCRIPTION"><pre>       The following constants are used throughout the IBA code base.\r
23 \r
24        Definitions are from the InfiniBand Architecture Specification v1.2\r
25 </pre>\r
26 </span>\r
27 <hr />\r
28 \r
29 <h2><a name="robo34">[Modules]<a name="IBA20Base2fType20Definitions">\r
30 IBA Base/Type Definitions</a></h2>\r
31 \r
32 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_modules.html#top">index</a>]</p>\r
33 <p><strong>NAME</strong></p>\r
34 <span class="NAME"><pre>       Type Definitions\r
35 </pre>\r
36 </span><p><strong>DESCRIPTION</strong></p>\r
37 <span class="DESCRIPTION"><pre>       Definitions are from the InfiniBand Architecture Specification v1.2\r
38 </pre>\r
39 </span>\r
40 <hr />\r
41 \r
42 <h2><a name="robo37">[Definitions]<a name="Access20Layer2fib5faccess5ft">\r
43 Access Layer/ib_access_t</a></h2>\r
44 \r
45 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
46 <p><strong>NAME</strong></p>\r
47 <span class="NAME"><pre>       <strong>ib_access_t</strong>\r
48 </pre>\r
49 </span><p><strong>DESCRIPTION</strong></p>\r
50 <span class="DESCRIPTION"><pre>       Indicates the type of access is permitted on resources such as QPs,\r
51        memory regions and memory windows.\r
52 </pre>\r
53 </span><p><strong>SYNOPSIS</strong></p>\r
54 <span class="SYNOPSIS"><pre>typedef uint32_t                                <strong>ib_access_t</strong>;\r
55 #define IB_AC_RDMA_READ                 0x00000001\r
56 #define IB_AC_RDMA_WRITE                0x00000002\r
57 #define IB_AC_ATOMIC                    0x00000004\r
58 #define IB_AC_LOCAL_WRITE               0x00000008\r
59 #define IB_AC_MW_BIND                   0x00000010\r
60 </pre>\r
61 </span><p><strong>NOTES</strong></p>\r
62 <span class="NOTES"><pre>       Users may combine access rights using a bit-wise or operation to specify\r
63        additional access.  For example: IB_AC_RDMA_READ | IB_AC_RDMA_WRITE grants\r
64        RDMA read and write access.\r
65 </pre>\r
66 </span>\r
67 <hr />\r
68 \r
69 <h2><a name="robo41">[Definitions]<a name="Access20Layer2fib5fapi5fstatus5ft">\r
70 Access Layer/ib_api_status_t</a></h2>\r
71 \r
72 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
73 <p><strong>NAME</strong></p>\r
74 <span class="NAME"><pre>       <strong>ib_api_status_t</strong>\r
75 </pre>\r
76 </span><p><strong>DESCRIPTION</strong></p>\r
77 <span class="DESCRIPTION"><pre>       Function return codes indicating the success or failure of an API call.\r
78        Note that success is indicated by the return value IB_SUCCESS, which\r
79        is always zero.\r
80 </pre>\r
81 </span><p><strong>NOTES</strong></p>\r
82 <span class="NOTES"><pre>       IB_VERBS_PROCESSING_DONE is used by UVP library to terminate a verbs call\r
83        in the pre-ioctl step itself.\r
84 </pre>\r
85 </span><p><strong>SYNOPSIS</strong></p>\r
86 <span class="SYNOPSIS"><pre>typedef enum _<strong>ib_api_status_t</strong>\r
87 {\r
88         IB_SUCCESS,\r
89         IB_INSUFFICIENT_RESOURCES,\r
90         IB_INSUFFICIENT_MEMORY,\r
91         IB_INVALID_PARAMETER,\r
92         IB_INVALID_SETTING,\r
93         IB_NOT_FOUND,\r
94         IB_TIMEOUT,\r
95         IB_CANCELED,\r
96         IB_INTERRUPTED,\r
97         IB_INVALID_PERMISSION,\r
98         IB_UNSUPPORTED,\r
99         IB_OVERFLOW,\r
100         IB_MAX_MCAST_QPS_REACHED,\r
101         IB_INVALID_QP_STATE,\r
102         IB_INVALID_APM_STATE,\r
103         IB_INVALID_PORT_STATE,\r
104         IB_INVALID_STATE,\r
105         IB_RESOURCE_BUSY,\r
106         IB_INVALID_PKEY,\r
107         IB_INVALID_LKEY,\r
108         IB_INVALID_RKEY,\r
109         IB_INVALID_MAX_WRS,\r
110         IB_INVALID_MAX_SGE,\r
111         IB_INVALID_CQ_SIZE,\r
112         IB_INVALID_SRQ_SIZE,\r
113         IB_INVALID_SERVICE_TYPE,\r
114         IB_INVALID_GID,\r
115         IB_INVALID_LID,\r
116         IB_INVALID_GUID,\r
117         IB_INVALID_CA_HANDLE,\r
118         IB_INVALID_AV_HANDLE,\r
119         IB_INVALID_CQ_HANDLE,\r
120         IB_INVALID_QP_HANDLE,\r
121         IB_INVALID_SRQ_HANDLE,\r
122         IB_INVALID_PD_HANDLE,\r
123         IB_INVALID_MR_HANDLE,\r
124         IB_INVALID_FMR_HANDLE,\r
125         IB_INVALID_MW_HANDLE,\r
126         IB_INVALID_MCAST_HANDLE,\r
127         IB_INVALID_CALLBACK,\r
128         IB_INVALID_AL_HANDLE,                                   /* InfiniBand Access Layer */\r
129         IB_INVALID_HANDLE,                                              /* InfiniBand Access Layer */\r
130         IB_ERROR,                                                               /* InfiniBand Access Layer */\r
131         IB_REMOTE_ERROR,                                                /* Infiniband Access Layer */\r
132         IB_VERBS_PROCESSING_DONE,                               /* See Notes above                 */\r
133         IB_INVALID_WR_TYPE,\r
134         IB_QP_IN_TIMEWAIT,\r
135         IB_EE_IN_TIMEWAIT,\r
136         IB_INVALID_PORT,\r
137         IB_NOT_DONE,\r
138         IB_INVALID_INDEX,\r
139         IB_NO_MATCH,\r
140         IB_PENDING,\r
141         IB_UNKNOWN_ERROR                                                /* ALWAYS LAST ENUM VALUE! */\r
142 \r
143 }       <strong>ib_api_status_t</strong>;\r
144 </pre>\r
145 </span>\r
146 <hr />\r
147 \r
148 <h2><a name="robo42">[Definitions]<a name="Access20Layer2fib5fapm5fstate5ft">\r
149 Access Layer/ib_apm_state_t</a></h2>\r
150 \r
151 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
152 <p><strong>NAME</strong></p>\r
153 <span class="NAME"><pre>       <strong>ib_apm_state_t</strong>\r
154 </pre>\r
155 </span><p><strong>DESCRIPTION</strong></p>\r
156 <span class="DESCRIPTION"><pre>       The current automatic path migration state of a queue pair\r
157 </pre>\r
158 </span><p><strong>SYNOPSIS</strong></p>\r
159 <span class="SYNOPSIS"><pre>typedef enum _ib_apm_state\r
160 {\r
161         IB_APM_MIGRATED = 1,\r
162         IB_APM_REARM,\r
163         IB_APM_ARMED\r
164 \r
165 }       <strong>ib_apm_state_t</strong>;\r
166 </pre>\r
167 </span>\r
168 <hr />\r
169 \r
170 <h2><a name="robo45">[Definitions]<a name="Access20Layer2fib5fapr5fstatus5ft">\r
171 Access Layer/ib_apr_status_t</a></h2>\r
172 \r
173 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
174 <p><strong>NAME</strong></p>\r
175 <span class="NAME"><pre>       <strong>ib_apr_status_t</strong>\r
176 </pre>\r
177 </span><p><strong>DESCRIPTION</strong></p>\r
178 <span class="DESCRIPTION"><pre>       Automatic path migration status information.\r
179 </pre>\r
180 </span><p><strong>SYNOPSIS</strong></p>\r
181 <span class="SYNOPSIS"><pre>typedef uint8_t                                                         <strong>ib_apr_status_t</strong>;\r
182 </pre>\r
183 </span><p><strong>SEE ALSO</strong></p>\r
184 <span class="SEE_ALSO"><pre>       <a href="./ib_al_h.html#robo61">ib_cm_apr</a>, <a href="./ib_al_h.html#robo62">ib_cm_apr_rec_t</a>\r
185 </pre>\r
186 </span><p><strong>SOURCE</strong></p>\r
187 <span class="SOURCE"><pre>#define IB_AP_SUCCESS                                           0\r
188 #define IB_AP_INVALID_COMM_ID                           1\r
189 #define IB_AP_UNSUPPORTED                                       2\r
190 #define IB_AP_REJECT                                            3\r
191 #define IB_AP_REDIRECT                                          4\r
192 #define IB_AP_IS_CURRENT                                        5\r
193 #define IB_AP_INVALID_QPN                                       6\r
194 #define IB_AP_INVALID_LID                                       7\r
195 #define IB_AP_INVALID_GID                                       8\r
196 #define IB_AP_INVALID_FLOW_LBL                          9\r
197 #define IB_AP_INVALID_TCLASS                            10\r
198 #define IB_AP_INVALID_HOP_LIMIT                         11\r
199 #define IB_AP_INVALID_PKT_RATE                          12\r
200 #define IB_AP_INVALID_SL                                        13\r
201 </pre>\r
202 </span>\r
203 <hr />\r
204 \r
205 <h2><a name="robo48">[Definitions]<a name="Access20Layer2fib5fatomic5ft">\r
206 Access Layer/ib_atomic_t</a></h2>\r
207 \r
208 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
209 <p><strong>NAME</strong></p>\r
210 <span class="NAME"><pre>       <strong>ib_atomic_t</strong>\r
211 </pre>\r
212 </span><p><strong>DESCRIPTION</strong></p>\r
213 <span class="DESCRIPTION"><pre>       Indicates atomicity levels supported by an adapter.\r
214 </pre>\r
215 </span><p><strong>SYNOPSIS</strong></p>\r
216 <span class="SYNOPSIS"><pre>typedef enum _<strong>ib_atomic_t</strong>\r
217 {\r
218         IB_ATOMIC_NONE,\r
219         IB_ATOMIC_LOCAL,\r
220         IB_ATOMIC_GLOBAL\r
221 \r
222 }       <strong>ib_atomic_t</strong>;\r
223 </pre>\r
224 </span><p><strong>VALUES</strong></p>\r
225 <span class="VALUES"><pre>       IB_ATOMIC_NONE\r
226                Atomic operations not supported.\r
227 \r
228        IB_ATOMIC_LOCAL\r
229                Atomic operations guaranteed between QPs of a single CA.\r
230 \r
231        IB_ATOMIC_GLOBAL\r
232                Atomic operations are guaranteed between CA and any other entity\r
233                in the system.\r
234 </pre>\r
235 </span>\r
236 <hr />\r
237 \r
238 <h2><a name="robo49">[Structures]<a name="Access20Layer2fib5fav5fattr5ft">\r
239 Access Layer/ib_av_attr_t</a></h2>\r
240 \r
241 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
242 <p><strong>NAME</strong></p>\r
243 <span class="NAME"><pre>       <strong>ib_av_attr_t</strong>\r
244 </pre>\r
245 </span><p><strong>DESCRIPTION</strong></p>\r
246 <span class="DESCRIPTION"><pre>       IBA address vector.\r
247 </pre>\r
248 </span><p><strong>SYNOPSIS</strong></p>\r
249 <span class="SYNOPSIS"><pre>typedef _ib_av_attr\r
250 {\r
251         uint8_t                                 port_num;\r
252 \r
253         uint8_t                                 sl;\r
254         <a href="#robo884">ib_net16_t</a>                              dlid;\r
255 \r
256         boolean_t                               grh_valid;\r
257         <a href="#robo850">ib_grh_t</a>                                grh;\r
258         uint8_t                                 static_rate;\r
259         uint8_t                                 path_bits;\r
260 \r
261         struct _av_conn\r
262         {\r
263                 uint8_t                         path_mtu;\r
264                 uint8_t                         local_ack_timeout;\r
265                 uint8_t                         seq_err_retry_cnt;\r
266                 uint8_t                         rnr_retry_cnt;\r
267 \r
268         }       conn;\r
269 \r
270 }       <strong>ib_av_attr_t</strong>;\r
271 </pre>\r
272 </span><p><strong>SEE ALSO</strong></p>\r
273 <span class="SEE_ALSO"><pre>       <a href="#robo846">ib_gid_t</a>\r
274 </pre>\r
275 </span>\r
276 <hr />\r
277 \r
278 <h2><a name="robo51">[Structures]<a name="Access20Layer2fib5fbind5fwr5ft">\r
279 Access Layer/ib_bind_wr_t</a></h2>\r
280 \r
281 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
282 <p><strong>NAME</strong></p>\r
283 <span class="NAME"><pre>       <strong>ib_bind_wr_t</strong>\r
284 </pre>\r
285 </span><p><strong>DESCRIPTION</strong></p>\r
286 <span class="DESCRIPTION"><pre>       Information used to submit a memory window bind work request to the send\r
287        queue of a queue pair.\r
288 </pre>\r
289 </span><p><strong>SYNOPSIS</strong></p>\r
290 <span class="SYNOPSIS"><pre>typedef struct _ib_bind_wr\r
291 {\r
292         uint64_t                                wr_id;\r
293         <a href="#robo245">ib_send_opt_t</a>                   send_opt;\r
294 \r
295         ib_mr_handle_t __ptr64                  h_mr;\r
296         <a href="#robo37">ib_access_t</a>                             access_ctrl;\r
297         net32_t                                 current_rkey;\r
298 \r
299         <a href="#robo142">ib_local_ds_t</a>                   local_ds;\r
300 \r
301 }       <strong>ib_bind_wr_t</strong>;\r
302 </pre>\r
303 </span><p><strong>FIELDS</strong></p>\r
304 <span class="FIELDS"><pre>       wr_id\r
305                A 64-bit work request identifier that is returned to the consumer\r
306                as part of the work completion.\r
307 \r
308        send_opt\r
309                Optional send control parameters.\r
310 \r
311        h_mr\r
312                Handle to the memory region to which this window is being bound.\r
313 \r
314        access_ctrl\r
315                Access rights for this memory window.\r
316 \r
317        current_rkey\r
318                The current rkey assigned to this window for remote access.\r
319 \r
320        local_ds\r
321                A reference to a local data segment used by the bind operation.\r
322 </pre>\r
323 </span><p><strong>SEE ALSO</strong></p>\r
324 <span class="SEE_ALSO"><pre>       <a href="#robo245">ib_send_opt_t</a>, <a href="#robo37">ib_access_t</a>, <a href="#robo142">ib_local_ds_t</a>\r
325 </pre>\r
326 </span>\r
327 <hr />\r
328 \r
329 <h2><a name="robo52">[Structures]<a name="Access20Layer2fib5fca5fattr5ft">\r
330 Access Layer/ib_ca_attr_t</a></h2>\r
331 \r
332 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
333 <p><strong>NAME</strong></p>\r
334 <span class="NAME"><pre>       <strong>ib_ca_attr_t</strong>\r
335 </pre>\r
336 </span><p><strong>DESCRIPTION</strong></p>\r
337 <span class="DESCRIPTION"><pre>       Information about a channel adapter.\r
338 </pre>\r
339 </span><p><strong>SYNOPSIS</strong></p>\r
340 <span class="SYNOPSIS"><pre>typedef struct _ib_ca_attr\r
341 {\r
342         <a href="#robo886">ib_net64_t</a>                              ca_guid;\r
343 \r
344         uint32_t                                vend_id;\r
345         uint16_t                                dev_id;\r
346         uint16_t                                revision;\r
347         uint64_t                                fw_ver;\r
348 \r
349         /*\r
350          * Total size of the ca attributes in bytes\r
351          */\r
352         uint32_t                                size;\r
353         uint32_t                                max_qps;\r
354         uint32_t                                max_wrs;\r
355 \r
356         uint32_t                                max_sges;\r
357         uint32_t                                max_rd_sges;\r
358 \r
359         uint32_t                                max_cqs;\r
360         uint32_t                                max_cqes;\r
361 \r
362         uint32_t                                max_pds;\r
363 \r
364         uint32_t                                init_regions;\r
365         uint64_t                                init_region_size;\r
366 \r
367         uint32_t                                init_windows;\r
368         uint32_t                                max_addr_handles;\r
369 \r
370         uint32_t                                max_partitions;\r
371 \r
372         <a href="#robo48">ib_atomic_t</a>                             atomicity;\r
373 \r
374         uint8_t                                 max_qp_resp_res;\r
375         uint8_t                                 max_resp_res;\r
376 \r
377         uint8_t                                 max_qp_init_depth;\r
378 \r
379         uint32_t                                max_ipv6_qps;\r
380         uint32_t                                max_ether_qps;\r
381 \r
382         uint32_t                                max_mcast_grps;\r
383         uint32_t                                max_mcast_qps;\r
384         uint32_t                                max_qps_per_mcast_grp;\r
385         uint32_t                                max_fmr;\r
386         uint32_t                                max_map_per_fmr;\r
387         uint32_t                                max_srq;\r
388         uint32_t                                max_srq_wrs;\r
389         uint32_t                                max_srq_sges;\r
390 \r
391         /*\r
392          * local_ack_delay:\r
393          * Specifies the maximum time interval between the local CA receiving\r
394          * a message and the transmission of the associated ACK or NAK.\r
395          *\r
396          * timeout = 4.096 microseconds * 2^local_ack_delay\r
397          */\r
398         uint8_t                                 local_ack_delay;\r
399 \r
400         boolean_t                               bad_pkey_ctr_support;\r
401         boolean_t                               bad_qkey_ctr_support;\r
402         boolean_t                               raw_mcast_support;\r
403         boolean_t                               apm_support;\r
404         boolean_t                               av_port_check;\r
405         boolean_t                               change_primary_port;\r
406         boolean_t                               modify_wr_depth;\r
407         boolean_t                               modify_srq_depth;\r
408         boolean_t                               current_qp_state_support;\r
409         boolean_t                               shutdown_port_capability;\r
410         boolean_t                               init_type_support;\r
411         boolean_t                               port_active_event_support;\r
412         boolean_t                               system_image_guid_support;\r
413         boolean_t                               hw_agents;\r
414 \r
415         <a href="#robo886">ib_net64_t</a>                              system_image_guid;\r
416 \r
417         uint32_t                                num_page_sizes;\r
418         uint8_t                                 num_ports;\r
419 \r
420  TO_LONG_PTR(       uint32_t* ,               p_page_size) ; \r
421  TO_LONG_PTR(       <a href="#robo195">ib_port_attr_t</a>* , p_port_attr) ; \r
422 \r
423 }       <strong>ib_ca_attr_t</strong>;\r
424 </pre>\r
425 </span><p><strong>FIELDS</strong></p>\r
426 <span class="FIELDS"><pre>       ca_guid\r
427                GUID for this adapter.\r
428 \r
429        vend_id\r
430                IEEE vendor ID for this adapter\r
431 \r
432        dev_id\r
433                Device ID of this adapter. (typically from PCI device ID)\r
434 \r
435        revision\r
436                Revision ID of this adapter\r
437 \r
438        fw_ver\r
439                Device Firmware version.\r
440 \r
441        size\r
442                Total size in bytes for the HCA attributes.  This size includes total\r
443                size required for all the variable members of the structure.  If a\r
444                vendor requires to pass vendor specific fields beyond this structure,\r
445                the HCA vendor can choose to report a larger size.  If a vendor is\r
446                reporting extended vendor specific features, they should also provide\r
447                appropriate access functions to aid with the required interpretation.\r
448 \r
449        max_qps\r
450                Maximum number of QP's supported by this HCA.\r
451 \r
452        max_wrs\r
453                Maximum number of work requests supported by this HCA.\r
454 \r
455        max_sges\r
456                Maximum number of scatter gather elements supported per work request.\r
457 \r
458        max_rd_sges\r
459                Maximum number of scatter gather elements supported for READ work\r
460                requests for a Reliable Datagram QP.  This value must be zero if RD\r
461                service is not supported.\r
462 \r
463        max_cqs\r
464                Maximum number of Completion Queues supported.\r
465 \r
466        max_cqes\r
467                Maximum number of CQ elements supported per CQ.\r
468 \r
469        max_pds\r
470                Maximum number of protection domains supported.\r
471 \r
472        init_regions\r
473                Initial number of memory regions supported.  These are only informative\r
474                values.  HCA vendors can extended and grow these limits on demand.\r
475 \r
476        init_region_size\r
477                Initial limit on the size of the registered memory region.\r
478 \r
479        init_windows\r
480                Initial number of window entries supported.\r
481 \r
482        max_addr_handles\r
483                Maximum number of address handles supported.\r
484 \r
485        max_partitions\r
486                Maximum number of partitions supported.\r
487 \r
488        atomicity\r
489                Indicates level of atomic operations supported by this HCA.\r
490 \r
491        max_qp_resp_res\r
492                Maximum limit on number of responder resources for incomming RDMA\r
493                operations on QPs.\r
494 \r
495        max_fmr\r
496                Maximum number of Fast Memory Regions supported.\r
497 \r
498        max_map_per_fmr\r
499                Maximum number of mappings, supported by a Fast Memory Region.\r
500 \r
501        max_srq\r
502                Maximum number of Shared Receive Queues supported.\r
503 \r
504        max_srq_wrs\r
505                Maximum number of work requests supported by this SRQ.\r
506 \r
507        max_srq_sges\r
508                Maximum number of scatter gather elements supported per work request on SRQ.\r
509 \r
510        max_resp_res\r
511                Maximum number of responder resources per HCA, with this HCA used as\r
512                the target.\r
513 \r
514        max_qp_init_depth\r
515                Maximimum initiator depth per QP for initiating RDMA reads and\r
516                atomic operations.\r
517 \r
518        max_ipv6_qps\r
519        max_ether_qps\r
520                Maximum number of IPV6 and raw ether QP's supported by this HCA.\r
521 \r
522        max_mcast_grps\r
523                Maximum number of multicast groups supported.\r
524 \r
525        max_mcast_qps\r
526                Maximum number of QP's that can support multicast operations.\r
527 \r
528        max_qps_per_mcast_grp\r
529                Maximum number of multicast QP's per multicast group.\r
530 \r
531        local_ack_delay\r
532                Specifies the maximum time interval between the local CA receiving\r
533                a message and the transmission of the associated ACK or NAK.\r
534                timeout = 4.096 microseconds * 2^local_ack_delay\r
535 \r
536        bad_pkey_ctr_support\r
537        bad_qkey_ctr_support\r
538                Indicates support for the bad pkey and qkey counters.\r
539 \r
540        raw_mcast_support\r
541                Indicates support for raw packet multicast.\r
542 \r
543        apm_support\r
544                Indicates support for Automatic Path Migration.\r
545 \r
546        av_port_check\r
547                Indicates ability to check port number in address handles.\r
548 \r
549        change_primary_port\r
550                Indicates ability to change primary port for a QP during a\r
551                SQD-&gt;RTS transition.\r
552 \r
553        modify_wr_depth\r
554                Indicates ability to modify QP depth during a modify QP operation.\r
555                Check the verb specification for permitted states.\r
556 \r
557        modify_srq_depth\r
558                Indicates ability to modify SRQ depth during a modify SRQ operation.\r
559                Check the verb specification for permitted states.\r
560 \r
561        current_qp_state_support\r
562                Indicates ability of the HCA to support the current QP state modifier\r
563                during a modify QP operation.\r
564 \r
565        shutdown_port_capability\r
566                Shutdown port capability support indicator.\r
567 \r
568        init_type_support\r
569                Indicates init_type_reply and ability to set init_type is supported.\r
570 \r
571        port_active_event_support\r
572                Port active event support indicator.\r
573 \r
574        system_image_guid_support\r
575                System image GUID support indicator.\r
576 \r
577        hw_agents\r
578                Indicates SMA is implemented in HW.\r
579 \r
580        system_image_guid\r
581                Optional system image GUID.  This field is valid only if the\r
582                system_image_guid_support flag is set.\r
583 \r
584        num_page_sizes\r
585                Indicates support for different page sizes supported by the HCA.\r
586                The variable size array can be obtained from p_page_size.\r
587 \r
588        num_ports\r
589                Number of physical ports supported on this HCA.\r
590 \r
591        p_page_size\r
592                Array holding different page size supported.\r
593 \r
594        p_port_attr\r
595                Array holding port attributes.\r
596 </pre>\r
597 </span><p><strong>NOTES</strong></p>\r
598 <span class="NOTES"><pre>       This structure contains the attributes of a channel adapter.  Users must\r
599        call <a href="#robo94">ib_copy_ca_attr</a> to copy the contents of this structure to a new\r
600        memory region.\r
601 </pre>\r
602 </span><p><strong>SEE ALSO</strong></p>\r
603 <span class="SEE_ALSO"><pre>       <a href="#robo195">ib_port_attr_t</a>, <a href="#robo48">ib_atomic_t</a>, <a href="#robo94">ib_copy_ca_attr</a>\r
604 </pre>\r
605 </span>\r
606 <hr />\r
607 \r
608 <h2><a name="robo53">[Definitions]<a name="Access20Layer2fib5fca5fmod5ft">\r
609 Access Layer/ib_ca_mod_t</a></h2>\r
610 \r
611 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
612 <p><strong>NAME</strong></p>\r
613 <span class="NAME"><pre>       <strong>ib_ca_mod_t</strong> -- Modify port attributes and error counters\r
614 </pre>\r
615 </span><p><strong>DESCRIPTION</strong></p>\r
616 <span class="DESCRIPTION"><pre>       Specifies modifications to the port attributes of a channel adapter.\r
617 </pre>\r
618 </span><p><strong>SYNOPSIS</strong></p>\r
619 <span class="SYNOPSIS"><pre>typedef uint32_t                                                        <strong>ib_ca_mod_t</strong>;\r
620 #define IB_CA_MOD_IS_CM_SUPPORTED                       0x00000001\r
621 #define IB_CA_MOD_IS_SNMP_SUPPORTED                     0x00000002\r
622 #define IB_CA_MOD_IS_DEV_MGMT_SUPPORTED         0x00000004\r
623 #define IB_CA_MOD_IS_VEND_SUPPORTED                     0x00000008\r
624 #define IB_CA_MOD_IS_SM                                         0x00000010\r
625 #define IB_CA_MOD_IS_SM_DISABLED                        0x00000020\r
626 #define IB_CA_MOD_QKEY_CTR                                      0x00000040\r
627 #define IB_CA_MOD_PKEY_CTR                                      0x00000080\r
628 #define IB_CA_MOD_IS_NOTICE_SUPPORTED           0x00000100\r
629 #define IB_CA_MOD_IS_TRAP_SUPPORTED                     0x00000200\r
630 #define IB_CA_MOD_IS_APM_SUPPORTED                      0x00000400\r
631 #define IB_CA_MOD_IS_SLMAP_SUPPORTED            0x00000800\r
632 #define IB_CA_MOD_IS_PKEY_NVRAM_SUPPORTED       0x00001000\r
633 #define IB_CA_MOD_IS_MKEY_NVRAM_SUPPORTED       0x00002000\r
634 #define IB_CA_MOD_IS_SYSGUID_SUPPORTED          0x00004000\r
635 #define IB_CA_MOD_IS_DR_NOTICE_SUPPORTED        0x00008000\r
636 #define IB_CA_MOD_IS_BOOT_MGMT_SUPPORTED        0x00010000\r
637 #define IB_CA_MOD_IS_CAPM_NOTICE_SUPPORTED      0x00020000\r
638 #define IB_CA_MOD_IS_REINIT_SUPORTED            0x00040000\r
639 #define IB_CA_MOD_IS_LEDINFO_SUPPORTED          0x00080000\r
640 #define IB_CA_MOD_SHUTDOWN_PORT                         0x00100000\r
641 #define IB_CA_MOD_INIT_TYPE_VALUE                       0x00200000\r
642 #define IB_CA_MOD_SYSTEM_IMAGE_GUID                     0x00400000\r
643 #define IB_CA_MOD_IS_CLIENT_REREGISTER_SUPPORTED        0x00800000\r
644 #define IB_CA_MOD_RESERVED_MASK                         0xFF000000\r
645 </pre>\r
646 </span><p><strong>VALUES</strong></p>\r
647 <span class="VALUES"><pre>       IB_CA_MOD_IS_CM_SUPPORTED\r
648                Indicates if there is a communication manager accessible through\r
649                the port.\r
650 \r
651        IB_CA_MOD_IS_SNMP_SUPPORTED\r
652                Indicates if there is an SNMP agent accessible through the port.\r
653 \r
654        IB_CA_MOD_IS_DEV_MGMT_SUPPORTED\r
655                Indicates if there is a device management agent accessible through\r
656                the port.\r
657 \r
658        IB_CA_MOD_IS_VEND_SUPPORTED\r
659                Indicates if there is a vendor supported agent accessible through\r
660                the port.\r
661 \r
662        IB_CA_MOD_IS_SM\r
663                Indicates if there is a subnet manager accessible through\r
664                the port.\r
665 \r
666        IB_CA_MOD_IS_SM_DISABLED\r
667                Indicates if the port has been disabled for configuration by the subnet\r
668                manager.\r
669 \r
670        IB_CA_MOD_QKEY_CTR\r
671                Used to reset the qkey violation counter associated with the port.\r
672 \r
673        IB_CA_MOD_PKEY_CTR\r
674                Used to reset the pkey violation counter associated with the port.\r
675 \r
676        IB_CA_MOD_IS_NOTICE_SUPPORTED\r
677                Indicates that this CA supports ability to generate Notices for\r
678                Port State changes. (only applicable to switches)\r
679 \r
680        IB_CA_MOD_IS_TRAP_SUPPORTED\r
681                Indicates that this management port supports ability to generate\r
682                trap messages. (only applicable to switches)\r
683 \r
684        IB_CA_MOD_IS_APM_SUPPORTED\r
685                Indicates that this port is capable of performing Automatic Migration.\r
686 \r
687        IB_CA_MOD_IS_SLMAP_SUPPORTED\r
688                Indicates this port supports SLMAP capability.\r
689 \r
690        IB_CA_MOD_IS_PKEY_NVRAM_SUPPORTED\r
691                Indicates that PKEY is supported in NVRAM\r
692 \r
693        IB_CA_MOD_IS_MKEY_NVRAM_SUPPORTED\r
694                Indicates that MKEY is supported in NVRAM\r
695 \r
696        IB_CA_MOD_IS_SYSGUID_SUPPORTED\r
697                Indicates System Image GUID support.\r
698 \r
699        IB_CA_MOD_IS_DR_NOTICE_SUPPORTED\r
700                Indicate support for generating Direct Routed Notices\r
701 \r
702        IB_CA_MOD_IS_BOOT_MGMT_SUPPORTED\r
703                Indicates support for Boot Management\r
704 \r
705        IB_CA_MOD_IS_CAPM_NOTICE_SUPPORTED\r
706                Indicates capability to generate notices for changes to CAPMASK\r
707 \r
708        IB_CA_MOD_IS_REINIT_SUPORTED\r
709                Indicates type of node init supported. Refer to Chapter 14 for\r
710                Initialization actions.\r
711 \r
712        IB_CA_MOD_IS_LEDINFO_SUPPORTED\r
713                Indicates support for LED info.\r
714 \r
715        IB_CA_MOD_SHUTDOWN_PORT\r
716                Used to modify the port active indicator.\r
717 \r
718        IB_CA_MOD_INIT_TYPE_VALUE\r
719                Used to modify the init_type value for the port.\r
720 \r
721        IB_CA_MOD_SYSTEM_IMAGE_GUID\r
722                Used to modify the system image GUID for the port.\r
723 \r
724        IB_CA_MOD_IS_CLIENT_REREGISTER_SUPPORTED\r
725                Used to modify the system image GUID for the port.\r
726 \r
727        IB_CA_MOD_RESERVED_MASK\r
728                Mask of all the reserved bits.  If any of these bits are set\r
729                <a href="./ib_al_h.html#robo150">ib_modify_ca</a> will return IB_INVALID_PARAMETER.\r
730 </pre>\r
731 </span>\r
732 <hr />\r
733 \r
734 <h2><a name="robo58">[Structures]<a name="Access20Layer2fib5fci5fop5ft">\r
735 Access Layer/ib_ci_op_t</a></h2>\r
736 \r
737 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
738 <p><strong>NAME</strong></p>\r
739 <span class="NAME"><pre>       <strong>ib_ci_op_t</strong>\r
740 </pre>\r
741 </span><p><strong>DESCRIPTION</strong></p>\r
742 <span class="DESCRIPTION"><pre>       A structure used for vendor specific CA interface communication.\r
743 </pre>\r
744 </span><p><strong>SYNOPSIS</strong></p>\r
745 <span class="SYNOPSIS"><pre>typedef struct _ib_ci_op\r
746 {\r
747         IN                              uint32_t                                        command;\r
748         IN                              uint32_t                                        buf_size;\r
749         IN                              uint32_t                                        buf_info;\r
750         IN      OUT                     int32_t                                         status;\r
751                 OUT                     uint32_t                                        num_bytes_ret;\r
752         IN      OUT                     void* FUNC_PTR64                           p_buf OPTIONAL;\r
753 \r
754 }       <strong>ib_ci_op_t</strong>;\r
755 </pre>\r
756 </span><p><strong>FIELDS</strong></p>\r
757 <span class="FIELDS"><pre>       command\r
758                A command code that is understood by the verbs provider.\r
759 \r
760        status\r
761                The completion status from the verbs provider.  This field should be\r
762                initialize to indicate an error to allow detection and cleanup in\r
763                case a communication error occurs between user-mode and kernel-mode.\r
764 \r
765        buf_size\r
766                The size of the buffer in bytes.\r
767 \r
768        buf_info\r
769                Additional buffer information\r
770 \r
771        p_buf\r
772                A reference to a buffer containing vendor specific data.  The verbs\r
773                provider must not access pointers in the p_buf between user-mode and\r
774                kernel-mode.  Any pointers embedded in the p_buf are invalidated by\r
775                the user-mode/kernel-mode transition.\r
776 \r
777        num_bytes_ret\r
778                The size in bytes of the vendor specific data returned in the buffer.\r
779                This field is set by the verbs provider.  The verbs provider should\r
780                verify that the buffer size is sufficient to hold the data being\r
781                returned.\r
782 </pre>\r
783 </span><p><strong>NOTES</strong></p>\r
784 <span class="NOTES"><pre>       This structure is provided to allow the exchange of vendor specific\r
785        data between the originator and the verbs provider.  Users of this\r
786        structure are expected to know the format of data in the p_buf based\r
787        on the structure command field or the usage context.\r
788 </pre>\r
789 </span>\r
790 <hr />\r
791 \r
792 <h2><a name="robo65">[Definitions]<a name="Access20Layer2fib5fcm5fcap5fmask5ft">\r
793 Access Layer/ib_cm_cap_mask_t</a></h2>\r
794 \r
795 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
796 <p><strong>NAME</strong></p>\r
797 <span class="NAME"><pre>       <strong>ib_cm_cap_mask_t</strong>\r
798 </pre>\r
799 </span><p><strong>DESCRIPTION</strong></p>\r
800 <span class="DESCRIPTION"><pre>       Capability mask values in ClassPortInfo.\r
801 </pre>\r
802 </span><p><strong>SYNOPSIS</strong></p>\r
803 <span class="SYNOPSIS"><pre>#define IB_CM_RELIABLE_CONN_CAPABLE                     <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(9)\r
804 #define IB_CM_RELIABLE_DGRM_CAPABLE                     <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(10)\r
805 #define IB_CM_RDGRM_CAPABLE                                     <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(11)\r
806 #define IB_CM_UNRELIABLE_CONN_CAPABLE           <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(12)\r
807 #define IB_CM_SIDR_CAPABLE                                      <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(13)\r
808 </pre>\r
809 </span><p><strong>SEE ALSO</strong></p>\r
810 <span class="SEE_ALSO"><pre>       <a href="./ib_al_h.html#robo85">ib_cm_rep</a>, <a href="#robo828">ib_class_port_info_t</a>\r
811 </pre>\r
812 </span><p><strong>SOURCE</strong></p>\r
813 <span class="SOURCE"><pre>*\r
814 </pre>\r
815 </span>\r
816 <hr />\r
817 \r
818 <h2><a name="robo94">[Functions]<a name="Access20layer2fib5fcopy5fca5fattr">\r
819 Access layer/ib_copy_ca_attr</a></h2>\r
820 \r
821 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_functions.html#top">index</a>]</p>\r
822 <p><strong>NAME</strong></p>\r
823 <span class="NAME"><pre>       <strong>ib_copy_ca_attr</strong>\r
824 </pre>\r
825 </span><p><strong>DESCRIPTION</strong></p>\r
826 <span class="DESCRIPTION"><pre>       Copies CA attributes.\r
827 </pre>\r
828 </span><p><strong>SYNOPSIS</strong></p>\r
829 <span class="SYNOPSIS"><pre>AL_EXPORT <a href="#robo52">ib_ca_attr_t</a>* AL_API\r
830 <strong>ib_copy_ca_attr</strong>(\r
831         IN                              <a href="#robo52">ib_ca_attr_t</a>* const             p_dest,\r
832         IN              const   <a href="#robo52">ib_ca_attr_t</a>* const             p_src );\r
833 </pre>\r
834 </span><p><strong>PARAMETERS</strong></p>\r
835 <span class="PARAMETERS"><pre>       p_dest\r
836                Pointer to the buffer that is the destination of the copy.\r
837 \r
838        p_src\r
839                Pointer to the CA attributes to copy.\r
840 </pre>\r
841 </span><p><strong>RETURN VALUE</strong></p>\r
842 <span class="RETURN_VALUE"><pre>       Pointer to the copied CA attributes.\r
843 </pre>\r
844 </span><p><strong>NOTES</strong></p>\r
845 <span class="NOTES"><pre>       The buffer pointed to by the p_dest parameter must be at least the size\r
846        specified in the size field of the buffer pointed to by p_src.\r
847 </pre>\r
848 </span><p><strong>SEE ALSO</strong></p>\r
849 <span class="SEE_ALSO"><pre>       <a href="#robo52">ib_ca_attr_t</a>, ib_dup_ca_attr, ib_free_ca_attr\r
850 </pre>\r
851 </span>\r
852 <hr />\r
853 \r
854 <h2><a name="robo135">[Definitions]<a name="Access20Layer2fib5finit5ftype5ft">\r
855 Access Layer/ib_init_type_t</a></h2>\r
856 \r
857 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
858 <p><strong>NAME</strong></p>\r
859 <span class="NAME"><pre>       <strong>ib_init_type_t</strong>\r
860 </pre>\r
861 </span><p><strong>DESCRIPTION</strong></p>\r
862 <span class="DESCRIPTION"><pre>       If supported by the HCA, the type of initialization requested by\r
863        this port before SM moves it to the active or armed state.  If the\r
864        SM implements reinitialization, it shall set these bits to indicate\r
865        the type of initialization performed prior to activating the port.\r
866        Otherwise, these bits shall be set to 0.\r
867 </pre>\r
868 </span><p><strong>SYNOPSIS</strong></p>\r
869 <span class="SYNOPSIS"><pre>typedef uint8_t                                 <strong>ib_init_type_t</strong>;\r
870 #define IB_INIT_TYPE_NO_LOAD                            0x01\r
871 #define IB_INIT_TYPE_PRESERVE_CONTENT           0x02\r
872 #define IB_INIT_TYPE_PRESERVE_PRESENCE          0x04\r
873 #define IB_INIT_TYPE_DO_NOT_RESUSCITATE         0x08\r
874 </pre>\r
875 </span>\r
876 <hr />\r
877 \r
878 <h2><a name="robo142">[Structures]<a name="Access20Layer2fib5flocal5fds5ft">\r
879 Access Layer/ib_local_ds_t</a></h2>\r
880 \r
881 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
882 <p><strong>NAME</strong></p>\r
883 <span class="NAME"><pre>       <strong>ib_local_ds_t</strong>\r
884 </pre>\r
885 </span><p><strong>DESCRIPTION</strong></p>\r
886 <span class="DESCRIPTION"><pre>       Local data segment information referenced by send and receive work\r
887        requests.  This is used to specify local data buffers used as part of a\r
888        work request.\r
889 </pre>\r
890 </span><p><strong>SYNOPSIS</strong></p>\r
891 <span class="SYNOPSIS"><pre>typedef struct _ib_local_ds\r
892 {\r
893         uint64_t                                vaddr;\r
894         uint32_t                                length;\r
895         uint32_t                                lkey;\r
896 \r
897 }       <strong>ib_local_ds_t</strong>;\r
898 </pre>\r
899 </span>\r
900 <hr />\r
901 \r
902 <h2><a name="robo154">[Structures]<a name="Access20Layer2fib5fmr5fattr5ft">\r
903 Access Layer/ib_mr_attr_t</a></h2>\r
904 \r
905 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
906 <p><strong>NAME</strong></p>\r
907 <span class="NAME"><pre>       <strong>ib_mr_attr_t</strong>\r
908 </pre>\r
909 </span><p><strong>DESCRIPTION</strong></p>\r
910 <span class="DESCRIPTION"><pre>       Attributes of a registered memory region.\r
911 </pre>\r
912 </span><p><strong>SYNOPSIS</strong></p>\r
913 <span class="SYNOPSIS"><pre>typedef struct _ib_mr_attr\r
914 {\r
915         ib_pd_handle_t __ptr64                  h_pd;\r
916         uint64_t                                local_lb;\r
917         uint64_t                                local_ub;\r
918         uint64_t                                remote_lb;\r
919         uint64_t                                remote_ub;\r
920         <a href="#robo37">ib_access_t</a>                             access_ctrl;\r
921         net32_t                                 lkey;\r
922         net32_t                                 rkey;\r
923 \r
924 }       <strong>ib_mr_attr_t</strong>;\r
925 </pre>\r
926 </span><p><strong>DESCRIPTION</strong></p>\r
927 <span class="DESCRIPTION"><pre>       h_pd\r
928                Handle to the protection domain for this memory region.\r
929 \r
930        local_lb\r
931                The virtual address of the lower bound of protection for local\r
932                memory access.  This is always a 64-bit quantity to support registering\r
933                more than 4GB of memory on 32-bit systems with PAE.\r
934 \r
935        local_ub\r
936                The virtual address of the upper bound of protection for local\r
937                memory access.  This is always a 64-bit quantity to support registering\r
938                more than 4GB of memory on 32-bit systems with PAE.\r
939 \r
940        remote_lb\r
941                The virtual address of the lower bound of protection for remote\r
942                memory access.  This is always a 64-bit quantity to support registering\r
943                more than 4GB of memory on 32-bit systems with PAE.\r
944 \r
945        remote_ub\r
946                The virtual address of the upper bound of protection for remote\r
947                memory access.  This is always a 64-bit quantity to support registering\r
948                more than 4GB of memory on 32-bit systems with PAE.\r
949 \r
950        access_ctrl\r
951                Access rights for the specified memory region.\r
952 \r
953        lkey\r
954                The lkey associated with this memory region.\r
955 \r
956        rkey\r
957                The rkey associated with this memory region.\r
958 </pre>\r
959 </span><p><strong>NOTES</strong></p>\r
960 <span class="NOTES"><pre>       The remote_lb, remote_ub, and rkey are only valid if remote memory access\r
961        is enabled for this memory region.\r
962 </pre>\r
963 </span><p><strong>SEE ALSO</strong></p>\r
964 <span class="SEE_ALSO"><pre>       <a href="#robo37">ib_access_t</a>\r
965 </pre>\r
966 </span>\r
967 <hr />\r
968 \r
969 <h2><a name="robo155">[Structures]<a name="Access20Layer2fib5fmr5fcreate5ft">\r
970 Access Layer/ib_mr_create_t</a></h2>\r
971 \r
972 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
973 <p><strong>NAME</strong></p>\r
974 <span class="NAME"><pre>       <strong>ib_mr_create_t</strong>\r
975 </pre>\r
976 </span><p><strong>DESCRIPTION</strong></p>\r
977 <span class="DESCRIPTION"><pre>       Information required to create a registered memory region.\r
978 </pre>\r
979 </span><p><strong>SYNOPSIS</strong></p>\r
980 <span class="SYNOPSIS"><pre>typedef struct _ib_mr_create\r
981 {\r
982  TO_LONG_PTR(       void* ,                   vaddr) ; \r
983         uint64_t                                length;\r
984         <a href="#robo37">ib_access_t</a>                             access_ctrl;\r
985 \r
986 }       <strong>ib_mr_create_t</strong>;\r
987 </pre>\r
988 </span><p><strong>FIELDS</strong></p>\r
989 <span class="FIELDS"><pre>       vaddr\r
990                Starting virtual address of the region being registered.\r
991 \r
992        length\r
993                Length of the buffer to register.\r
994 \r
995        access_ctrl\r
996                Access rights of the registered region.\r
997 </pre>\r
998 </span><p><strong>SEE ALSO</strong></p>\r
999 <span class="SEE_ALSO"><pre>       <a href="#robo37">ib_access_t</a>\r
1000 </pre>\r
1001 </span>\r
1002 <hr />\r
1003 \r
1004 <h2><a name="robo156">[Definitions]<a name="Access20Layer2fib5fmr5fmod5ft">\r
1005 Access Layer/ib_mr_mod_t</a></h2>\r
1006 \r
1007 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1008 <p><strong>NAME</strong></p>\r
1009 <span class="NAME"><pre>       <strong>ib_mr_mod_t</strong>\r
1010 </pre>\r
1011 </span><p><strong>DESCRIPTION</strong></p>\r
1012 <span class="DESCRIPTION"><pre>       Mask used to specify which attributes of a registered memory region are\r
1013        being modified.\r
1014 </pre>\r
1015 </span><p><strong>SYNOPSIS</strong></p>\r
1016 <span class="SYNOPSIS"><pre>typedef uint32_t                                                <strong>ib_mr_mod_t</strong>;\r
1017 #define IB_MR_MOD_ADDR                                  0x00000001\r
1018 #define IB_MR_MOD_PD                                    0x00000002\r
1019 #define IB_MR_MOD_ACCESS                                0x00000004\r
1020 </pre>\r
1021 </span><p><strong>PARAMETERS</strong></p>\r
1022 <span class="PARAMETERS"><pre>       IB_MEM_MOD_ADDR\r
1023                The address of the memory region is being modified.\r
1024 \r
1025        IB_MEM_MOD_PD\r
1026                The protection domain associated with the memory region is being\r
1027                modified.\r
1028 \r
1029        IB_MEM_MOD_ACCESS\r
1030                The access rights the memory region are being modified.\r
1031 </pre>\r
1032 </span>\r
1033 <hr />\r
1034 \r
1035 <h2><a name="robo160">[Definitions]<a name="Access20Layer2fib5fpd5ftype5ft">\r
1036 Access Layer/ib_pd_type_t</a></h2>\r
1037 \r
1038 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1039 <p><strong>NAME</strong></p>\r
1040 <span class="NAME"><pre>       <strong>ib_pd_type_t</strong>\r
1041 </pre>\r
1042 </span><p><strong>DESCRIPTION</strong></p>\r
1043 <span class="DESCRIPTION"><pre>       Indicates the type of protection domain being allocated.\r
1044 </pre>\r
1045 </span><p><strong>SYNOPSIS</strong></p>\r
1046 <span class="SYNOPSIS"><pre>typedef enum _ib_pd_type\r
1047 {\r
1048         IB_PDT_NORMAL,\r
1049         IB_PDT_ALIAS,\r
1050         IB_PDT_SQP,\r
1051         IB_PDT_UD\r
1052 \r
1053 }       <strong>ib_pd_type_t</strong>;\r
1054 </pre>\r
1055 </span><p><strong>VALUES</strong></p>\r
1056 <span class="VALUES"><pre>       IB_PDT_NORMAL\r
1057                Protection domain for all non-aliased QPs.\r
1058 \r
1059        IB_PDT_ALIAS\r
1060                Protection domain for IB_QPT_QP0_ALIAS and IB_QPT_QP1_ALIAS QPs.\r
1061 \r
1062        IB_PDT_SQP\r
1063                Protection domain for special queue pair usage.\r
1064 \r
1065        IB_PDT_UD\r
1066                Protection domain for UD queue pair usage.\r
1067 </pre>\r
1068 </span>\r
1069 <hr />\r
1070 \r
1071 <h2><a name="robo182">[Structures]<a name="Access20Layer2fib5fphys5fcreate5ft">\r
1072 Access Layer/ib_phys_create_t</a></h2>\r
1073 \r
1074 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1075 <p><strong>NAME</strong></p>\r
1076 <span class="NAME"><pre>       <strong>ib_phys_create_t</strong>\r
1077 </pre>\r
1078 </span><p><strong>DESCRIPTION</strong></p>\r
1079 <span class="DESCRIPTION"><pre>       Information required to create a physical memory region.\r
1080 </pre>\r
1081 </span><p><strong>SYNOPSIS</strong></p>\r
1082 <span class="SYNOPSIS"><pre>typedef struct _ib_phys_create\r
1083 {\r
1084         uint64_t                                        length;\r
1085         uint32_t                                        num_ranges;\r
1086  TO_LONG_PTR(       <a href="#robo183">ib_phys_range_t</a>* ,        range_array) ; \r
1087         uint32_t                                        buf_offset;\r
1088         uint32_t                                        hca_page_size;\r
1089         <a href="#robo37">ib_access_t</a>                                     access_ctrl;\r
1090 \r
1091 }       <strong>ib_phys_create_t</strong>;\r
1092 </pre>\r
1093 </span><p><strong>FIELDS</strong></p>\r
1094 <span class="FIELDS"><pre>       length\r
1095                The length of the memory region in bytes.\r
1096 \r
1097        num_ranges\r
1098                Number of ib_phys_range structures listed in the specified range array.\r
1099 \r
1100        range_array\r
1101                An array of ib_phys_range structures to be registered as a single memory\r
1102                region.\r
1103 \r
1104        buf_offset\r
1105                The offset into the first physical memory range of the specified memory\r
1106                region on which to start the virtual address.\r
1107 \r
1108        hca_page_size\r
1109                The HCA page size to use to register the memory.\r
1110 \r
1111        access_ctrl\r
1112                Access rights of the registered region.\r
1113 </pre>\r
1114 </span><p><strong>SEE ALSO</strong></p>\r
1115 <span class="SEE_ALSO"><pre>       <a href="#robo37">ib_access_t</a>\r
1116 </pre>\r
1117 </span>\r
1118 <hr />\r
1119 \r
1120 <h2><a name="robo183">[Structures]<a name="Access20Layer2fib5fphys5frange5ft">\r
1121 Access Layer/ib_phys_range_t</a></h2>\r
1122 \r
1123 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1124 <p><strong>NAME</strong></p>\r
1125 <span class="NAME"><pre>       <strong>ib_phys_range_t</strong>\r
1126 </pre>\r
1127 </span><p><strong>DESCRIPTION</strong></p>\r
1128 <span class="DESCRIPTION"><pre>       Information describing a physical memory range.\r
1129 </pre>\r
1130 </span><p><strong>SYNOPSIS</strong></p>\r
1131 <span class="SYNOPSIS"><pre>typedef struct _ib_phys_range\r
1132 {\r
1133         uint64_t                                base_addr;\r
1134         uint64_t                                size;\r
1135 \r
1136 }       <strong>ib_phys_range_t</strong>;\r
1137 </pre>\r
1138 </span><p><strong>FIELDS</strong></p>\r
1139 <span class="FIELDS"><pre>       base_addr\r
1140                Physical address of the base of the memory range.\r
1141 \r
1142        size\r
1143                size, in bytes, of the memory range.\r
1144 </pre>\r
1145 </span><p><strong>NOTES</strong></p>\r
1146 <span class="NOTES"><pre>       The base address must be start and end on an HCA-supported page boundary.\r
1147 </pre>\r
1148 </span><p><strong>SEE ALSO</strong></p>\r
1149 <span class="SEE_ALSO"><pre>       <a href="#robo182">ib_phys_create_t</a>\r
1150 </pre>\r
1151 </span>\r
1152 <hr />\r
1153 \r
1154 <h2><a name="robo194">[Structures]<a name="Access20Layer2fib5fport5fattr5fmod5ft">\r
1155 Access Layer/ib_port_attr_mod_t</a></h2>\r
1156 \r
1157 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1158 <p><strong>NAME</strong></p>\r
1159 <span class="NAME"><pre>       <strong>ib_port_attr_mod_t</strong>\r
1160 </pre>\r
1161 </span><p><strong>DESCRIPTION</strong></p>\r
1162 <span class="DESCRIPTION"><pre>       Port attributes that may be modified.\r
1163 </pre>\r
1164 </span><p><strong>SYNOPSIS</strong></p>\r
1165 <span class="SYNOPSIS"><pre>typedef struct _ib_port_attr_mod\r
1166 {\r
1167         <a href="#robo196">ib_port_cap_t</a>                   cap;\r
1168         uint16_t                                pkey_ctr;\r
1169         uint16_t                                qkey_ctr;\r
1170 \r
1171         <a href="#robo135">ib_init_type_t</a>                  init_type;\r
1172         <a href="#robo886">ib_net64_t</a>                              system_image_guid;\r
1173 \r
1174 }       <strong>ib_port_attr_mod_t</strong>;\r
1175 </pre>\r
1176 </span><p><strong>SEE ALSO</strong></p>\r
1177 <span class="SEE_ALSO"><pre>       <a href="#robo196">ib_port_cap_t</a>\r
1178 </pre>\r
1179 </span>\r
1180 <hr />\r
1181 \r
1182 <h2><a name="robo195">[Structures]<a name="Access20Layer2fib5fport5fattr5ft">\r
1183 Access Layer/ib_port_attr_t</a></h2>\r
1184 \r
1185 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1186 <p><strong>NAME</strong></p>\r
1187 <span class="NAME"><pre>       <strong>ib_port_attr_t</strong>\r
1188 </pre>\r
1189 </span><p><strong>DESCRIPTION</strong></p>\r
1190 <span class="DESCRIPTION"><pre>       Information about a port on a given channel adapter.\r
1191 </pre>\r
1192 </span><p><strong>SYNOPSIS</strong></p>\r
1193 <span class="SYNOPSIS"><pre>typedef struct _ib_port_attr\r
1194 {\r
1195         <a href="#robo886">ib_net64_t</a>                              port_guid;\r
1196         uint8_t                                 port_num;\r
1197         uint8_t                                 mtu;\r
1198         uint64_t                                max_msg_size;\r
1199         <a href="#robo884">ib_net16_t</a>                              lid;\r
1200         uint8_t                                 lmc;\r
1201 \r
1202         /*\r
1203          * LinkWidthSupported as defined in PortInfo.  Required to calculate\r
1204          * inter-packet delay (a.k.a. static rate).\r
1205          */\r
1206         uint8_t                                 link_width_supported;\r
1207 \r
1208         uint16_t                                max_vls;\r
1209 \r
1210         <a href="#robo884">ib_net16_t</a>                              sm_lid;\r
1211         uint8_t                                 sm_sl;\r
1212         uint8_t                                 link_state;\r
1213 \r
1214         <a href="#robo135">ib_init_type_t</a>                  init_type_reply;        /* Optional */\r
1215 \r
1216         /*\r
1217          * subnet_timeout:\r
1218          * The maximum expected subnet propagation delay to reach any port on\r
1219          * the subnet.  This value also determines the rate at which traps can\r
1220          * be generated from this node.\r
1221          *\r
1222          * timeout = 4.096 microseconds * 2^subnet_timeout\r
1223          */\r
1224         uint8_t                                 subnet_timeout;\r
1225 \r
1226         <a href="#robo196">ib_port_cap_t</a>                   cap;\r
1227         uint16_t                                pkey_ctr;\r
1228         uint16_t                                qkey_ctr;\r
1229 \r
1230         uint16_t                                num_gids;\r
1231         uint16_t                                num_pkeys;\r
1232         /*\r
1233          * Pointers at the end of the structure to allow doing a simple\r
1234          * memory comparison of contents up to the first pointer.\r
1235          */\r
1236  TO_LONG_PTR(       <a href="#robo846">ib_gid_t</a>* ,               p_gid_table) ; \r
1237  TO_LONG_PTR(       <a href="#robo884">ib_net16_t</a>* ,             p_pkey_table) ; \r
1238 \r
1239 }       <strong>ib_port_attr_t</strong>;\r
1240 </pre>\r
1241 </span><p><strong>SEE ALSO</strong></p>\r
1242 <span class="SEE_ALSO"><pre>       uint8_t, <a href="#robo196">ib_port_cap_t</a>, <a href="#robo703">ib_link_states_t</a>\r
1243 </pre>\r
1244 </span>\r
1245 <hr />\r
1246 \r
1247 <h2><a name="robo196">[Structures]<a name="Access20Layer2fib5fport5fcap5ft">\r
1248 Access Layer/ib_port_cap_t</a></h2>\r
1249 \r
1250 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1251 <p><strong>NAME</strong></p>\r
1252 <span class="NAME"><pre>       <strong>ib_port_cap_t</strong>\r
1253 </pre>\r
1254 </span><p><strong>DESCRIPTION</strong></p>\r
1255 <span class="DESCRIPTION"><pre>       Indicates which management agents are currently available on the specified\r
1256        port.\r
1257 </pre>\r
1258 </span><p><strong>SYNOPSIS</strong></p>\r
1259 <span class="SYNOPSIS"><pre>typedef struct _ib_port_cap\r
1260 {\r
1261         boolean_t               cm;\r
1262         boolean_t               snmp;\r
1263         boolean_t               dev_mgmt;\r
1264         boolean_t               vend;\r
1265         boolean_t               sm;\r
1266         boolean_t               sm_disable;\r
1267         boolean_t               qkey_ctr;\r
1268         boolean_t               pkey_ctr;\r
1269         boolean_t               notice;\r
1270         boolean_t               trap;\r
1271         boolean_t               apm;\r
1272         boolean_t               slmap;\r
1273         boolean_t               pkey_nvram;\r
1274         boolean_t               mkey_nvram;\r
1275         boolean_t               sysguid;\r
1276         boolean_t               dr_notice;\r
1277         boolean_t               boot_mgmt;\r
1278         boolean_t               capm_notice;\r
1279         boolean_t               reinit;\r
1280         boolean_t               ledinfo;\r
1281         boolean_t               port_active;\r
1282         boolean_t               ipd;\r
1283         boolean_t               pkey_switch_ext_port;\r
1284         boolean_t               bm;\r
1285         boolean_t               link_rtl;\r
1286         boolean_t               client_reregister;\r
1287 \r
1288 }       <strong>ib_port_cap_t</strong>;\r
1289 </pre>\r
1290 </span>\r
1291 <hr />\r
1292 \r
1293 <h2><a name="robo201">[Structures]<a name="Access20Layer2fib5fqp5fattr5ft">\r
1294 Access Layer/ib_qp_attr_t</a></h2>\r
1295 \r
1296 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1297 <p><strong>NAME</strong></p>\r
1298 <span class="NAME"><pre>       <strong>ib_qp_attr_t</strong>\r
1299 </pre>\r
1300 </span><p><strong>DESCRIPTION</strong></p>\r
1301 <span class="DESCRIPTION"><pre>       Queue pair attributes returned through <a href="./ib_al_h.html#robo214">ib_query_qp</a>.\r
1302 </pre>\r
1303 </span><p><strong>SYNOPSIS</strong></p>\r
1304 <span class="SYNOPSIS"><pre>typedef struct _ib_qp_attr\r
1305 {\r
1306         ib_pd_handle_t __ptr64                  h_pd;\r
1307         <a href="#robo206">ib_qp_type_t</a>                    qp_type;\r
1308         <a href="#robo37">ib_access_t</a>                             access_ctrl;\r
1309         uint16_t                                pkey_index;\r
1310 \r
1311         uint32_t                                sq_max_inline;\r
1312         uint32_t                                sq_depth;\r
1313         uint32_t                                rq_depth;\r
1314         uint32_t                                sq_sge;\r
1315         uint32_t                                rq_sge;\r
1316         uint8_t                                 init_depth;\r
1317         uint8_t                                 resp_res;\r
1318 \r
1319         ib_cq_handle_t __ptr64                  h_sq_cq;\r
1320         ib_cq_handle_t __ptr64                  h_rq_cq;\r
1321         ib_srq_handle_t __ptr64                 h_srq;\r
1322 \r
1323         boolean_t                               sq_signaled;\r
1324 \r
1325         <a href="#robo205">ib_qp_state_t</a>                   state;\r
1326         <a href="#robo885">ib_net32_t</a>                              num;\r
1327         <a href="#robo885">ib_net32_t</a>                              dest_num;\r
1328         <a href="#robo885">ib_net32_t</a>                              qkey;\r
1329 \r
1330         <a href="#robo885">ib_net32_t</a>                              sq_psn;\r
1331         <a href="#robo885">ib_net32_t</a>                              rq_psn;\r
1332 \r
1333         uint8_t                                 primary_port;\r
1334         uint8_t                                 alternate_port;\r
1335         <a href="#robo49">ib_av_attr_t</a>                    primary_av;\r
1336         <a href="#robo49">ib_av_attr_t</a>                    alternate_av;\r
1337         <a href="#robo42">ib_apm_state_t</a>                  apm_state;\r
1338 \r
1339 }       <strong>ib_qp_attr_t</strong>;\r
1340 </pre>\r
1341 </span><p><strong>FIELDS</strong></p>\r
1342 <span class="FIELDS"><pre>       h_pd\r
1343                This is a handle to a protection domain associated with the QP.\r
1344 \r
1345        sq_max_inline\r
1346                Maximum payload that can be inlined directly in a WQE, eliminating\r
1347                protection checks and additional DMA operations.\r
1348 </pre>\r
1349 </span><p><strong>NOTES</strong></p>\r
1350 <span class="NOTES"><pre>       Other fields are defined by the Infiniband specification.\r
1351 </pre>\r
1352 </span><p><strong>SEE ALSO</strong></p>\r
1353 <span class="SEE_ALSO"><pre>       <a href="#robo206">ib_qp_type_t</a>, <a href="#robo37">ib_access_t</a>, <a href="#robo205">ib_qp_state_t</a>, <a href="#robo49">ib_av_attr_t</a>, <a href="#robo42">ib_apm_state_t</a>\r
1354 </pre>\r
1355 </span>\r
1356 <hr />\r
1357 \r
1358 <h2><a name="robo202">[Structures]<a name="Access20Layer2fib5fqp5fcreate5ft">\r
1359 Access Layer/ib_qp_create_t</a></h2>\r
1360 \r
1361 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1362 <p><strong>NAME</strong></p>\r
1363 <span class="NAME"><pre>       <strong>ib_qp_create_t</strong>\r
1364 </pre>\r
1365 </span><p><strong>DESCRIPTION</strong></p>\r
1366 <span class="DESCRIPTION"><pre>       Attributes used to initialize a queue pair at creation time.\r
1367 </pre>\r
1368 </span><p><strong>SYNOPSIS</strong></p>\r
1369 <span class="SYNOPSIS"><pre>typedef struct _ib_qp_create\r
1370 {\r
1371         <a href="#robo206">ib_qp_type_t</a>                    qp_type;\r
1372 \r
1373         uint32_t                                sq_depth;\r
1374         uint32_t                                rq_depth;\r
1375         uint32_t                                sq_sge;\r
1376         uint32_t                                rq_sge;\r
1377 \r
1378         ib_cq_handle_t __ptr64                  h_sq_cq;\r
1379         ib_cq_handle_t __ptr64                  h_rq_cq;\r
1380         ib_srq_handle_t __ptr64                 h_srq;\r
1381 \r
1382         boolean_t                               sq_signaled;\r
1383 \r
1384 }       <strong>ib_qp_create_t</strong>;\r
1385 </pre>\r
1386 </span><p><strong>FIELDS</strong></p>\r
1387 <span class="FIELDS"><pre>       type\r
1388                Specifies the type of queue pair to create.\r
1389 \r
1390        sq_depth\r
1391                Indicates the requested maximum number of work requests that may be\r
1392                outstanding on the queue pair's send queue.  This value must be less\r
1393                than or equal to the maximum reported by the channel adapter associated\r
1394                with the queue pair.\r
1395 \r
1396        rq_depth\r
1397                Indicates the requested maximum number of work requests that may be\r
1398                outstanding on the queue pair's receive queue.  This value must be less\r
1399                than or equal to the maximum reported by the channel adapter associated\r
1400                with the queue pair.\r
1401 \r
1402        sq_sge\r
1403                Indicates the maximum number scatter-gather elements that may be\r
1404                given in a send work request.  This value must be less\r
1405                than or equal to the maximum reported by the channel adapter associated\r
1406                with the queue pair.\r
1407 \r
1408        rq_sge\r
1409                Indicates the maximum number scatter-gather elements that may be\r
1410                given in a receive work request.  This value must be less\r
1411                than or equal to the maximum reported by the channel adapter associated\r
1412                with the queue pair.\r
1413 \r
1414        h_sq_cq\r
1415                A handle to the completion queue that will be used to report send work\r
1416                request completions.  This handle must be NULL if the type is\r
1417                IB_QPT_MAD, IB_QPT_QP0_ALIAS, or IB_QPT_QP1_ALIAS.\r
1418 \r
1419        h_rq_cq\r
1420                A handle to the completion queue that will be used to report receive\r
1421                work request completions.  This handle must be NULL if the type is\r
1422                IB_QPT_MAD, IB_QPT_QP0_ALIAS, or IB_QPT_QP1_ALIAS.\r
1423 \r
1424        h_srq\r
1425                A handle to an SRQ to get receive completions via. Must be coded NULL \r
1426                when QP is not associated with SRQ\r
1427 \r
1428        sq_signaled\r
1429                A flag that is used to indicate whether the queue pair will signal\r
1430                an event upon completion of a send work request.  If set to\r
1431                TRUE, send work requests will always generate a completion\r
1432                event.  If set to FALSE, a completion event will only be\r
1433                generated if the send_opt field of the send work request has the\r
1434                IB_SEND_OPT_SIGNALED flag set.\r
1435 </pre>\r
1436 </span><p><strong>SEE ALSO</strong></p>\r
1437 <span class="SEE_ALSO"><pre>       <a href="#robo206">ib_qp_type_t</a>, <a href="#robo201">ib_qp_attr_t</a>\r
1438 </pre>\r
1439 </span>\r
1440 <hr />\r
1441 \r
1442 <h2><a name="robo203">[Structures]<a name="Access20Layer2fib5fqp5fmod5ft">\r
1443 Access Layer/ib_qp_mod_t</a></h2>\r
1444 \r
1445 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1446 <p><strong>NAME</strong></p>\r
1447 <span class="NAME"><pre>       <strong>ib_qp_mod_t</strong>\r
1448 </pre>\r
1449 </span><p><strong>DESCRIPTION</strong></p>\r
1450 <span class="DESCRIPTION"><pre>       Information needed to change the state of a queue pair through the\r
1451        <a href="./ib_al_h.html#robo152">ib_modify_qp</a> call.\r
1452 </pre>\r
1453 </span><p><strong>SYNOPSIS</strong></p>\r
1454 <span class="SYNOPSIS"><pre>typedef struct _ib_qp_mod\r
1455 {\r
1456         <a href="#robo205">ib_qp_state_t</a>                           req_state;\r
1457 \r
1458         union _qp_state\r
1459         {\r
1460                 struct _qp_init\r
1461                 {\r
1462                         uint8_t                         primary_port;\r
1463                         <a href="#robo885">ib_net32_t</a>                      qkey;\r
1464                         uint16_t                        pkey_index;\r
1465                         <a href="#robo37">ib_access_t</a>                     access_ctrl;\r
1466 \r
1467                 }       init;\r
1468 \r
1469                 struct _qp_rtr\r
1470                 {\r
1471                         <a href="#robo885">ib_net32_t</a>                      rq_psn;\r
1472                         <a href="#robo885">ib_net32_t</a>                      dest_qp;\r
1473                         <a href="#robo49">ib_av_attr_t</a>            primary_av;\r
1474                         uint8_t                         resp_res;\r
1475                         uint8_t                         rnr_nak_timeout;\r
1476 \r
1477                         <a href="#robo204">ib_qp_opts_t</a>            opts;\r
1478                         <a href="#robo49">ib_av_attr_t</a>            alternate_av;\r
1479                         <a href="#robo885">ib_net32_t</a>                      qkey;\r
1480                         uint16_t                        pkey_index;\r
1481                         <a href="#robo37">ib_access_t</a>                     access_ctrl;\r
1482                         uint32_t                        sq_depth;\r
1483                         uint32_t                        rq_depth;\r
1484 \r
1485                 }       rtr;\r
1486 \r
1487                 struct _qp_rts\r
1488                 {\r
1489                         <a href="#robo885">ib_net32_t</a>                      sq_psn;\r
1490                         uint8_t                         retry_cnt;\r
1491                         uint8_t                         rnr_retry_cnt;\r
1492                         uint8_t                         local_ack_timeout;\r
1493                         uint8_t                         init_depth;\r
1494 \r
1495                         <a href="#robo204">ib_qp_opts_t</a>            opts;\r
1496                         uint8_t                         rnr_nak_timeout;\r
1497                         <a href="#robo205">ib_qp_state_t</a>           current_state;\r
1498                         <a href="#robo885">ib_net32_t</a>                      qkey;\r
1499                         <a href="#robo37">ib_access_t</a>                     access_ctrl;\r
1500                         uint8_t                         resp_res;\r
1501 \r
1502                         <a href="#robo49">ib_av_attr_t</a>            primary_av;\r
1503                         <a href="#robo49">ib_av_attr_t</a>            alternate_av;\r
1504 \r
1505                         uint32_t                        sq_depth;\r
1506                         uint32_t                        rq_depth;\r
1507 \r
1508                         <a href="#robo42">ib_apm_state_t</a>          apm_state;\r
1509                         uint8_t                         primary_port;\r
1510                         uint16_t                        pkey_index;\r
1511 \r
1512                 }       rts;\r
1513 \r
1514                 struct _qp_sqd\r
1515                 {\r
1516                         boolean_t                       sqd_event;\r
1517 \r
1518                 }       sqd;\r
1519 \r
1520         }       state;\r
1521 \r
1522 }       <strong>ib_qp_mod_t</strong>;\r
1523 </pre>\r
1524 </span><p><strong>SEE ALSO</strong></p>\r
1525 <span class="SEE_ALSO"><pre>       <a href="#robo205">ib_qp_state_t</a>, <a href="#robo37">ib_access_t</a>, <a href="#robo49">ib_av_attr_t</a>, <a href="#robo42">ib_apm_state_t</a>\r
1526 </pre>\r
1527 </span>\r
1528 <hr />\r
1529 \r
1530 <h2><a name="robo204">[Definitions]<a name="Access20Layer2fib5fqp5fopts5ft">\r
1531 Access Layer/ib_qp_opts_t</a></h2>\r
1532 \r
1533 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1534 <p><strong>NAME</strong></p>\r
1535 <span class="NAME"><pre>       <strong>ib_qp_opts_t</strong>\r
1536 </pre>\r
1537 </span><p><strong>DESCRIPTION</strong></p>\r
1538 <span class="DESCRIPTION"><pre>       Optional fields supplied in the modify QP operation.\r
1539 </pre>\r
1540 </span><p><strong>SYNOPSIS</strong></p>\r
1541 <span class="SYNOPSIS"><pre>typedef uint32_t                                <strong>ib_qp_opts_t</strong>;\r
1542 #define IB_MOD_QP_ALTERNATE_AV          0x00000001\r
1543 #define IB_MOD_QP_PKEY                          0x00000002\r
1544 #define IB_MOD_QP_APM_STATE                     0x00000004\r
1545 #define IB_MOD_QP_PRIMARY_AV            0x00000008\r
1546 #define IB_MOD_QP_RNR_NAK_TIMEOUT       0x00000010\r
1547 #define IB_MOD_QP_RESP_RES                      0x00000020\r
1548 #define IB_MOD_QP_INIT_DEPTH            0x00000040\r
1549 #define IB_MOD_QP_PRIMARY_PORT          0x00000080\r
1550 #define IB_MOD_QP_ACCESS_CTRL           0x00000100\r
1551 #define IB_MOD_QP_QKEY                          0x00000200\r
1552 #define IB_MOD_QP_SQ_DEPTH                      0x00000400\r
1553 #define IB_MOD_QP_RQ_DEPTH                      0x00000800\r
1554 #define IB_MOD_QP_CURRENT_STATE         0x00001000\r
1555 #define IB_MOD_QP_RETRY_CNT                     0x00002000\r
1556 #define IB_MOD_QP_LOCAL_ACK_TIMEOUT     0x00004000\r
1557 #define IB_MOD_QP_RNR_RETRY_CNT         0x00008000\r
1558 </pre>\r
1559 </span><p><strong>SEE ALSO</strong></p>\r
1560 <span class="SEE_ALSO"><pre>       <a href="#robo203">ib_qp_mod_t</a>\r
1561 </pre>\r
1562 </span>\r
1563 <hr />\r
1564 \r
1565 <h2><a name="robo205">[Definitions]<a name="Access20Layer2fib5fqp5fstate5ft">\r
1566 Access Layer/ib_qp_state_t</a></h2>\r
1567 \r
1568 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1569 <p><strong>NAME</strong></p>\r
1570 <span class="NAME"><pre>       <strong>ib_qp_state_t</strong>\r
1571 </pre>\r
1572 </span><p><strong>DESCRIPTION</strong></p>\r
1573 <span class="DESCRIPTION"><pre>       Indicates or sets the state of a queue pair.  The current state of a queue\r
1574        pair is returned through the ib_qp_query call and set via the\r
1575        ib_qp_modify call.\r
1576 </pre>\r
1577 </span><p><strong>SYNOPSIS</strong></p>\r
1578 <span class="SYNOPSIS"><pre>typedef uint32_t                                <strong>ib_qp_state_t</strong>;\r
1579 #define IB_QPS_RESET                    0x00000001\r
1580 #define IB_QPS_INIT                             0x00000002\r
1581 #define IB_QPS_RTR                              0x00000004\r
1582 #define IB_QPS_RTS                              0x00000008\r
1583 #define IB_QPS_SQD                              0x00000010\r
1584 #define IB_QPS_SQD_DRAINING             0x00000030\r
1585 #define IB_QPS_SQD_DRAINED              0x00000050\r
1586 #define IB_QPS_SQERR                    0x00000080\r
1587 #define IB_QPS_ERROR                    0x00000100\r
1588 #define IB_QPS_TIME_WAIT                0xDEAD0000      /* InfiniBand Access Layer */\r
1589 </pre>\r
1590 </span>\r
1591 <hr />\r
1592 \r
1593 <h2><a name="robo206">[Definitions]<a name="Access20Layer2fib5fqp5ftype5ft">\r
1594 Access Layer/ib_qp_type_t</a></h2>\r
1595 \r
1596 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1597 <p><strong>NAME</strong></p>\r
1598 <span class="NAME"><pre>       <strong>ib_qp_type_t</strong>\r
1599 </pre>\r
1600 </span><p><strong>DESCRIPTION</strong></p>\r
1601 <span class="DESCRIPTION"><pre>       Indicates the type of queue pair being created.\r
1602 </pre>\r
1603 </span><p><strong>SYNOPSIS</strong></p>\r
1604 <span class="SYNOPSIS"><pre>typedef enum _ib_qp_type\r
1605 {\r
1606         IB_QPT_RELIABLE_CONN    = 0,            /* Matches CM REQ transport type */\r
1607         IB_QPT_UNRELIABLE_CONN  = 1,            /* Matches CM REQ transport type */\r
1608         IB_QPT_UNRELIABLE_DGRM  = 3,            /* Purposefully skip RDD type. */\r
1609         IB_QPT_QP0,\r
1610         IB_QPT_QP1,\r
1611         IB_QPT_RAW_IPV6,\r
1612         IB_QPT_RAW_ETHER,\r
1613         IB_QPT_MAD,                                                             /* InfiniBand Access Layer */\r
1614         IB_QPT_QP0_ALIAS,                                               /* InfiniBand Access Layer */\r
1615         IB_QPT_QP1_ALIAS,                                               /* InfiniBand Access Layer */\r
1616         IB_QPT_UNKNOWN\r
1617 }       <strong>ib_qp_type_t</strong>;\r
1618 </pre>\r
1619 </span><p><strong>VALUES</strong></p>\r
1620 <span class="VALUES"><pre>       IB_QPT_RELIABLE_CONN\r
1621                Reliable, connected queue pair.\r
1622 \r
1623        IB_QPT_UNRELIABLE_CONN\r
1624                Unreliable, connected queue pair.\r
1625 \r
1626        IB_QPT_UNRELIABLE_DGRM\r
1627                Unreliable, datagram queue pair.\r
1628 \r
1629        IB_QPT_QP0\r
1630                Queue pair 0.\r
1631 \r
1632        IB_QPT_QP1\r
1633                Queue pair 1.\r
1634 \r
1635        IB_QPT_RAW_DGRM\r
1636                Raw datagram queue pair.\r
1637 \r
1638        IB_QPT_RAW_IPV6\r
1639                Raw IP version 6 queue pair.\r
1640 \r
1641        IB_QPT_RAW_ETHER\r
1642                Raw Ethernet queue pair.\r
1643 \r
1644        IB_QPT_MAD\r
1645                Unreliable, datagram queue pair that will send and receive management\r
1646                datagrams with assistance from the access layer.\r
1647 \r
1648        IB_QPT_QP0_ALIAS\r
1649                Alias to queue pair 0.  Aliased QPs can only be created on an aliased\r
1650                protection domain.\r
1651 \r
1652        IB_QPT_QP1_ALIAS\r
1653                Alias to queue pair 1.  Aliased QPs can only be created on an aliased\r
1654                protection domain.\r
1655 </pre>\r
1656 </span>\r
1657 <hr />\r
1658 \r
1659 <h2><a name="robo221">[Definitions]<a name="Access20Layer2fib5frecv5fopt5ft">\r
1660 Access Layer/ib_recv_opt_t</a></h2>\r
1661 \r
1662 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1663 <p><strong>NAME</strong></p>\r
1664 <span class="NAME"><pre>       <strong>ib_recv_opt_t</strong>\r
1665 </pre>\r
1666 </span><p><strong>DESCRIPTION</strong></p>\r
1667 <span class="DESCRIPTION"><pre>       Indicates optional fields valid in a receive work completion.\r
1668 </pre>\r
1669 </span><p><strong>SYNOPSIS</strong></p>\r
1670 <span class="SYNOPSIS"><pre>typedef uint32_t                                        <strong>ib_recv_opt_t</strong>;\r
1671 #define IB_RECV_OPT_IMMEDIATE           0x00000001\r
1672 #define IB_RECV_OPT_FORWARD                     0x00000002\r
1673 #define IB_RECV_OPT_GRH_VALID           0x00000004\r
1674 #define IB_RECV_OPT_VEND_MASK           0xFFFF0000\r
1675 </pre>\r
1676 </span><p><strong>VALUES</strong></p>\r
1677 <span class="VALUES"><pre>       IB_RECV_OPT_IMMEDIATE\r
1678                Indicates that immediate data is valid for this work completion.\r
1679 \r
1680        IB_RECV_OPT_FORWARD\r
1681                Indicates that the received trap should be forwarded to the SM.\r
1682 \r
1683        IB_RECV_OPT_GRH_VALID\r
1684                Indicates presence of the global route header. When set, the first\r
1685                40 bytes received are the GRH.\r
1686 \r
1687        IB_RECV_OPT_VEND_MASK\r
1688                This mask indicates bits reserved in the receive options that may be\r
1689                used by the verbs provider to indicate vendor specific options.  Bits\r
1690                set in this area of the receive options are ignored by the Access Layer,\r
1691                but may have specific meaning to the underlying VPD.\r
1692 </pre>\r
1693 </span>\r
1694 <hr />\r
1695 \r
1696 <h2><a name="robo222">[Structures]<a name="Access20Layer2fib5frecv5fwr5ft">\r
1697 Access Layer/ib_recv_wr_t</a></h2>\r
1698 \r
1699 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1700 <p><strong>NAME</strong></p>\r
1701 <span class="NAME"><pre>       <strong>ib_recv_wr_t</strong>\r
1702 </pre>\r
1703 </span><p><strong>DESCRIPTION</strong></p>\r
1704 <span class="DESCRIPTION"><pre>       Information used to submit a work request to the receive queue of a queue\r
1705        pair.\r
1706 </pre>\r
1707 </span><p><strong>SYNOPSIS</strong></p>\r
1708 <span class="SYNOPSIS"><pre>typedef struct _ib_recv_wr\r
1709 {\r
1710  TO_LONG_PTR(       struct _ib_recv_wr* ,     p_next) ; \r
1711         uint64_t                                        wr_id;\r
1712         uint32_t                                        num_ds;\r
1713  TO_LONG_PTR(       <a href="#robo142">ib_local_ds_t</a>* ,          ds_array) ; \r
1714 \r
1715 }       <strong>ib_recv_wr_t</strong>;\r
1716 </pre>\r
1717 </span><p><strong>FIELDS</strong></p>\r
1718 <span class="FIELDS"><pre>       p_next\r
1719                A pointer used to chain work requests together.  This permits multiple\r
1720                work requests to be posted to a queue pair through a single function\r
1721                call.  This value is set to NULL to mark the end of the chain.\r
1722 \r
1723        wr_id\r
1724                A 64-bit work request identifier that is returned to the consumer\r
1725                as part of the work completion.\r
1726 \r
1727        num_ds\r
1728                Number of local data segments specified by this work request.\r
1729 \r
1730        ds_array\r
1731                A reference to an array of local data segments used by the send\r
1732                operation.\r
1733 </pre>\r
1734 </span><p><strong>SEE ALSO</strong></p>\r
1735 <span class="SEE_ALSO"><pre>       <a href="#robo142">ib_local_ds_t</a>\r
1736 </pre>\r
1737 </span>\r
1738 <hr />\r
1739 \r
1740 <h2><a name="robo235">[Definitions]<a name="Access20Layer2fib5frej5fstatus5ft">\r
1741 Access Layer/ib_rej_status_t</a></h2>\r
1742 \r
1743 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1744 <p><strong>NAME</strong></p>\r
1745 <span class="NAME"><pre>       <strong>ib_rej_status_t</strong>\r
1746 </pre>\r
1747 </span><p><strong>DESCRIPTION</strong></p>\r
1748 <span class="DESCRIPTION"><pre>       Rejection reasons.\r
1749 </pre>\r
1750 </span><p><strong>SYNOPSIS</strong></p>\r
1751 <span class="SYNOPSIS"><pre>typedef <a href="#robo884">ib_net16_t</a>                                                      <strong>ib_rej_status_t</strong>;\r
1752 </pre>\r
1753 </span><p><strong>SEE ALSO</strong></p>\r
1754 <span class="SEE_ALSO"><pre>       <a href="./ib_al_h.html#robo82">ib_cm_rej</a>, <a href="./ib_al_h.html#robo83">ib_cm_rej_rec_t</a>\r
1755 </pre>\r
1756 </span><p><strong>SOURCE</strong></p>\r
1757 <span class="SOURCE"><pre>#define IB_REJ_INSUF_QP                                         <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(1)\r
1758 #define IB_REJ_INSUF_EEC                                        <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(2)\r
1759 #define IB_REJ_INSUF_RESOURCES                          <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(3)\r
1760 #define IB_REJ_TIMEOUT                                          <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(4)\r
1761 #define IB_REJ_UNSUPPORTED                                      <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(5)\r
1762 #define IB_REJ_INVALID_COMM_ID                          <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(6)\r
1763 #define IB_REJ_INVALID_COMM_INSTANCE            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(7)\r
1764 #define IB_REJ_INVALID_SID                                      <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(8)\r
1765 #define IB_REJ_INVALID_XPORT                            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(9)\r
1766 #define IB_REJ_STALE_CONN                                       <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(10)\r
1767 #define IB_REJ_RDC_NOT_EXIST                            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(11)\r
1768 #define IB_REJ_INVALID_GID                                      <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(12)\r
1769 #define IB_REJ_INVALID_LID                                      <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(13)\r
1770 #define IB_REJ_INVALID_SL                                       <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(14)\r
1771 #define IB_REJ_INVALID_TRAFFIC_CLASS            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(15)\r
1772 #define IB_REJ_INVALID_HOP_LIMIT                        <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(16)\r
1773 #define IB_REJ_INVALID_PKT_RATE                         <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(17)\r
1774 #define IB_REJ_INVALID_ALT_GID                          <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(18)\r
1775 #define IB_REJ_INVALID_ALT_LID                          <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(19)\r
1776 #define IB_REJ_INVALID_ALT_SL                           <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(20)\r
1777 #define IB_REJ_INVALID_ALT_TRAFFIC_CLASS        <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(21)\r
1778 #define IB_REJ_INVALID_ALT_HOP_LIMIT            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(22)\r
1779 #define IB_REJ_INVALID_ALT_PKT_RATE                     <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(23)\r
1780 #define IB_REJ_PORT_REDIRECT                            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(24)\r
1781 #define IB_REJ_INVALID_MTU                                      <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(26)\r
1782 #define IB_REJ_INSUFFICIENT_RESP_RES            <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(27)\r
1783 #define IB_REJ_USER_DEFINED                                     <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(28)\r
1784 #define IB_REJ_INVALID_RNR_RETRY                        <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(29)\r
1785 #define IB_REJ_DUPLICATE_LOCAL_COMM_ID          <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(30)\r
1786 #define IB_REJ_INVALID_CLASS_VER                        <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(31)\r
1787 #define IB_REJ_INVALID_FLOW_LBL                         <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(32)\r
1788 #define IB_REJ_INVALID_ALT_FLOW_LBL                     <a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(33)\r
1789 </pre>\r
1790 </span>\r
1791 <hr />\r
1792 \r
1793 <h2><a name="robo245">[Definitions]<a name="Access20Layer2fib5fsend5fopt5ft">\r
1794 Access Layer/ib_send_opt_t</a></h2>\r
1795 \r
1796 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
1797 <p><strong>NAME</strong></p>\r
1798 <span class="NAME"><pre>       <strong>ib_send_opt_t</strong>\r
1799 </pre>\r
1800 </span><p><strong>DESCRIPTION</strong></p>\r
1801 <span class="DESCRIPTION"><pre>       Optional flags used when posting send work requests.  These flags\r
1802        indicate specific processing for the send operation.\r
1803 </pre>\r
1804 </span><p><strong>SYNOPSIS</strong></p>\r
1805 <span class="SYNOPSIS"><pre>typedef uint32_t                                        <strong>ib_send_opt_t</strong>;\r
1806 #define IB_SEND_OPT_IMMEDIATE           0x00000001\r
1807 #define IB_SEND_OPT_FENCE                       0x00000002\r
1808 #define IB_SEND_OPT_SIGNALED            0x00000004\r
1809 #define IB_SEND_OPT_SOLICITED           0x00000008\r
1810 #define IB_SEND_OPT_INLINE                      0x00000010\r
1811 #define IB_SEND_OPT_LOCAL                       0x00000020\r
1812 #define IB_SEND_OPT_VEND_MASK           0xFFFF0000\r
1813 </pre>\r
1814 </span><p><strong>VALUES</strong></p>\r
1815 <span class="VALUES"><pre>       The following flags determine the behavior of a work request when\r
1816        posted to the send side.\r
1817 \r
1818        IB_SEND_OPT_IMMEDIATE\r
1819                Send immediate data with the given request.\r
1820 \r
1821        IB_SEND_OPT_FENCE\r
1822                The operation is fenced.  Complete all pending send operations before\r
1823                processing this request.\r
1824 \r
1825        IB_SEND_OPT_SIGNALED\r
1826                If the queue pair is configured for signaled completion, then\r
1827                generate a completion queue entry when this request completes.\r
1828 \r
1829        IB_SEND_OPT_SOLICITED\r
1830                Set the solicited bit on the last packet of this request.\r
1831 \r
1832        IB_SEND_OPT_INLINE\r
1833                Indicates that the requested send data should be copied into a VPD\r
1834                owned data buffer.  This flag permits the user to issue send operations\r
1835                without first needing to register the buffer(s) associated with the\r
1836                send operation.  Verb providers that support this operation may place\r
1837                vendor specific restrictions on the size of send operation that may\r
1838                be performed as inline.\r
1839 \r
1840        IB_SEND_OPT_LOCAL\r
1841                Indicates that a sent MAD request should be given to the local VPD for\r
1842                processing.  MADs sent using this option are not placed on the wire.\r
1843                This send option is only valid for MAD send operations.\r
1844 \r
1845        IB_SEND_OPT_VEND_MASK\r
1846                This mask indicates bits reserved in the send options that may be used\r
1847                by the verbs provider to indicate vendor specific options.  Bits set\r
1848                in this area of the send options are ignored by the Access Layer, but\r
1849                may have specific meaning to the underlying VPD.\r
1850 </pre>\r
1851 </span>\r
1852 <hr />\r
1853 \r
1854 <h2><a name="robo246">[Structures]<a name="Access20Layer2fib5fsend5fwr5ft">\r
1855 Access Layer/ib_send_wr_t</a></h2>\r
1856 \r
1857 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1858 <p><strong>NAME</strong></p>\r
1859 <span class="NAME"><pre>       <strong>ib_send_wr_t</strong>\r
1860 </pre>\r
1861 </span><p><strong>DESCRIPTION</strong></p>\r
1862 <span class="DESCRIPTION"><pre>       Information used to submit a work request to the send queue of a queue\r
1863        pair.\r
1864 </pre>\r
1865 </span><p><strong>SYNOPSIS</strong></p>\r
1866 <span class="SYNOPSIS"><pre>typedef struct _ib_send_wr\r
1867 {\r
1868  TO_LONG_PTR(       struct _ib_send_wr* ,     p_next) ; \r
1869         uint64_t                                        wr_id;\r
1870         <a href="#robo261">ib_wr_type_t</a>                            wr_type;\r
1871         <a href="#robo245">ib_send_opt_t</a>                           send_opt;\r
1872         uint32_t                                        num_ds;\r
1873  TO_LONG_PTR(       <a href="#robo142">ib_local_ds_t</a>* ,          ds_array) ; \r
1874         <a href="#robo885">ib_net32_t</a>                                      immediate_data;\r
1875 \r
1876         union _send_dgrm\r
1877         {\r
1878                 struct _send_ud\r
1879                 {\r
1880                         <a href="#robo885">ib_net32_t</a>              remote_qp;\r
1881                         <a href="#robo885">ib_net32_t</a>              remote_qkey;\r
1882                         ib_av_handle_t __ptr64  h_av;\r
1883                         uint16_t                pkey_index;\r
1884  TO_LONG_PTR(                       void* ,   rsvd) ; \r
1885 \r
1886                 }       ud;\r
1887 \r
1888                 struct _send_raw_ether\r
1889                 {\r
1890                         <a href="#robo884">ib_net16_t</a>              dest_lid;\r
1891                         uint8_t                 path_bits;\r
1892                         uint8_t                 sl;\r
1893                         uint8_t                 max_static_rate;\r
1894                         <a href="#robo884">ib_net16_t</a>              ether_type;\r
1895 \r
1896                 }       raw_ether;\r
1897 \r
1898                 struct _send_raw_ipv6\r
1899                 {\r
1900                         <a href="#robo884">ib_net16_t</a>              dest_lid;\r
1901                         uint8_t                 path_bits;\r
1902                         uint8_t                 sl;\r
1903                         uint8_t                 max_static_rate;\r
1904 \r
1905                 }       raw_ipv6;\r
1906 \r
1907         }       dgrm;\r
1908 \r
1909         struct _send_remote_ops\r
1910         {\r
1911                 uint64_t                        vaddr;\r
1912                 net32_t                         rkey;\r
1913 \r
1914                 <a href="#robo886">ib_net64_t</a>                      atomic1;\r
1915                 <a href="#robo886">ib_net64_t</a>                      atomic2;\r
1916 \r
1917         }       remote_ops;\r
1918 \r
1919 }       <strong>ib_send_wr_t</strong>;\r
1920 </pre>\r
1921 </span><p><strong>FIELDS</strong></p>\r
1922 <span class="FIELDS"><pre>       p_next\r
1923                A pointer used to chain work requests together.  This permits multiple\r
1924                work requests to be posted to a queue pair through a single function\r
1925                call.  This value is set to NULL to mark the end of the chain.\r
1926 \r
1927        wr_id\r
1928                A 64-bit work request identifier that is returned to the consumer\r
1929                as part of the work completion.\r
1930 \r
1931        wr_type\r
1932                The type of work request being submitted to the send queue.\r
1933 \r
1934        send_opt\r
1935                Optional send control parameters.\r
1936 \r
1937        num_ds\r
1938                Number of local data segments specified by this work request.\r
1939 \r
1940        ds_array\r
1941                A reference to an array of local data segments used by the send\r
1942                operation.\r
1943 \r
1944        immediate_data\r
1945                32-bit field sent as part of a message send or RDMA write operation.\r
1946                This field is only valid if the send_opt flag IB_SEND_OPT_IMMEDIATE\r
1947                has been set.\r
1948 \r
1949        dgrm.ud.remote_qp\r
1950                Identifies the destination queue pair of an unreliable datagram send\r
1951                operation.\r
1952 \r
1953        dgrm.ud.remote_qkey\r
1954                The qkey for the destination queue pair.\r
1955 \r
1956        dgrm.ud.h_av\r
1957                An address vector that specifies the path information used to route\r
1958                the outbound datagram to the destination queue pair.\r
1959 \r
1960        dgrm.ud.pkey_index\r
1961                The pkey index for this send work request.  This is valid only\r
1962                for IB_QPT_QP1 and IB_QPT_QP1_ALIAS QP types.  The work request\r
1963                is posted to using this pkey index build the GMP's BTH instead\r
1964                of the QP's pkey.\r
1965 \r
1966        dgrm.ud.rsvd\r
1967                Reserved for use by the Access Layer.\r
1968 \r
1969        dgrm.raw_ether.dest_lid\r
1970                The destination LID that will receive this raw ether send.\r
1971 \r
1972        dgrm.raw_ether.path_bits\r
1973                path bits...\r
1974 \r
1975        dgrm.raw_ether.sl\r
1976                service level...\r
1977 \r
1978        dgrm.raw_ether.max_static_rate\r
1979                static rate...\r
1980 \r
1981        dgrm.raw_ether.ether_type\r
1982                ether type...\r
1983 \r
1984        dgrm.raw_ipv6.dest_lid\r
1985                The destination LID that will receive this raw ether send.\r
1986 \r
1987        dgrm.raw_ipv6.path_bits\r
1988                path bits...\r
1989 \r
1990        dgrm.raw_ipv6.sl\r
1991                service level...\r
1992 \r
1993        dgrm.raw_ipv6.max_static_rate\r
1994                static rate...\r
1995 \r
1996        remote_ops.vaddr\r
1997                The registered virtual memory address of the remote memory to access\r
1998                with an RDMA or atomic operation.\r
1999 \r
2000        remote_ops.rkey\r
2001                The rkey associated with the specified remote vaddr. This data must\r
2002                be presented exactly as obtained from the remote node. No swapping\r
2003                of data must be performed.\r
2004 \r
2005        atomic1\r
2006                The first operand for an atomic operation.\r
2007 \r
2008        atomic2\r
2009                The second operand for an atomic operation.\r
2010 </pre>\r
2011 </span><p><strong>NOTES</strong></p>\r
2012 <span class="NOTES"><pre>       The format of data sent over the fabric is user-defined and is considered\r
2013        opaque to the access layer.  The sole exception to this are MADs posted\r
2014        to a MAD QP service.  MADs are expected to match the format defined by\r
2015        the Infiniband specification and must be in network-byte order when posted\r
2016        to the MAD QP service.\r
2017 </pre>\r
2018 </span><p><strong>SEE ALSO</strong></p>\r
2019 <span class="SEE_ALSO"><pre>       <a href="#robo261">ib_wr_type_t</a>, <a href="#robo142">ib_local_ds_t</a>, <a href="#robo245">ib_send_opt_t</a>\r
2020 </pre>\r
2021 </span>\r
2022 <hr />\r
2023 \r
2024 <h2><a name="robo250">[Definitions]<a name="Access20Layer2fib5fsrq5fattr5fmask5ft">\r
2025 Access Layer/ib_srq_attr_mask_t</a></h2>\r
2026 \r
2027 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2028 <p><strong>NAME</strong></p>\r
2029 <span class="NAME"><pre>       <strong>ib_srq_attr_mask_t</strong>\r
2030 </pre>\r
2031 </span><p><strong>DESCRIPTION</strong></p>\r
2032 <span class="DESCRIPTION"><pre>       Indicates valid fields in <a href="#robo251">ib_srq_attr_t</a> structure\r
2033 </pre>\r
2034 </span><p><strong>SYNOPSIS</strong></p>\r
2035 <span class="SYNOPSIS"><pre>typedef enum _ib_srq_attr_mask {\r
2036         IB_SRQ_MAX_WR   = 1 &lt;&lt; 0,\r
2037         IB_SRQ_LIMIT    = 1 &lt;&lt; 1,\r
2038 } <strong>ib_srq_attr_mask_t</strong>;\r
2039 </pre>\r
2040 </span>\r
2041 <hr />\r
2042 \r
2043 <h2><a name="robo251">[Structures]<a name="Access20Layer2fib5fsrq5fattr5ft">\r
2044 Access Layer/ib_srq_attr_t</a></h2>\r
2045 \r
2046 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2047 <p><strong>NAME</strong></p>\r
2048 <span class="NAME"><pre>       <strong>ib_srq_attr_t</strong>\r
2049 </pre>\r
2050 </span><p><strong>DESCRIPTION</strong></p>\r
2051 <span class="DESCRIPTION"><pre>       Attributes used to initialize a shared queue pair at creation time.\r
2052 </pre>\r
2053 </span><p><strong>SYNOPSIS</strong></p>\r
2054 <span class="SYNOPSIS"><pre>typedef struct _ib_srq_attr {\r
2055         uint32_t                                max_wr;\r
2056         uint32_t                                max_sge;\r
2057         uint32_t                                srq_limit;\r
2058 } <strong>ib_srq_attr_t</strong>;\r
2059 </pre>\r
2060 </span><p><strong>FIELDS</strong></p>\r
2061 <span class="FIELDS"><pre>       max_wr\r
2062                Specifies the max number of work request on SRQ.\r
2063 \r
2064        max_sge\r
2065                Specifies the max number of scatter/gather elements in one work request.\r
2066 \r
2067        srq_limit\r
2068                Specifies the low water mark for SRQ.\r
2069 </pre>\r
2070 </span><p><strong>SEE ALSO</strong></p>\r
2071 <span class="SEE_ALSO"><pre>       <a href="#robo206">ib_qp_type_t</a>, <a href="#robo250">ib_srq_attr_mask_t</a>\r
2072 </pre>\r
2073 </span>\r
2074 <hr />\r
2075 \r
2076 <h2><a name="robo258">[Definitions]<a name="Access20Layer2fib5fwc5fstatus5ft">\r
2077 Access Layer/ib_wc_status_t</a></h2>\r
2078 \r
2079 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2080 <p><strong>NAME</strong></p>\r
2081 <span class="NAME"><pre>       <strong>ib_wc_status_t</strong>\r
2082 </pre>\r
2083 </span><p><strong>DESCRIPTION</strong></p>\r
2084 <span class="DESCRIPTION"><pre>       Indicates the status of a completed work request.  These VALUES are\r
2085        returned to the user when retrieving completions.  Note that success is\r
2086        identified as IB_WCS_SUCCESS, which is always zero.\r
2087 </pre>\r
2088 </span><p><strong>SYNOPSIS</strong></p>\r
2089 <span class="SYNOPSIS"><pre>typedef enum _<strong>ib_wc_status_t</strong>\r
2090 {\r
2091         IB_WCS_SUCCESS,\r
2092         IB_WCS_LOCAL_LEN_ERR,\r
2093         IB_WCS_LOCAL_OP_ERR,\r
2094         IB_WCS_LOCAL_PROTECTION_ERR,\r
2095         IB_WCS_WR_FLUSHED_ERR,\r
2096         IB_WCS_MEM_WINDOW_BIND_ERR,\r
2097         IB_WCS_REM_ACCESS_ERR,\r
2098         IB_WCS_REM_OP_ERR,\r
2099         IB_WCS_RNR_RETRY_ERR,\r
2100         IB_WCS_TIMEOUT_RETRY_ERR,\r
2101         IB_WCS_REM_INVALID_REQ_ERR,\r
2102         IB_WCS_BAD_RESP_ERR,\r
2103         IB_WCS_LOCAL_ACCESS_ERR,\r
2104         IB_WCS_GENERAL_ERR,\r
2105         IB_WCS_UNMATCHED_RESPONSE,                      /* InfiniBand Access Layer */\r
2106         IB_WCS_CANCELED,                                        /* InfiniBand Access Layer */\r
2107         IB_WCS_UNKNOWN                                          /* Must be last. */\r
2108 \r
2109 }       <strong>ib_wc_status_t</strong>;\r
2110 </pre>\r
2111 </span><p><strong>VALUES</strong></p>\r
2112 <span class="VALUES"><pre>       IB_WCS_SUCCESS\r
2113                Work request completed successfully.\r
2114 \r
2115        IB_WCS_MAD\r
2116                The completed work request was associated with a managmenet datagram\r
2117                that requires post processing.  The MAD will be returned to the user\r
2118                through a callback once all post processing has completed.\r
2119 \r
2120        IB_WCS_LOCAL_LEN_ERR\r
2121                Generated for a work request posted to the send queue when the\r
2122                total of the data segment lengths exceeds the message length of the\r
2123                channel.  Generated for a work request posted to the receive queue when\r
2124                the total of the data segment lengths is too small for a\r
2125                valid incoming message.\r
2126 \r
2127        IB_WCS_LOCAL_OP_ERR\r
2128                An internal QP consistency error was generated while processing this\r
2129                work request.  This may indicate that the QP was in an incorrect state\r
2130                for the requested operation.\r
2131 \r
2132        IB_WCS_LOCAL_PROTECTION_ERR\r
2133                The data segments of the locally posted work request did not refer to\r
2134                a valid memory region.  The memory may not have been properly\r
2135                registered for the requested operation.\r
2136 \r
2137        IB_WCS_WR_FLUSHED_ERR\r
2138                The work request was flushed from the QP before being completed.\r
2139 \r
2140        IB_WCS_MEM_WINDOW_BIND_ERR\r
2141                A memory window bind operation failed due to insufficient access\r
2142                rights.\r
2143 \r
2144        IB_WCS_REM_ACCESS_ERR,\r
2145                A protection error was detected at the remote node for a RDMA or atomic\r
2146                operation.\r
2147 \r
2148        IB_WCS_REM_OP_ERR,\r
2149                The operation could not be successfully completed at the remote node.\r
2150                This may indicate that the remote QP was in an invalid state or\r
2151                contained an invalid work request.\r
2152 \r
2153        IB_WCS_RNR_RETRY_ERR,\r
2154                The RNR retry count was exceeded while trying to send this message.\r
2155 \r
2156        IB_WCS_TIMEOUT_RETRY_ERR\r
2157                The local transport timeout counter expired while trying to send this\r
2158                message.\r
2159 \r
2160        IB_WCS_REM_INVALID_REQ_ERR,\r
2161                The remote node detected an invalid message on the channel.  This error\r
2162                is usually a result of one of the following:\r
2163                        - The operation was not supported on receive queue.\r
2164                        - There was insufficient buffers to receive a new RDMA request.\r
2165                        - There was insufficient buffers to receive a new atomic operation.\r
2166                        - An RDMA request was larger than 2^31 bytes.\r
2167 \r
2168       IB_WCS_BAD_RESP_ERR,\r
2169               An unexpected transport layer opcode was returned\r
2170               by the responder.\r
2171 \r
2172       IB_WCS_LOCAL_ACCESS_ERR,\r
2173               A protection error occurred on a local data buffer\r
2174               during the processing of a RDMA Write with Immediate Data \r
2175               operation sent from the remote node.\r
2176 \r
2177        IB_WCS_UNMATCHED_RESPONSE\r
2178                A response MAD was received for which there was no matching send.  The\r
2179                send operation may have been canceled by the user or may have timed\r
2180                out.\r
2181 \r
2182        IB_WCS_CANCELED\r
2183                The completed work request was canceled by the user.\r
2184 \r
2185       IB_WCS_GENERAL_ERR,\r
2186               Any other error\r
2187 </pre>\r
2188 </span>\r
2189 <hr />\r
2190 \r
2191 <h2><a name="robo259">[Structures]<a name="Access20Layer2fib5fwc5ft">\r
2192 Access Layer/ib_wc_t</a></h2>\r
2193 \r
2194 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2195 <p><strong>NAME</strong></p>\r
2196 <span class="NAME"><pre>       <strong>ib_wc_t</strong>\r
2197 </pre>\r
2198 </span><p><strong>DESCRIPTION</strong></p>\r
2199 <span class="DESCRIPTION"><pre>       Work completion information.\r
2200 </pre>\r
2201 </span><p><strong>SYNOPSIS</strong></p>\r
2202 <span class="SYNOPSIS"><pre>typedef struct _ib_wc\r
2203 {\r
2204  TO_LONG_PTR(       struct _ib_wc* ,  p_next) ; \r
2205         uint64_t                                wr_id;\r
2206         <a href="#robo260">ib_wc_type_t</a>                    wc_type;\r
2207 \r
2208         uint32_t                                length;\r
2209         <a href="#robo258">ib_wc_status_t</a>                  status;\r
2210         uint64_t                                vendor_specific;\r
2211 \r
2212         union _wc_recv\r
2213         {\r
2214                 struct _wc_conn\r
2215                 {\r
2216                         <a href="#robo221">ib_recv_opt_t</a>   recv_opt;\r
2217                         <a href="#robo885">ib_net32_t</a>              immediate_data;\r
2218 \r
2219                 }       conn;\r
2220 \r
2221                 struct _wc_ud\r
2222                 {\r
2223                         <a href="#robo221">ib_recv_opt_t</a>   recv_opt;\r
2224                         <a href="#robo885">ib_net32_t</a>              immediate_data;\r
2225                         <a href="#robo885">ib_net32_t</a>              remote_qp;\r
2226                         uint16_t                pkey_index;\r
2227                         <a href="#robo884">ib_net16_t</a>              remote_lid;\r
2228                         uint8_t                 remote_sl;\r
2229                         uint8_t                 path_bits;\r
2230 \r
2231                 }       ud;\r
2232 \r
2233                 struct _wc_raw_ipv6\r
2234                 {\r
2235                         <a href="#robo884">ib_net16_t</a>              remote_lid;\r
2236                         uint8_t                 remote_sl;\r
2237                         uint8_t                 path_bits;\r
2238 \r
2239                 }       raw_ipv6;\r
2240 \r
2241                 struct _wc_raw_ether\r
2242                 {\r
2243                         <a href="#robo884">ib_net16_t</a>              remote_lid;\r
2244                         uint8_t                 remote_sl;\r
2245                         uint8_t                 path_bits;\r
2246                         <a href="#robo884">ib_net16_t</a>              ether_type;\r
2247 \r
2248                 }       raw_ether;\r
2249 \r
2250         }       recv;\r
2251 \r
2252 }       <strong>ib_wc_t</strong>;\r
2253 </pre>\r
2254 </span><p><strong>FIELDS</strong></p>\r
2255 <span class="FIELDS"><pre>       p_next\r
2256                A pointer used to chain work completions.  This permits multiple\r
2257                work completions to be retrieved from a completion queue through a\r
2258                single function call.  This value is set to NULL to mark the end of\r
2259                the chain.\r
2260 \r
2261        wr_id\r
2262                The 64-bit work request identifier that was specified when posting the\r
2263                work request.\r
2264 \r
2265        wc_type\r
2266                Indicates the type of work completion.\r
2267 \r
2268        length\r
2269                The total length of the data sent or received with the work request.\r
2270 \r
2271        status\r
2272                The result of the work request.\r
2273 \r
2274        vendor_specific\r
2275                HCA vendor specific information returned as part of the completion.\r
2276 \r
2277        recv.conn.recv_opt\r
2278                Indicates optional fields valid as part of a work request that\r
2279                completed on a connected (reliable or unreliable) queue pair.\r
2280 \r
2281        recv.conn.immediate_data\r
2282                32-bit field received as part of an inbound message on a connected\r
2283                queue pair.  This field is only valid if the recv_opt flag\r
2284                IB_RECV_OPT_IMMEDIATE has been set.\r
2285 \r
2286        recv.ud.recv_opt\r
2287                Indicates optional fields valid as part of a work request that\r
2288                completed on an unreliable datagram queue pair.\r
2289 \r
2290        recv.ud.immediate_data\r
2291                32-bit field received as part of an inbound message on a unreliable\r
2292                datagram queue pair.  This field is only valid if the recv_opt flag\r
2293                IB_RECV_OPT_IMMEDIATE has been set.\r
2294 \r
2295        recv.ud.remote_qp\r
2296                Identifies the source queue pair of a received datagram.\r
2297 \r
2298        recv.ud.pkey_index\r
2299                The pkey index of the source queue pair. This is valid only for\r
2300                IB_QPT_QP1 and IB_QPT_QP1_ALIAS QP types.\r
2301 \r
2302        recv.ud.remote_lid\r
2303                The source LID of the received datagram.\r
2304 \r
2305        recv.ud.remote_sl\r
2306                The service level used by the source of the received datagram.\r
2307 \r
2308        recv.ud.path_bits\r
2309                path bits...\r
2310 \r
2311        recv.raw_ipv6.remote_lid\r
2312                The source LID of the received message.\r
2313 \r
2314        recv.raw_ipv6.remote_sl\r
2315                The service level used by the source of the received message.\r
2316 \r
2317        recv.raw_ipv6.path_bits\r
2318                path bits...\r
2319 \r
2320        recv.raw_ether.remote_lid\r
2321                The source LID of the received message.\r
2322 \r
2323        recv.raw_ether.remote_sl\r
2324                The service level used by the source of the received message.\r
2325 \r
2326        recv.raw_ether.path_bits\r
2327                path bits...\r
2328 \r
2329        recv.raw_ether.ether_type\r
2330                ether type...\r
2331 </pre>\r
2332 </span><p><strong>NOTES</strong></p>\r
2333 <span class="NOTES"><pre>       When the work request completes with error, the only values that the\r
2334        consumer can depend on are the wr_id field, and the status of the\r
2335        operation.\r
2336 \r
2337        If the consumer is using the same CQ for completions from more than\r
2338        one type of QP (i.e Reliable Connected, Datagram etc), then the consumer\r
2339        must have additional information to decide what fields of the union are\r
2340        valid.\r
2341 </pre>\r
2342 </span><p><strong>SEE ALSO</strong></p>\r
2343 <span class="SEE_ALSO"><pre>       <a href="#robo260">ib_wc_type_t</a>, <a href="#robo206">ib_qp_type_t</a>, <a href="#robo258">ib_wc_status_t</a>, <a href="#robo221">ib_recv_opt_t</a>\r
2344 </pre>\r
2345 </span>\r
2346 <hr />\r
2347 \r
2348 <h2><a name="robo260">[Definitions]<a name="Access20Layer2fib5fwc5ftype5ft">\r
2349 Access Layer/ib_wc_type_t</a></h2>\r
2350 \r
2351 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2352 <p><strong>NAME</strong></p>\r
2353 <span class="NAME"><pre>       <strong>ib_wc_type_t</strong>\r
2354 </pre>\r
2355 </span><p><strong>DESCRIPTION</strong></p>\r
2356 <span class="DESCRIPTION"><pre>       Indicates the type of work completion.\r
2357 </pre>\r
2358 </span><p><strong>SYNOPSIS</strong></p>\r
2359 <span class="SYNOPSIS"><pre>typedef enum _<strong>ib_wc_type_t</strong>\r
2360 {\r
2361         IB_WC_SEND,\r
2362         IB_WC_RDMA_WRITE,\r
2363         IB_WC_RECV,\r
2364         IB_WC_RDMA_READ,\r
2365         IB_WC_MW_BIND,\r
2366         IB_WC_FETCH_ADD,\r
2367         IB_WC_COMPARE_SWAP,\r
2368         IB_WC_RECV_RDMA_WRITE,\r
2369         IB_WC_UNKNOWN\r
2370 \r
2371 }       <strong>ib_wc_type_t</strong>;\r
2372 </pre>\r
2373 </span>\r
2374 <hr />\r
2375 \r
2376 <h2><a name="robo261">[Definitions]<a name="Access20Layer2fib5fwr5ftype5ft">\r
2377 Access Layer/ib_wr_type_t</a></h2>\r
2378 \r
2379 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2380 <p><strong>NAME</strong></p>\r
2381 <span class="NAME"><pre>       <strong>ib_wr_type_t</strong>\r
2382 </pre>\r
2383 </span><p><strong>DESCRIPTION</strong></p>\r
2384 <span class="DESCRIPTION"><pre>       Identifies the type of work request posted to a queue pair.\r
2385 </pre>\r
2386 </span><p><strong>SYNOPSIS</strong></p>\r
2387 <span class="SYNOPSIS"><pre>typedef enum _<strong>ib_wr_type_t</strong>\r
2388 {\r
2389         WR_SEND = 1,\r
2390         WR_RDMA_WRITE,\r
2391         WR_RDMA_READ,\r
2392         WR_COMPARE_SWAP,\r
2393         WR_FETCH_ADD,\r
2394         WR_UNKNOWN\r
2395 \r
2396 }       <strong>ib_wr_type_t</strong>;\r
2397 </pre>\r
2398 </span>\r
2399 <hr />\r
2400 \r
2401 <h2><a name="robo264">[Structures]<a name="Access20Layer2fmlnx5ffmr5fcreate5ft">\r
2402 Access Layer/mlnx_fmr_create_t</a></h2>\r
2403 \r
2404 <p>[<a href="#robo_top_of_doc">top</a>][<a href="./ib_al_h.html#robo32">parent</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2405 <p><strong>NAME</strong></p>\r
2406 <span class="NAME"><pre>       <strong>mlnx_fmr_create_t</strong>\r
2407 </pre>\r
2408 </span><p><strong>DESCRIPTION</strong></p>\r
2409 <span class="DESCRIPTION"><pre>       Information required to create a Mellanox fast memory region.\r
2410 </pre>\r
2411 </span><p><strong>SYNOPSIS</strong></p>\r
2412 <span class="SYNOPSIS"><pre>typedef struct _mlnx_fmr_create\r
2413 {\r
2414         int                                     max_pages;\r
2415         int                                     max_maps;\r
2416         uint8_t                         page_size;\r
2417         <a href="#robo37">ib_access_t</a>                     access_ctrl;\r
2418 \r
2419 }       <strong>mlnx_fmr_create_t</strong>;\r
2420 </pre>\r
2421 </span><p><strong>FIELDS</strong></p>\r
2422 <span class="FIELDS"><pre>       max_pages\r
2423                max pages in the region.\r
2424 \r
2425        max_maps\r
2426                max times, the region can be mapped before remapping.\r
2427 \r
2428        page_size\r
2429                log2 of the page size (e.g. 12 for 4KB).\r
2430 \r
2431        access_ctrl\r
2432                Access rights of the registered region.\r
2433 </pre>\r
2434 </span><p><strong>NOTES</strong></p>\r
2435 <span class="NOTES"><pre>       This is a Mellanox specific extension to verbs.\r
2436 </pre>\r
2437 </span><p><strong>SEE ALSO</strong></p>\r
2438 <span class="SEE_ALSO"><pre>       <a href="#robo37">ib_access_t</a>\r
2439 </pre>\r
2440 </span>\r
2441 <hr />\r
2442 \r
2443 <h2><a name="robo691">[Structures]<a name="IBA20Base3a20Constants2fIB5fCLASS5fCAP5fGETSET">\r
2444 IBA Base: Constants/IB_CLASS_CAP_GETSET</a></h2>\r
2445 \r
2446 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2447 <p><strong>NAME</strong></p>\r
2448 <span class="NAME"><pre>       <strong>IB_CLASS_CAP_GETSET</strong>\r
2449 </pre>\r
2450 </span><p><strong>DESCRIPTION</strong></p>\r
2451 <span class="DESCRIPTION"><pre>       ClassPortInfo CapabilityMask bits.  This bit will be set\r
2452        if the class supports Get(Notice) and Set(Notice) MADs (13.4.8.1).\r
2453 </pre>\r
2454 </span><p><strong>SEE ALSO</strong></p>\r
2455 <span class="SEE_ALSO"><pre>       <a href="#robo828">ib_class_port_info_t</a>, <a href="#robo692">IB_CLASS_CAP_TRAP</a>\r
2456 </pre>\r
2457 </span><p><strong>SOURCE</strong></p>\r
2458 <span class="SOURCE"><pre>#define <strong>IB_CLASS_CAP_GETSET</strong>                                     0x0002\r
2459 </pre>\r
2460 </span>\r
2461 <hr />\r
2462 \r
2463 <h2><a name="robo692">[Structures]<a name="IBA20Base3a20Constants2fIB5fCLASS5fCAP5fTRAP">\r
2464 IBA Base: Constants/IB_CLASS_CAP_TRAP</a></h2>\r
2465 \r
2466 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2467 <p><strong>NAME</strong></p>\r
2468 <span class="NAME"><pre>       <strong>IB_CLASS_CAP_TRAP</strong>\r
2469 </pre>\r
2470 </span><p><strong>DESCRIPTION</strong></p>\r
2471 <span class="DESCRIPTION"><pre>       ClassPortInfo CapabilityMask bits.  This bit will be set\r
2472        if the class supports Trap() MADs (13.4.8.1).\r
2473 </pre>\r
2474 </span><p><strong>SEE ALSO</strong></p>\r
2475 <span class="SEE_ALSO"><pre>       <a href="#robo828">ib_class_port_info_t</a>, <a href="#robo691">IB_CLASS_CAP_GETSET</a>\r
2476 </pre>\r
2477 </span><p><strong>SOURCE</strong></p>\r
2478 <span class="SOURCE"><pre>#define <strong>IB_CLASS_CAP_TRAP</strong>                                       0x0001\r
2479 </pre>\r
2480 </span>\r
2481 <hr />\r
2482 \r
2483 <h2><a name="robo693">[Structures]<a name="IBA20Base3a20Constants2fIB5fCLASS5fRESP5fTIME5fMASK">\r
2484 IBA Base: Constants/IB_CLASS_RESP_TIME_MASK</a></h2>\r
2485 \r
2486 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2487 <p><strong>NAME</strong></p>\r
2488 <span class="NAME"><pre>       <strong>IB_CLASS_RESP_TIME_MASK</strong>\r
2489 </pre>\r
2490 </span><p><strong>DESCRIPTION</strong></p>\r
2491 <span class="DESCRIPTION"><pre>       Mask bits to extract the reponse time value from the\r
2492        resp_time_val field of <a href="#robo828">ib_class_port_info_t</a>.\r
2493 </pre>\r
2494 </span><p><strong>SEE ALSO</strong></p>\r
2495 <span class="SEE_ALSO"><pre>       <a href="#robo828">ib_class_port_info_t</a>\r
2496 </pre>\r
2497 </span><p><strong>SOURCE</strong></p>\r
2498 <span class="SOURCE"><pre>#define <strong>IB_CLASS_RESP_TIME_MASK</strong>                         0x1F\r
2499 </pre>\r
2500 </span>\r
2501 <hr />\r
2502 \r
2503 <h2><a name="robo694">[Definitions]<a name="IBA20Base3a20Constants2fIB5fDEFAULT5fPARTIAL5fPKEY">\r
2504 IBA Base: Constants/IB_DEFAULT_PARTIAL_PKEY</a></h2>\r
2505 \r
2506 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2507 <p><strong>NAME</strong></p>\r
2508 <span class="NAME"><pre>       <strong>IB_DEFAULT_PARTIAL_PKEY</strong> \r
2509 </pre>\r
2510 </span><p><strong>DESCRIPTION</strong></p>\r
2511 <span class="DESCRIPTION"><pre>       0x7FFF in network order\r
2512 </pre>\r
2513 </span><p><strong>SOURCE</strong></p>\r
2514 <span class="SOURCE"><pre>#define <strong>IB_DEFAULT_PARTIAL_PKEY</strong>                                (<a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(0x7FFF))\r
2515 </pre>\r
2516 </span>\r
2517 <hr />\r
2518 \r
2519 <h2><a name="robo695">[Definitions]<a name="IBA20Base3a20Constants2fIB5fDEFAULT5fPKEY">\r
2520 IBA Base: Constants/IB_DEFAULT_PKEY</a></h2>\r
2521 \r
2522 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2523 <p><strong>NAME</strong></p>\r
2524 <span class="NAME"><pre>       <strong>IB_DEFAULT_PKEY</strong>\r
2525 </pre>\r
2526 </span><p><strong>DESCRIPTION</strong></p>\r
2527 <span class="DESCRIPTION"><pre>       P_Key value for the default partition.\r
2528 </pre>\r
2529 </span><p><strong>SOURCE</strong></p>\r
2530 <span class="SOURCE"><pre>#define <strong>IB_DEFAULT_PKEY</strong>                                         0xFFFF\r
2531 </pre>\r
2532 </span>\r
2533 <hr />\r
2534 \r
2535 <h2><a name="robo696">[Definitions]<a name="IBA20Base3a20Constants2fIB5fDEFAULT5fSUBNET5fPREFIX">\r
2536 IBA Base: Constants/IB_DEFAULT_SUBNET_PREFIX</a></h2>\r
2537 \r
2538 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2539 <p><strong>NAME</strong></p>\r
2540 <span class="NAME"><pre>       <strong>IB_DEFAULT_SUBNET_PREFIX</strong>\r
2541 </pre>\r
2542 </span><p><strong>DESCRIPTION</strong></p>\r
2543 <span class="DESCRIPTION"><pre>       Default subnet GID prefix.\r
2544 </pre>\r
2545 </span><p><strong>SOURCE</strong></p>\r
2546 <span class="SOURCE"><pre>#define <strong>IB_DEFAULT_SUBNET_PREFIX</strong>                        (<a href="../complib/cl_byteswap_h.html#robo287">CL_HTON64</a>(0xFE80000000000000ULL))\r
2547 </pre>\r
2548 </span>\r
2549 <hr />\r
2550 \r
2551 <h2><a name="robo697">[Definitions]<a name="IBA20Base3a20Constants2fIB5fINVALID5fPORT5fNUM">\r
2552 IBA Base: Constants/IB_INVALID_PORT_NUM</a></h2>\r
2553 \r
2554 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2555 <p><strong>NAME</strong></p>\r
2556 <span class="NAME"><pre>       <strong>IB_INVALID_PORT_NUM</strong>\r
2557 </pre>\r
2558 </span><p><strong>DESCRIPTION</strong></p>\r
2559 <span class="DESCRIPTION"><pre>       Value used to indicate an invalid port number (14.2.5.10).\r
2560 </pre>\r
2561 </span><p><strong>SOURCE</strong></p>\r
2562 <span class="SOURCE"><pre>#define <strong>IB_INVALID_PORT_NUM</strong>                                     0xFF\r
2563 </pre>\r
2564 </span>\r
2565 <hr />\r
2566 \r
2567 <h2><a name="robo698">[Definitions]<a name="IBA20Base3a20Constants2fIB5fLID5fMCAST5fEND">\r
2568 IBA Base: Constants/IB_LID_MCAST_END</a></h2>\r
2569 \r
2570 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2571 <p><strong>NAME</strong></p>\r
2572 <span class="NAME"><pre>       <strong>IB_LID_MCAST_END</strong>\r
2573 </pre>\r
2574 </span><p><strong>DESCRIPTION</strong></p>\r
2575 <span class="DESCRIPTION"><pre>       Highest valid multicast LID value.\r
2576 </pre>\r
2577 </span><p><strong>SOURCE</strong></p>\r
2578 <span class="SOURCE"><pre>#define IB_LID_MCAST_END_HO                                     0xFFFE\r
2579 #define <strong>IB_LID_MCAST_END</strong>                                        (<a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(IB_LID_MCAST_END_HO))\r
2580 </pre>\r
2581 </span>\r
2582 <hr />\r
2583 \r
2584 <h2><a name="robo699">[Definitions]<a name="IBA20Base3a20Constants2fIB5fLID5fMCAST5fSTART">\r
2585 IBA Base: Constants/IB_LID_MCAST_START</a></h2>\r
2586 \r
2587 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2588 <p><strong>NAME</strong></p>\r
2589 <span class="NAME"><pre>       <strong>IB_LID_MCAST_START</strong>\r
2590 </pre>\r
2591 </span><p><strong>DESCRIPTION</strong></p>\r
2592 <span class="DESCRIPTION"><pre>       Lowest valid multicast LID value.\r
2593 </pre>\r
2594 </span><p><strong>SOURCE</strong></p>\r
2595 <span class="SOURCE"><pre>#define IB_LID_MCAST_START_HO                           0xC000\r
2596 #define <strong>IB_LID_MCAST_START</strong>                                      (<a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(IB_LID_MCAST_START_HO))\r
2597 </pre>\r
2598 </span>\r
2599 <hr />\r
2600 \r
2601 <h2><a name="robo700">[Definitions]<a name="IBA20Base3a20Constants2fIB5fLID5fPERMISSIVE">\r
2602 IBA Base: Constants/IB_LID_PERMISSIVE</a></h2>\r
2603 \r
2604 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2605 <p><strong>NAME</strong></p>\r
2606 <span class="NAME"><pre>       <strong>IB_LID_PERMISSIVE</strong>\r
2607 </pre>\r
2608 </span><p><strong>DESCRIPTION</strong></p>\r
2609 <span class="DESCRIPTION"><pre>       Permissive LID\r
2610 </pre>\r
2611 </span><p><strong>SOURCE</strong></p>\r
2612 <span class="SOURCE"><pre>#define <strong>IB_LID_PERMISSIVE</strong>                                       0xFFFF\r
2613 </pre>\r
2614 </span>\r
2615 <hr />\r
2616 \r
2617 <h2><a name="robo701">[Definitions]<a name="IBA20Base3a20Constants2fIB5fLID5fUCAST5fEND">\r
2618 IBA Base: Constants/IB_LID_UCAST_END</a></h2>\r
2619 \r
2620 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2621 <p><strong>NAME</strong></p>\r
2622 <span class="NAME"><pre>       <strong>IB_LID_UCAST_END</strong>\r
2623 </pre>\r
2624 </span><p><strong>DESCRIPTION</strong></p>\r
2625 <span class="DESCRIPTION"><pre>       Highest valid unicast LID value.\r
2626 </pre>\r
2627 </span><p><strong>SOURCE</strong></p>\r
2628 <span class="SOURCE"><pre>#define IB_LID_UCAST_END_HO                                     0xBFFF\r
2629 #define <strong>IB_LID_UCAST_END</strong>                                        (<a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(IB_LID_UCAST_END_HO))\r
2630 </pre>\r
2631 </span>\r
2632 <hr />\r
2633 \r
2634 <h2><a name="robo702">[Definitions]<a name="IBA20Base3a20Constants2fIB5fLID5fUCAST5fSTART">\r
2635 IBA Base: Constants/IB_LID_UCAST_START</a></h2>\r
2636 \r
2637 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2638 <p><strong>NAME</strong></p>\r
2639 <span class="NAME"><pre>       <strong>IB_LID_UCAST_START</strong>\r
2640 </pre>\r
2641 </span><p><strong>DESCRIPTION</strong></p>\r
2642 <span class="DESCRIPTION"><pre>       Lowest valid unicast LID value.\r
2643 </pre>\r
2644 </span><p><strong>SOURCE</strong></p>\r
2645 <span class="SOURCE"><pre>#define IB_LID_UCAST_START_HO                           0x0001\r
2646 #define <strong>IB_LID_UCAST_START</strong>                                      (<a href="../complib/cl_byteswap_h.html#robo283">CL_HTON16</a>(IB_LID_UCAST_START_HO))\r
2647 </pre>\r
2648 </span>\r
2649 <hr />\r
2650 \r
2651 <h2><a name="robo703">[Definitions]<a name="IBA20Base3a20Constants2fib5flink5fstates5ft">\r
2652 IBA Base: Constants/ib_link_states_t</a></h2>\r
2653 \r
2654 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2655 <p><strong>NAME</strong></p>\r
2656 <span class="NAME"><pre>       <strong>ib_link_states_t</strong>\r
2657 </pre>\r
2658 </span><p><strong>DESCRIPTION</strong></p>\r
2659 <span class="DESCRIPTION"><pre>       Defines the link states of a port.\r
2660 </pre>\r
2661 </span><p><strong>SOURCE</strong></p>\r
2662 <span class="SOURCE"><pre>#define IB_LINK_NO_CHANGE 0\r
2663 #define IB_LINK_DOWN      1\r
2664 #define IB_LINK_INIT      2\r
2665 #define IB_LINK_ARMED     3\r
2666 #define IB_LINK_ACTIVE    4\r
2667 #define IB_LINK_ACT_DEFER 5\r
2668 </pre>\r
2669 </span>\r
2670 <hr />\r
2671 \r
2672 <h2><a name="robo704">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fCLASS5fPORT5fINFO">\r
2673 IBA Base: Constants/IB_MAD_ATTR_CLASS_PORT_INFO</a></h2>\r
2674 \r
2675 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2676 <p><strong>NAME</strong></p>\r
2677 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_CLASS_PORT_INFO</strong>\r
2678 </pre>\r
2679 </span><p><strong>DESCRIPTION</strong></p>\r
2680 <span class="DESCRIPTION"><pre>       ClassPortInfo attribute (13.4.8)\r
2681 </pre>\r
2682 </span><p><strong>SOURCE</strong></p>\r
2683 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_CLASS_PORT_INFO</strong>                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0001))\r
2684 </pre>\r
2685 </span>\r
2686 <hr />\r
2687 \r
2688 <h2><a name="robo705">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fDIAG5fCODE">\r
2689 IBA Base: Constants/IB_MAD_ATTR_DIAG_CODE</a></h2>\r
2690 \r
2691 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2692 <p><strong>NAME</strong></p>\r
2693 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_DIAG_CODE</strong>\r
2694 </pre>\r
2695 </span><p><strong>DESCRIPTION</strong></p>\r
2696 <span class="DESCRIPTION"><pre>       DiagCode attribute (16.3.3)\r
2697 </pre>\r
2698 </span><p><strong>SOURCE</strong></p>\r
2699 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_DIAG_CODE</strong>                           (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0024))\r
2700 </pre>\r
2701 </span>\r
2702 <hr />\r
2703 \r
2704 <h2><a name="robo706">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fDIAGNOSTIC5fTIMEOUT">\r
2705 IBA Base: Constants/IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT</a></h2>\r
2706 \r
2707 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2708 <p><strong>NAME</strong></p>\r
2709 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT</strong>\r
2710 </pre>\r
2711 </span><p><strong>DESCRIPTION</strong></p>\r
2712 <span class="DESCRIPTION"><pre>       DiagnosticTimeout attribute (16.3.3)\r
2713 </pre>\r
2714 </span><p><strong>SOURCE</strong></p>\r
2715 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT</strong>          (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0020))\r
2716 </pre>\r
2717 </span>\r
2718 <hr />\r
2719 \r
2720 <h2><a name="robo707">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fGUID5fINFO">\r
2721 IBA Base: Constants/IB_MAD_ATTR_GUID_INFO</a></h2>\r
2722 \r
2723 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2724 <p><strong>NAME</strong></p>\r
2725 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_GUID_INFO</strong>\r
2726 </pre>\r
2727 </span><p><strong>DESCRIPTION</strong></p>\r
2728 <span class="DESCRIPTION"><pre>       GUIDInfo attribute (14.2.5)\r
2729 </pre>\r
2730 </span><p><strong>SOURCE</strong></p>\r
2731 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_GUID_INFO</strong>                           (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0014))\r
2732 </pre>\r
2733 </span>\r
2734 <hr />\r
2735 \r
2736 <h2><a name="robo708">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fGUIDINFO5fRECORD">\r
2737 IBA Base: Constants/IB_MAD_ATTR_GUIDINFO_RECORD</a></h2>\r
2738 \r
2739 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2740 <p><strong>NAME</strong></p>\r
2741 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_GUIDINFO_RECORD</strong>\r
2742 </pre>\r
2743 </span><p><strong>DESCRIPTION</strong></p>\r
2744 <span class="DESCRIPTION"><pre>       GuidInfoRecord attribute (15.2.5)\r
2745 </pre>\r
2746 </span><p><strong>SOURCE</strong></p>\r
2747 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_GUIDINFO_RECORD</strong>                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0030))\r
2748 </pre>\r
2749 </span>\r
2750 <hr />\r
2751 \r
2752 <h2><a name="robo709">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fINFORM5fINFO">\r
2753 IBA Base: Constants/IB_MAD_ATTR_INFORM_INFO</a></h2>\r
2754 \r
2755 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2756 <p><strong>NAME</strong></p>\r
2757 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_INFORM_INFO</strong>\r
2758 </pre>\r
2759 </span><p><strong>DESCRIPTION</strong></p>\r
2760 <span class="DESCRIPTION"><pre>       InformInfo attribute (13.4.8)\r
2761 </pre>\r
2762 </span><p><strong>SOURCE</strong></p>\r
2763 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_INFORM_INFO</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0003))\r
2764 </pre>\r
2765 </span>\r
2766 <hr />\r
2767 \r
2768 <h2><a name="robo710">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fINFORM5fINFO5fRECORD">\r
2769 IBA Base: Constants/IB_MAD_ATTR_INFORM_INFO_RECORD</a></h2>\r
2770 \r
2771 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2772 <p><strong>NAME</strong></p>\r
2773 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_INFORM_INFO_RECORD</strong>\r
2774 </pre>\r
2775 </span><p><strong>DESCRIPTION</strong></p>\r
2776 <span class="DESCRIPTION"><pre>       InformInfo Record attribute (15.2.5)\r
2777 </pre>\r
2778 </span><p><strong>SOURCE</strong></p>\r
2779 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_INFORM_INFO_RECORD</strong>                  (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x00F3))\r
2780 </pre>\r
2781 </span>\r
2782 <hr />\r
2783 \r
2784 <h2><a name="robo711">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fIO5fCONTROLLER5fPROFILE">\r
2785 IBA Base: Constants/IB_MAD_ATTR_IO_CONTROLLER_PROFILE</a></h2>\r
2786 \r
2787 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2788 <p><strong>NAME</strong></p>\r
2789 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_IO_CONTROLLER_PROFILE</strong>\r
2790 </pre>\r
2791 </span><p><strong>DESCRIPTION</strong></p>\r
2792 <span class="DESCRIPTION"><pre>       IOControllerProfile attribute (16.3.3)\r
2793 </pre>\r
2794 </span><p><strong>SOURCE</strong></p>\r
2795 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_IO_CONTROLLER_PROFILE</strong>       (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0011))\r
2796 </pre>\r
2797 </span>\r
2798 <hr />\r
2799 \r
2800 <h2><a name="robo712">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fIO5fUNIT5fINFO">\r
2801 IBA Base: Constants/IB_MAD_ATTR_IO_UNIT_INFO</a></h2>\r
2802 \r
2803 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2804 <p><strong>NAME</strong></p>\r
2805 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_IO_UNIT_INFO</strong>\r
2806 </pre>\r
2807 </span><p><strong>DESCRIPTION</strong></p>\r
2808 <span class="DESCRIPTION"><pre>       IOUnitInfo attribute (16.3.3)\r
2809 </pre>\r
2810 </span><p><strong>SOURCE</strong></p>\r
2811 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_IO_UNIT_INFO</strong>                        (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0010))\r
2812 </pre>\r
2813 </span>\r
2814 <hr />\r
2815 \r
2816 <h2><a name="robo713">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fLED5fINFO">\r
2817 IBA Base: Constants/IB_MAD_ATTR_LED_INFO</a></h2>\r
2818 \r
2819 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2820 <p><strong>NAME</strong></p>\r
2821 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_LED_INFO</strong>\r
2822 </pre>\r
2823 </span><p><strong>DESCRIPTION</strong></p>\r
2824 <span class="DESCRIPTION"><pre>       LedInfo attribute (14.2.5)\r
2825 </pre>\r
2826 </span><p><strong>SOURCE</strong></p>\r
2827 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_LED_INFO</strong>                            (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0031))\r
2828 </pre>\r
2829 </span>\r
2830 <hr />\r
2831 \r
2832 <h2><a name="robo714">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fLFT5fRECORD">\r
2833 IBA Base: Constants/IB_MAD_ATTR_LFT_RECORD</a></h2>\r
2834 \r
2835 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2836 <p><strong>NAME</strong></p>\r
2837 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_LFT_RECORD</strong>\r
2838 </pre>\r
2839 </span><p><strong>DESCRIPTION</strong></p>\r
2840 <span class="DESCRIPTION"><pre>       LinearForwardingTableRecord attribute (15.2.5.6)\r
2841 </pre>\r
2842 </span><p><strong>SOURCE</strong></p>\r
2843 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_LFT_RECORD</strong>                  (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0015))\r
2844 </pre>\r
2845 </span>\r
2846 <hr />\r
2847 \r
2848 <h2><a name="robo715">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fLIN5fFWD5fTBL">\r
2849 IBA Base: Constants/IB_MAD_ATTR_LIN_FWD_TBL</a></h2>\r
2850 \r
2851 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2852 <p><strong>NAME</strong></p>\r
2853 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_LIN_FWD_TBL</strong>\r
2854 </pre>\r
2855 </span><p><strong>DESCRIPTION</strong></p>\r
2856 <span class="DESCRIPTION"><pre>       Switch linear forwarding table\r
2857 </pre>\r
2858 </span><p><strong>SOURCE</strong></p>\r
2859 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_LIN_FWD_TBL</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0019))\r
2860 </pre>\r
2861 </span>\r
2862 <hr />\r
2863 \r
2864 <h2><a name="robo716">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fLINK5fRECORD">\r
2865 IBA Base: Constants/IB_MAD_ATTR_LINK_RECORD</a></h2>\r
2866 \r
2867 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2868 <p><strong>NAME</strong></p>\r
2869 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_LINK_RECORD</strong>\r
2870 </pre>\r
2871 </span><p><strong>DESCRIPTION</strong></p>\r
2872 <span class="DESCRIPTION"><pre>       LinkRecord attribute (15.2.5)\r
2873 </pre>\r
2874 </span><p><strong>SOURCE</strong></p>\r
2875 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_LINK_RECORD</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0020))\r
2876 </pre>\r
2877 </span>\r
2878 <hr />\r
2879 \r
2880 <h2><a name="robo717">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fMCAST5fFWD5fTBL">\r
2881 IBA Base: Constants/IB_MAD_ATTR_MCAST_FWD_TBL</a></h2>\r
2882 \r
2883 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2884 <p><strong>NAME</strong></p>\r
2885 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_MCAST_FWD_TBL</strong>\r
2886 </pre>\r
2887 </span><p><strong>DESCRIPTION</strong></p>\r
2888 <span class="DESCRIPTION"><pre>       Switch multicast forwarding table\r
2889 </pre>\r
2890 </span><p><strong>SOURCE</strong></p>\r
2891 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_MCAST_FWD_TBL</strong>                       (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x001B))\r
2892 </pre>\r
2893 </span>\r
2894 <hr />\r
2895 \r
2896 <h2><a name="robo718">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fMCMEMBER5fRECORD">\r
2897 IBA Base: Constants/IB_MAD_ATTR_MCMEMBER_RECORD</a></h2>\r
2898 \r
2899 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2900 <p><strong>NAME</strong></p>\r
2901 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_MCMEMBER_RECORD</strong>\r
2902 </pre>\r
2903 </span><p><strong>DESCRIPTION</strong></p>\r
2904 <span class="DESCRIPTION"><pre>       MCMemberRecord attribute (15.2.5)\r
2905 </pre>\r
2906 </span><p><strong>SOURCE</strong></p>\r
2907 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_MCMEMBER_RECORD</strong>                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0038))\r
2908 </pre>\r
2909 </span>\r
2910 <hr />\r
2911 \r
2912 <h2><a name="robo719">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fMULTIPATH5fRECORD">\r
2913 IBA Base: Constants/IB_MAD_ATTR_MULTIPATH_RECORD</a></h2>\r
2914 \r
2915 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2916 <p><strong>NAME</strong></p>\r
2917 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_MULTIPATH_RECORD</strong>\r
2918 </pre>\r
2919 </span><p><strong>DESCRIPTION</strong></p>\r
2920 <span class="DESCRIPTION"><pre>       MultiPathRecord attribute (15.2.5)\r
2921 </pre>\r
2922 </span><p><strong>SOURCE</strong></p>\r
2923 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_MULTIPATH_RECORD</strong>                    (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x003A))\r
2924 </pre>\r
2925 </span>\r
2926 <hr />\r
2927 \r
2928 <h2><a name="robo720">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fNODE5fDESC">\r
2929 IBA Base: Constants/IB_MAD_ATTR_NODE_DESC</a></h2>\r
2930 \r
2931 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2932 <p><strong>NAME</strong></p>\r
2933 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_NODE_DESC</strong>\r
2934 </pre>\r
2935 </span><p><strong>DESCRIPTION</strong></p>\r
2936 <span class="DESCRIPTION"><pre>       NodeDescription attribute (14.2.5)\r
2937 </pre>\r
2938 </span><p><strong>SOURCE</strong></p>\r
2939 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_NODE_DESC</strong>                           (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0010))\r
2940 </pre>\r
2941 </span>\r
2942 <hr />\r
2943 \r
2944 <h2><a name="robo721">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fNODE5fINFO">\r
2945 IBA Base: Constants/IB_MAD_ATTR_NODE_INFO</a></h2>\r
2946 \r
2947 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2948 <p><strong>NAME</strong></p>\r
2949 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_NODE_INFO</strong>\r
2950 </pre>\r
2951 </span><p><strong>DESCRIPTION</strong></p>\r
2952 <span class="DESCRIPTION"><pre>       NodeInfo attribute (14.2.5)\r
2953 </pre>\r
2954 </span><p><strong>SOURCE</strong></p>\r
2955 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_NODE_INFO</strong>                           (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0011))\r
2956 </pre>\r
2957 </span>\r
2958 <hr />\r
2959 \r
2960 <h2><a name="robo722">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fNODE5fRECORD">\r
2961 IBA Base: Constants/IB_MAD_ATTR_NODE_RECORD</a></h2>\r
2962 \r
2963 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2964 <p><strong>NAME</strong></p>\r
2965 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_NODE_RECORD</strong>\r
2966 </pre>\r
2967 </span><p><strong>DESCRIPTION</strong></p>\r
2968 <span class="DESCRIPTION"><pre>       NodeRecord attribute (15.2.5)\r
2969 </pre>\r
2970 </span><p><strong>SOURCE</strong></p>\r
2971 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_NODE_RECORD</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0011))\r
2972 </pre>\r
2973 </span>\r
2974 <hr />\r
2975 \r
2976 <h2><a name="robo723">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fNOTICE">\r
2977 IBA Base: Constants/IB_MAD_ATTR_NOTICE</a></h2>\r
2978 \r
2979 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2980 <p><strong>NAME</strong></p>\r
2981 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_NOTICE</strong>\r
2982 </pre>\r
2983 </span><p><strong>DESCRIPTION</strong></p>\r
2984 <span class="DESCRIPTION"><pre>       Notice attribute (13.4.8)\r
2985 </pre>\r
2986 </span><p><strong>SOURCE</strong></p>\r
2987 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_NOTICE</strong>                                      (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0002))\r
2988 </pre>\r
2989 </span>\r
2990 <hr />\r
2991 \r
2992 <h2><a name="robo724">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fP5fKEY5fTABLE">\r
2993 IBA Base: Constants/IB_MAD_ATTR_P_KEY_TABLE</a></h2>\r
2994 \r
2995 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
2996 <p><strong>NAME</strong></p>\r
2997 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_P_KEY_TABLE</strong>\r
2998 </pre>\r
2999 </span><p><strong>DESCRIPTION</strong></p>\r
3000 <span class="DESCRIPTION"><pre>       PartitionTable attribute (14.2.5)\r
3001 </pre>\r
3002 </span><p><strong>SOURCE</strong></p>\r
3003 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_P_KEY_TABLE</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0016))\r
3004 </pre>\r
3005 </span>\r
3006 <hr />\r
3007 \r
3008 <h2><a name="robo725">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPATH5fRECORD">\r
3009 IBA Base: Constants/IB_MAD_ATTR_PATH_RECORD</a></h2>\r
3010 \r
3011 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3012 <p><strong>NAME</strong></p>\r
3013 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PATH_RECORD</strong>\r
3014 </pre>\r
3015 </span><p><strong>DESCRIPTION</strong></p>\r
3016 <span class="DESCRIPTION"><pre>       PathRecord attribute (15.2.5)\r
3017 </pre>\r
3018 </span><p><strong>SOURCE</strong></p>\r
3019 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PATH_RECORD</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0035))\r
3020 </pre>\r
3021 </span>\r
3022 <hr />\r
3023 \r
3024 <h2><a name="robo726">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPKEYTBL5fRECORD">\r
3025 IBA Base: Constants/IB_MAD_ATTR_PKEYTBL_RECORD</a></h2>\r
3026 \r
3027 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3028 <p><strong>NAME</strong></p>\r
3029 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PKEYTBL_RECORD</strong>\r
3030 </pre>\r
3031 </span><p><strong>DESCRIPTION</strong></p>\r
3032 <span class="DESCRIPTION"><pre>       PKEY Table Record attribute (15.2.5)\r
3033 </pre>\r
3034 </span><p><strong>SOURCE</strong></p>\r
3035 <span class="SOURCE"><pre>#define IB_MAD_ATTR_PKEY_TBL_RECORD                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0033))\r
3036 </pre>\r
3037 </span>\r
3038 <hr />\r
3039 \r
3040 <h2><a name="robo727">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPORT5fCNTRS">\r
3041 IBA Base: Constants/IB_MAD_ATTR_PORT_CNTRS</a></h2>\r
3042 \r
3043 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3044 <p><strong>NAME</strong></p>\r
3045 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PORT_CNTRS</strong>\r
3046 </pre>\r
3047 </span><p><strong>DESCRIPTION</strong></p>\r
3048 <span class="DESCRIPTION"><pre>       SwitchInfo attribute (16.1.2)\r
3049 </pre>\r
3050 </span><p><strong>SOURCE</strong></p>\r
3051 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PORT_CNTRS</strong>                          (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0012))\r
3052 </pre>\r
3053 </span>\r
3054 <hr />\r
3055 \r
3056 <h2><a name="robo728">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPORT5fINFO">\r
3057 IBA Base: Constants/IB_MAD_ATTR_PORT_INFO</a></h2>\r
3058 \r
3059 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3060 <p><strong>NAME</strong></p>\r
3061 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PORT_INFO</strong>\r
3062 </pre>\r
3063 </span><p><strong>DESCRIPTION</strong></p>\r
3064 <span class="DESCRIPTION"><pre>       PortInfo attribute (14.2.5)\r
3065 </pre>\r
3066 </span><p><strong>SOURCE</strong></p>\r
3067 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PORT_INFO</strong>                           (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0015))\r
3068 </pre>\r
3069 </span>\r
3070 <hr />\r
3071 \r
3072 <h2><a name="robo729">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPORT5fSMPL5fCTRL">\r
3073 IBA Base: Constants/IB_MAD_ATTR_PORT_SMPL_CTRL</a></h2>\r
3074 \r
3075 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3076 <p><strong>NAME</strong></p>\r
3077 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PORT_SMPL_CTRL</strong>\r
3078 </pre>\r
3079 </span><p><strong>DESCRIPTION</strong></p>\r
3080 <span class="DESCRIPTION"><pre>       NodeDescription attribute (16.1.2)\r
3081 </pre>\r
3082 </span><p><strong>SOURCE</strong></p>\r
3083 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PORT_SMPL_CTRL</strong>                      (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0010))\r
3084 </pre>\r
3085 </span>\r
3086 <hr />\r
3087 \r
3088 <h2><a name="robo730">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPORT5fSMPL5fRSLT">\r
3089 IBA Base: Constants/IB_MAD_ATTR_PORT_SMPL_RSLT</a></h2>\r
3090 \r
3091 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3092 <p><strong>NAME</strong></p>\r
3093 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PORT_SMPL_RSLT</strong>\r
3094 </pre>\r
3095 </span><p><strong>DESCRIPTION</strong></p>\r
3096 <span class="DESCRIPTION"><pre>       NodeInfo attribute (16.1.2)\r
3097 </pre>\r
3098 </span><p><strong>SOURCE</strong></p>\r
3099 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PORT_SMPL_RSLT</strong>                      (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0011))\r
3100 </pre>\r
3101 </span>\r
3102 <hr />\r
3103 \r
3104 <h2><a name="robo731">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPORTINFO5fRECORD">\r
3105 IBA Base: Constants/IB_MAD_ATTR_PORTINFO_RECORD</a></h2>\r
3106 \r
3107 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3108 <p><strong>NAME</strong></p>\r
3109 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PORTINFO_RECORD</strong>\r
3110 </pre>\r
3111 </span><p><strong>DESCRIPTION</strong></p>\r
3112 <span class="DESCRIPTION"><pre>       PortInfoRecord attribute (15.2.5)\r
3113 </pre>\r
3114 </span><p><strong>SOURCE</strong></p>\r
3115 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PORTINFO_RECORD</strong>                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0012))\r
3116 </pre>\r
3117 </span>\r
3118 <hr />\r
3119 \r
3120 <h2><a name="robo732">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fPREPARE5fTO5fTEST">\r
3121 IBA Base: Constants/IB_MAD_ATTR_PREPARE_TO_TEST</a></h2>\r
3122 \r
3123 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3124 <p><strong>NAME</strong></p>\r
3125 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_PREPARE_TO_TEST</strong>\r
3126 </pre>\r
3127 </span><p><strong>DESCRIPTION</strong></p>\r
3128 <span class="DESCRIPTION"><pre>       PrepareToTest attribute (16.3.3)\r
3129 </pre>\r
3130 </span><p><strong>SOURCE</strong></p>\r
3131 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_PREPARE_TO_TEST</strong>                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0021))\r
3132 </pre>\r
3133 </span>\r
3134 <hr />\r
3135 \r
3136 <h2><a name="robo733">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fRND5fFWD5fTBL">\r
3137 IBA Base: Constants/IB_MAD_ATTR_RND_FWD_TBL</a></h2>\r
3138 \r
3139 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3140 <p><strong>NAME</strong></p>\r
3141 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_RND_FWD_TBL</strong>\r
3142 </pre>\r
3143 </span><p><strong>DESCRIPTION</strong></p>\r
3144 <span class="DESCRIPTION"><pre>       Switch random forwarding table\r
3145 </pre>\r
3146 </span><p><strong>SOURCE</strong></p>\r
3147 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_RND_FWD_TBL</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x001A))\r
3148 </pre>\r
3149 </span>\r
3150 <hr />\r
3151 \r
3152 <h2><a name="robo734">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSERVICE5fENTRIES">\r
3153 IBA Base: Constants/IB_MAD_ATTR_SERVICE_ENTRIES</a></h2>\r
3154 \r
3155 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3156 <p><strong>NAME</strong></p>\r
3157 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_SERVICE_ENTRIES</strong>\r
3158 </pre>\r
3159 </span><p><strong>DESCRIPTION</strong></p>\r
3160 <span class="DESCRIPTION"><pre>       ServiceEntries attribute (16.3.3)\r
3161 </pre>\r
3162 </span><p><strong>SOURCE</strong></p>\r
3163 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_SERVICE_ENTRIES</strong>                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0012))\r
3164 </pre>\r
3165 </span>\r
3166 <hr />\r
3167 \r
3168 <h2><a name="robo735">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSERVICE5fRECORD">\r
3169 IBA Base: Constants/IB_MAD_ATTR_SERVICE_RECORD</a></h2>\r
3170 \r
3171 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3172 <p><strong>NAME</strong></p>\r
3173 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_SERVICE_RECORD</strong>\r
3174 </pre>\r
3175 </span><p><strong>DESCRIPTION</strong></p>\r
3176 <span class="DESCRIPTION"><pre>       ServiceRecord attribute (15.2.5)\r
3177 </pre>\r
3178 </span><p><strong>SOURCE</strong></p>\r
3179 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_SERVICE_RECORD</strong>                      (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0031))\r
3180 </pre>\r
3181 </span>\r
3182 <hr />\r
3183 \r
3184 <h2><a name="robo736">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSLVL5fRECORD">\r
3185 IBA Base: Constants/IB_MAD_ATTR_SLVL_RECORD</a></h2>\r
3186 \r
3187 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3188 <p><strong>NAME</strong></p>\r
3189 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_SLVL_RECORD</strong>\r
3190 </pre>\r
3191 </span><p><strong>DESCRIPTION</strong></p>\r
3192 <span class="DESCRIPTION"><pre>       SLtoVL Mapping Table Record attribute (15.2.5)\r
3193 </pre>\r
3194 </span><p><strong>SOURCE</strong></p>\r
3195 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_SLVL_RECORD</strong>                         (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0013))\r
3196 </pre>\r
3197 </span>\r
3198 <hr />\r
3199 \r
3200 <h2><a name="robo737">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSLVL5fTABLE">\r
3201 IBA Base: Constants/IB_MAD_ATTR_SLVL_TABLE</a></h2>\r
3202 \r
3203 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3204 <p><strong>NAME</strong></p>\r
3205 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_SLVL_TABLE</strong>\r
3206 </pre>\r
3207 </span><p><strong>DESCRIPTION</strong></p>\r
3208 <span class="DESCRIPTION"><pre>       SL VL Mapping Table attribute (14.2.5)\r
3209 </pre>\r
3210 </span><p><strong>SOURCE</strong></p>\r
3211 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_SLVL_TABLE</strong>                          (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0017))\r
3212 </pre>\r
3213 </span>\r
3214 <hr />\r
3215 \r
3216 <h2><a name="robo738">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSM5fINFO">\r
3217 IBA Base: Constants/IB_MAD_ATTR_SM_INFO</a></h2>\r
3218 \r
3219 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3220 <p><strong>NAME</strong></p>\r
3221 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_SM_INFO</strong>\r
3222 </pre>\r
3223 </span><p><strong>DESCRIPTION</strong></p>\r
3224 <span class="DESCRIPTION"><pre>       SMInfo attribute (14.2.5)\r
3225 </pre>\r
3226 </span><p><strong>SOURCE</strong></p>\r
3227 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_SM_INFO</strong>                                     (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0020))\r
3228 </pre>\r
3229 </span>\r
3230 <hr />\r
3231 \r
3232 <h2><a name="robo739">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSMINFO5fRECORD">\r
3233 IBA Base: Constants/IB_MAD_ATTR_SMINFO_RECORD</a></h2>\r
3234 \r
3235 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_definitions.html#top">index</a>]</p>\r
3236 <p><strong>NAME</strong></p>\r
3237 <span class="NAME"><pre>       <strong>IB_MAD_ATTR_SMINFO_RECORD</strong>\r
3238 </pre>\r
3239 </span><p><strong>DESCRIPTION</strong></p>\r
3240 <span class="DESCRIPTION"><pre>       SmInfoRecord attribute (15.2.5)\r
3241 </pre>\r
3242 </span><p><strong>SOURCE</strong></p>\r
3243 <span class="SOURCE"><pre>#define <strong>IB_MAD_ATTR_SMINFO_RECORD</strong>                       (<a href="../complib/cl_byteswap_h.html#robo291">CL_NTOH16</a>(0x0018))\r
3244 </pre>\r
3245 </span>\r
3246 <hr />\r
3247 \r
3248 <h2><a name="robo740">[Definitions]<a name="IBA20Base3a20Constants2fIB5fMAD5fATTR5fSVC5fASSOCIATION5fRECORD">\r
3249 IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD</a></h2>\r