1cfgadm_ib(1M) System Administration Commands cfgadm_ib(1M)
2
3
4
6 cfgadm_ib - InfiniBand hardware specific commands for cfgadm
7
9 /usr/sbin/cfgadm -f [-y | -n] [-v] -c function ap_id...
10
11
12 /usr/sbin/cfgadm [-f] [-y | -n] [-v] [-o hardware_options]
13 -x hardware_function ap_id...
14
15
16 /usr/sbin/cfgadm -v [-a] [-s listing_option] [-] [ap_id | ap_type...]
17
18
19 /usr/sbin/cfgadm -v -h [ap_id]...
20
21
23 The InfiniBand hardware specific library /usr/lib/cfgadm/ib.so.1 pro‐
24 vides the functionality for administering its fabric through the
25 cfgadm(1M) utility. cfgadm operates on attachment points. See
26 cfgadm(1M).
27
28
29 An InfiniBand (IB) device is enumerated by the IB nexus driver, ib(7D),
30 based on the services from the IB Device Manager (IBDM).
31
32
33 The IB nexus driver creates and initializes five types of child device
34 nodes:
35
36 o IB Port devices
37
38 o IB HCA service (HCA_SVC) devices
39
40 o IB Virtual Physical Point of Attachment (VPPA) devices
41
42 o I/O Controller (IOC)
43
44 o IB Pseudo devices
45
46
47 See ib(7D) for details on enumeration of IB Port, IB VPPA, and IB
48 HCA_SVC devices. For additional information on IBDM, see ibdm(7D). See
49 ib(4) for details on IB Pseudo devices.
50
51
52 For IB administration, two types of static attachment point are created
53 for the fabric administration as seen by the given host. There is one
54 static attachment point ib and all IB devices (either an IOC, Port,
55 VPPA, HCA_SVC, or a Pseudo device) in the fabric are represented as
56 dynamic attachment points based off of it. There is another static
57 attachment point for each Host Channel Adapter (HCA) in the host based
58 on its node Globally Unique Identifier (GUID) value.
59
60
61 Attachment points are named through ap_ids. There are two types of
62 ap_ids: logical and physical. The physical ap_id is based on the physi‐
63 cal path name. For the IB fabric it is /devices/ib:fabric. The logical
64 ap_id is a shorter, and has a more user friendly name.
65
66
67 The static ap_id for the IB fabric is ib. The IB devices are dynamic
68 attachment points and have no physical ap_id. The logical ap_id of an
69 IOC contains its GUID, ib::IOC-GUID. An example of an IOC ap_id is
70 ib::80020123456789a. The logical ap_id of a Pseudo device, see ib(4)
71 for details, is of the format ib::driver_name,unit-address. An example
72 of a pseudo ap_id would be ib::sdp,0 where "sdp" is the driver name and
73 "0" is its unit-address property. The logical ap_id of Port, VPPA and
74 HCA_SVC device contains its Partition Key (P_Key), Port GUID / Node
75 GUID and a communication service-name. The format of ap_id is as below:
76
77 Port device
78
79 ib::PORT_GUID,0,service-name
80
81
82 VPPA device
83
84 ib::PORT_GUID,P_Key,service-name
85
86
87 HCA_SVC device
88
89 ib::HCA_GUID,0,servicename
90
91
92
93 The Partition Key (P_Key) is 0 for Port and HCA_SVC devices. The P_Key
94 helps determine the partition to which this port belongs for a VPPA
95 device node. A port might have more than one P_Key. An example of a
96 VPPA device logical ap_id point is ib::80245678,ffff,ipib. The port-
97 GUID is 80245678, the P_Key is 0xffff, and the service name is ipib.
98 The service-name information is obtained from the file /ker‐
99 nel/drv/ib.conf which contains service-name strings. The HCA's logical
100 ap_id contains its node GUID value, hca:HCA-GUID. An example is
101 hca:21346543210a987.
102
103
104 A listing of the IB attachment points includes information on all IB
105 devices (IOC, VPPA, HCA_SVC, Pseudo, and Port devices seen by the IBDM
106 and the IB nexus driver) in the fabric even if they are not seen by the
107 host and configured for use.
108
109
110 The following shows a listing of five IB devices (two IOC, one VPPA,
111 one Port, one HCA_SVC) and one HCA:
112
113 example# cfgadm -al
114 Ap_Id Type Receptacle Occupant Condition
115 hca:21346543210a987 IB-HCA connected configured ok
116 ib IB-FABRIC connected configured ok
117 ib::80020123456789a IB-IOC connected configured ok
118 ib::802abc9876543 IB-IOC connected unconfigured unknown
119 ib::80245678,ffff,ipib IB-VPPA connected configured ok
120 ib::12245678,0,nfs IB-PORT connected configured ok
121 ib::21346543,0,hnfs IB-HCA_SVC connected configured ok
122 ib::sdp,0 IB-PSEUDO connected configured ok
123
124
125
126
127 The ap_id ib::802abc9876543 shows an IOC device that is not yet config‐
128 ured by the host for use or had been previously offlined by an explicit
129
130 cfgadm -c unconfigure
131
132
133
134
135 operation. The distinction was made by the information displayed under
136 the Condition column. The IB device with a zero P_Key and HCA GUID is a
137 HCA_SVC device. Refer to cfgadm(1M) for more information regarding
138 listing attachment points.
139
140
141 The receptacle state for attachment points have the following meanings:
142
143 connected
144
145 For an IOC/VPPA/Port/Pseudo/HCA_SVC device, connected implies that
146 it has been seen by the host. The device might not have been con‐
147 figured for use by Solaris.
148
149 For a HCA attachment point, connected implies that it has been con‐
150 figured and is in use.
151
152 All IB ap_ids are always shown as connected.
153
154
155
156 The occupant state for attachment points have the following meanings:
157
158 configured
159
160 The IB device, and the HCA ap_id, are configured and usable by
161 Solaris.
162
163
164 unconfigured
165
166 The IB device at the ap_id was explicitly offlined using cfgadm -c
167 unconfigure, was not successfully configured. This could be because
168 it wasn not successfully configuref for use with Solaris (no
169 driver, or a device problem), or because it was never configured
170 for use by the IB nexus driver.
171
172 The unconfigured operation is not supported for the HCA attachment
173 point. The IB static apid, ib, is shown unconfigured if the system
174 has no IB hardware.
175
176
177
178 The attachment point conditions are:
179
180 failed
181
182 Not used.
183
184
185 failing
186
187 Not used.
188
189
190 ok
191
192 Normal state. Ready for use.
193
194
195 unknown
196
197 This state is only valid for IB device that have been probed by
198 IBDM but not yet configured for use by Solaris. It is also shown
199 for devices that have been explicitly offlined by a cfgadm -c
200 unconfigure operation. This condition does not apply to a HCA
201 attachment point.
202
203
204 unusable
205
206 Not used.
207
208
210 The following options are supported:
211
212 -c function
213
214 The IB hardware specific library supports two generic commands
215 (functions). These commands are not supported on the static attach‐
216 ment points (that is, the HCA ap_ids and the IB static ib ap_id).
217
218 The following generic commands are supported:
219
220 configure
221
222 Configure the IB device to be used by Solaris.
223
224
225 unconfigure
226
227 Unconfigure the IB device. If successful, cfgadm reports the
228 condition of this ap_id as unknown.
229
230
231
232 -f
233
234 Not supported.
235
236
237 -h ap_id
238
239 Obtain IB specific help for an IB attachment point.
240
241
242 -l
243
244 List the state and condition of IB attachment points. The -l option
245 works as described in cfgadm(1M).
246
247 When paired with the -a option, displays the dynamic attachment
248 points as well (IOC, VPPA, Port, Pseudo, and HCA_SVC devices).
249
250 When paired with -v option, displays verbose data about the ap_ids.
251 For an IOC, the Info field in the
252
253 cfgadm -avl
254
255
256 output displays the following information: VendorID, IOCDeviceID,
257 DeviceVersion, SubsystemVendorID, SubsystemID, Class, Subclass,
258 Protocol, ProtocolVersion and IDString from the IOCControllerPro‐
259 file. If the ID string isn't provided then nothing is displayed in
260 its place. These fields are defined in the InfiniBand Specification
261 Volume 1 (http://www.infinibandta.org).
262
263 For a VPPA, Port, or HCA_SVC device the Info field in the cfgadm
264 -lav display shows the service name information to which this
265 device is bound. If no such information exists, nothing is dis‐
266 played.
267
268 For a Pseudo device cfgadm -alv displays the driver name and its
269 unit-address information. For a HCA the verbose listing displays
270 the VendorID, ProductID of the HCA, number of ports it has, and the
271 PortGUID value of its ports. See EXAMPLES.
272
273
274 -o hardware_option
275
276 This option is not currently defined.
277
278
279 -s listing_option
280
281 Attachment points of class ib can be listed by using the select
282 sub-option. Refer to the cfgadm(1M) man page for more information.
283
284
285 -x hardware_function
286
287 Perform a hardware specific function. Note that the name can not be
288 more than 4 characters long.
289
290 The following hardware specific functions are supported:
291
292 add_service -ocomm=[port|vppa|hca_svc],service=name
293
294 This hardware specific function is supported on the static IB
295 attachment point. It can be used to add a new service to /ker‐
296 nel/drv/ib.conf file and to update the ib(7D) driver.
297
298 You must use the service=name option to indicate the new ser‐
299 vice to be added. You must use the option
300 comm=[port|vppa|hca_svc] option to add the name service to
301 either port-svc-list or to the hca-svc-list in the /ker‐
302 nel/drv/ib.conf file. See EXAMPLES.
303
304
305 delete_service -ocomm=[port|vppa|hca_svc],service=name
306
307 This hardware specific function is supported on the static IB
308 attachment point only. It can be used to delete an existing
309 service from the /kernel/drv/ib.conf file and also from the
310 ib(7D) driver's data base. You must use the service=name option
311 to indicate which service to delete. You must use the
312 comm=[port|vppa|hca_svc] option to delete this service from the
313 port-svc-list, vppa-svc-list, or vppa-svc-list of the /ker‐
314 nel/drv/ib.conf file. See EXAMPLES.
315
316
317 list_clients
318
319 Supported on HCA attachment points. Displays all the kernel IB
320 clients using this HCA. It also displays the respective ap_ids
321 of these kernel IB clients and if they have opened an alternate
322 HCA device. See EXAMPLES.
323
324 .
325
326 If a given kernel IB client does not have a valid ap_id then a
327 - is displayed in that column.
328
329
330 list_services
331
332 This hardware specific function is supported on the static IB
333 attachment point only. It lists all the Port and VPPA services
334 as read from the /kernel/drv/ib.conf file. See EXAMPLES.
335
336
337 unconfig_clients
338
339 This hardware specific function is supported on the static HCA
340 attachment point only. It can be used to unconfigure all IB
341 kernel clients of this given HCA. Only IB kernel clients that
342 do not have an alternate HCA are unconfigured. See EXAMPLES.
343
344
345 update_ioc_config
346
347 This hardware specific function is supported on static ib
348 attachment point and the IOC attachment points. For the ib
349 APID, this function updates properties of all the IOC device
350 nodes. For the IOC APID, this function updates the properties
351 of specified IOC device node. This command updates the port-
352 list, port-entries, service-id, and service-name IOC node prop‐
353 erties .
354
355 See ib(7D).
356
357
358 update_pkey_tbls
359
360 Supported on the static ib attachment point. Updates the PKEY
361 information inside IBTL. IBTL re-reads the P_Key tables for all
362 the ports on each HCA present on the host.
363
364 See ibtl(7D).
365
366
367
369 Example 1 Listing the State and Condition of IB Devices
370
371
372 The following command lists the state and condition of IB devices on
373 the system. It only shows the static attachment points.
374
375
376 example# cfgadm
377 hca:21346543210a987 IB-HCA connected configured ok
378 ib IB-FABRIC connected configured ok
379
380
381
382
383 The -a option lists all attachment points. The following example uses
384 the -a option and lists all attachment points:
385
386
387 example# cfgadm -a
388 hca:21346543210a987 IB-HCA connected configured ok
389 ib IB-FABRIC connected configured ok
390 ib::80020123456789a IB-IOC connected unconfigured ok
391 ib::80245678,ffff,ipib IB-VPPA connected configured ok
392 ib::21346543,0,hnfs IB-HCA_SVC connected configured ok
393 ib::12245678,0,nfs IB-PORT connected configured ok
394 ib::sdp,0 IB-PSEUDO connected configured ok
395
396
397
398 Example 2 Listing the Verbose Status of a IB VPPA Device
399
400
401 The following command lists the verbose status of a IB VPPA device:
402
403
404 example# cfgadm -alv ib::80245678,ffff,ipib
405 Ap_Id Receptacle Occupant Condition Information
406 When Type Busy Phys_Id
407 ib::80245678,ffff,ipib connected configured ok ipib
408 unavailable IB-VPPA n /devices/ib:fabric::80245678,ffff,ipib
409
410
411
412
413 A verbose listing of an IOC shows additional information. The following
414 command shows a verbose listing:
415
416
417 example# cfgadm -alv ib::80020123456789a
418 Ap_Id Receptacle Occupant Condition Information
419 When Type Busy Phys_Id
420 ib::80020123456789a connected configured ok VID: 0xeaea
421 DEVID: 0xeaea VER: 0x5 SUBSYS_VID: 0x0 SUBSYS_ID: 0x0 CLASS: 0xffff
422 SUBCLASS: 0xff PROTO: 0xff PROTOVER: 0x1 ID_STRING: Sample Host Adapter
423 unavailable IB-IOC n /devices/ib:fabric::80020123456789a
424
425
426
427
428 A verbose listing of a Pseudo device shows:
429
430
431 example# cfgadm -alv ib::sdp,0
432 Ap_Id Receptacle Occupant Condition Information
433 When Type Busy Phys_Id
434 ib::sdp,0 connected configured ok Driver = "sd
435 p" Unit-address = "0"
436 unavailable IB-PSEUDO n /devices/ib:fabric::sdp,0
437
438
439
440
441 A verbose listing of a HCA shows:
442
443
444 example# cfgadm -alv hca:21346543210a987
445 Ap_Id Receptacle Occupant Condition Information
446 When Type Busy Phys_Id
447 hca:21346543210a987 connected configured ok VID: 0x15b3,
448 PID: 0x5a44, #ports: 0x2, port1 GUID: 0x80245678, port2 GUID: 0x80245679
449 unavailable IB-HCA n /devices/ib:21346543210a987
450
451
452
453
454 You can obtain more user-friendly output if you specify these following
455 cfgadm class and field selection options: -s
456 "select=class(ib),cols=ap_id:info"
457
458
459
460 The following command displays only IB ap_ids. The output only includes
461 the ap_id and Information fields.
462
463
464
465 # cfgadm -al -s "cols=ap_id:info" ib::80245678,ffff,ipib
466 Ap_Id Information
467 ib::80245678,ffff,ipib ipib
468
469
470
471 Example 3 Unconfiguring an Existing IB IOC
472
473
474 The following command unconfigures the IB IOC attached to
475 ib::80020123456789a, then displays the status of the ap_id:
476
477
478 # cfgadm -c unconfigure ib::80020123456789a
479 Unconfigure the device: /devices/ib:fabric::80020123456789a
480 This operation will suspend activity on the IB device
481 Continue (yes/no)?
482
483
484
485
486 Enter: y
487
488
489 IB device unconfigured successfully.
490 # cfgadm -al ib::80020123456789a
491 Ap_Id Type Receptacle Occupant Condition
492 ib::80020123456789 IB-IOC connected unconfigured unknown
493 #
494
495
496
497
498 The condition unknown implies that the device node doesn't exist any‐
499 more and this IB device's existence is known only to the IB Device Man‐
500 ager.
501
502
503 Example 4 Configuring an IB IOC
504
505
506 The following series of commands configures an IB device attached to
507 ib::80020123456789a:
508
509
510 # cfgadm -yc configure ib::80020123456789a
511 # cfgadm -al ib::80020123456789a
512 Ap_Id Type Receptacle Occupant Condition
513 ib::80020123456789a IB-IOC connected configured ok
514
515
516
517 Example 5 Listing All Kernel IB Clients of a HCA
518
519
520 The following command lists all kernel IB clients of an HCA attached to
521 hca:21346543210a987:
522
523
524 # cfgadm -x list_clients hca:21346543210a987
525 Attachment Point Clients Alternate HCA
526 ib::80020123456789a ioc1 Yes
527 ib::80245678,ffff,ipib ipib No
528 ib::21346543,0,hnfs hnfs No
529 - ibdm No
530 - ibmf No
531
532
533
534 Example 6 Adding a Port Service
535
536
537 The following command adds a new Port service called srp:
538
539
540 # cfgadm -o comm=port,service=srp -x add_service ib
541
542
543
544 Example 7 Deleting a VPPA Service
545
546
547 The following command deletes the ibd VPPA service ibd:
548
549
550 # cfgadm -o comm=vppa,service=ipib -x delete_service ib
551
552
553
554 Example 8 Listing Port, VPPA, HCA_SVC Services
555
556
557 The following command lists all Port, VPPA, and HCA_SVC services:
558
559
560 # cfgadm -x list_services ib
561 Port communication services:
562 srp
563
564 VPPA communication services:
565 ipib
566 nfs
567
568 HCA_SVC communication services:
569 hnfs
570
571
572
573 Example 9 Reprobing IOC Devices
574
575
576 The following command reprobes all IOC device nodes.
577
578
579 # cfgadm -x update_ioc_config ib
580 This operation can update properties of IOC devices.
581 Continue (yes/no)?
582
583 Enter: y
584
585 #
586
587
588
589 Example 10 Unconfiguring All Kernel Clients of a HCA
590
591
592 The following command unconfigures all kernel clients of a HCA
593
594
595 # cfgadm -x unconfig_clients hca:21346543
596 This operation will unconfigure clients of this HCA.
597 Continue (yes/no)?
598
599 Enter: y
600
601
602
604 /usr/lib/cfgadm/ib.so.1
605
606 Hardware-specific library for generic InfiniBand device administra‐
607 tion
608
609
611 See attributes(5) for descriptions of the following attributes:
612
613
614
615
616 ┌─────────────────────────────┬─────────────────────────────┐
617 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
618 ├─────────────────────────────┼─────────────────────────────┤
619 │Availability │SUNWcsl │
620 └─────────────────────────────┴─────────────────────────────┘
621
623 cfgadm(1M), config_admin(3CFGADM), libcfgadm(3LIB), ib(4),
624 attributes(5), ib(7D), ibdm(7D), ibtl(7D)
625
626
627 InfiniBand Specification Volume 1 (http://www.infinibandta.org)
628
630 Apart from the listing (cfgadm -l or cfgadm -x list_clients), only the
631 superuser can execute any functions on an attachment point.
632
633
634
635SunOS 5.11 2 Jul 2008 cfgadm_ib(1M)