Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
sysfs interface common for all infiniband devices
-------------------------------------------------

What:		/sys/class/infiniband/<device>/node_type
What:		/sys/class/infiniband/<device>/node_guid
What:		/sys/class/infiniband/<device>/sys_image_guid
Date:		Apr, 2005
KernelVersion:	v2.6.12
Contact:	linux-rdma@vger.kernel.org
Description:
		node_type:	(RO) Node type (CA, RNIC, usNIC, usNIC UDP,
				switch or router)

		node_guid:	(RO) Node GUID

		sys_image_guid:	(RO) System image GUID


What:		/sys/class/infiniband/<device>/node_desc
Date:		Feb, 2006
KernelVersion:	v2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:
		(RW) Update the node description with information such as the
		node's hostname, so that IB network management software can tie
		its view to the real world.


What:		/sys/class/infiniband/<device>/fw_ver
Date:		Jun, 2016
KernelVersion:	v4.10
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) Display firmware version


What:		/sys/class/infiniband/<device>/ports/<port-num>/lid
What:		/sys/class/infiniband/<device>/ports/<port-num>/rate
What:		/sys/class/infiniband/<device>/ports/<port-num>/lid_mask_count
What:		/sys/class/infiniband/<device>/ports/<port-num>/sm_sl
What:		/sys/class/infiniband/<device>/ports/<port-num>/sm_lid
What:		/sys/class/infiniband/<device>/ports/<port-num>/state
What:		/sys/class/infiniband/<device>/ports/<port-num>/phys_state
What:		/sys/class/infiniband/<device>/ports/<port-num>/cap_mask
Date:		Apr, 2005
KernelVersion:	v2.6.12
Contact:	linux-rdma@vger.kernel.org
Description:

		lid:		(RO) Port LID

		rate:		(RO) Port data rate (active width * active
				speed)

		lid_mask_count:	(RO) Port LID mask count

		sm_sl:		(RO) Subnet manager SL for port's subnet

		sm_lid:		(RO) Subnet manager LID for port's subnet

		state:		(RO) Port state (DOWN, INIT, ARMED, ACTIVE or
				ACTIVE_DEFER)

		phys_state:	(RO) Port physical state (Sleep, Polling,
				LinkUp, etc)

		cap_mask:	(RO) Port capability mask. 2 bits here are
				settable- IsCommunicationManagementSupported
				(set when CM module is loaded) and IsSM (set via
				open of issmN file).


What:		/sys/class/infiniband/<device>/ports/<port-num>/link_layer
Date:		Oct, 2010
KernelVersion:	v2.6.37
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) Link layer type information (Infiniband or Ethernet type)


What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/symbol_error
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_remote_physical_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_switch_relay_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/link_error_recovery
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_constraint_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_contraint_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/local_link_integrity_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/excessive_buffer_overrun_errors
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_data
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_data
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_packets
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_packets
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/unicast_rcv_packets
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/unicast_xmit_packets
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/multicast_rcv_packets
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/multicast_xmit_packets
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/link_downed
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_discards
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/VL15_dropped
What:		/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_wait
Date:		Apr, 2005
KernelVersion:	v2.6.12
Contact:	linux-rdma@vger.kernel.org
Description:
		Errors info:
		-----------

		symbol_error: (RO) Total number of minor link errors detected on
		one or more physical lanes.

		port_rcv_errors : (RO) Total number of packets containing an
		error that were received on the port.

		port_rcv_remote_physical_errors : (RO) Total number of packets
		marked with the EBP delimiter received on the port.

		port_rcv_switch_relay_errors : (RO) Total number of packets
		received on the port that were discarded because they could not
		be forwarded by the switch relay.

		link_error_recovery: (RO) Total number of times the Port
		Training state machine has successfully completed the link error
		recovery process.

		port_xmit_constraint_errors: (RO) Total number of packets not
		transmitted from the switch physical port due to outbound raw
		filtering or failing outbound partition or IP version check.

		port_rcv_constraint_errors: (RO) Total number of packets
		received on the switch physical port that are discarded due to
		inbound raw filtering or failing inbound partition or IP version
		check.

		local_link_integrity_errors: (RO) The number of times that the
		count of local physical errors exceeded the threshold specified
		by LocalPhyErrors

		excessive_buffer_overrun_errors: (RO) This counter, indicates an
		input buffer overrun. It indicates possible misconfiguration of
		a port, either by the Subnet Manager (SM) or by user
		intervention. It can also indicate hardware issues or extremely
		poor link signal integrity

		Data info:
		---------

		port_xmit_data: (RO) Total number of data octets, divided by 4
		(lanes), transmitted on all VLs. This is 64 bit counter

		port_rcv_data: (RO) Total number of data octets, divided by 4
		(lanes), received on all VLs. This is 64 bit counter.

		port_xmit_packets: (RO) Total number of packets transmitted on
		all VLs from this port. This may include packets with errors.
		This is 64 bit counter.

		port_rcv_packets: (RO) Total number of packets (this may include
		packets containing Errors. This is 64 bit counter.

		link_downed: (RO) Total number of times the Port Training state
		machine has failed the link error recovery process and downed
		the link.

		unicast_rcv_packets: (RO) Total number of unicast packets,
		including unicast packets containing errors.

		unicast_xmit_packets: (RO) Total number of unicast packets
		transmitted on all VLs from the port. This may include unicast
		packets with errors.

		multicast_rcv_packets: (RO) Total number of multicast packets,
		including multicast packets containing errors.

		multicast_xmit_packets: (RO) Total number of multicast packets
		transmitted on all VLs from the port. This may include multicast
		packets with errors.

		Misc info:
		---------

		port_xmit_discards: (RO) Total number of outbound packets
		discarded by the port because the port is down or congested.

		VL15_dropped: (RO) Number of incoming VL15 packets dropped due
		to resource limitations (e.g., lack of buffers) of the port.

		port_xmit_wait: (RO) The number of ticks during which the port
		had data to transmit but no data was sent during the entire tick
		(either because of insufficient credits or because of lack of
		arbitration).

		Each of these files contains the corresponding value from the
		port's Performance Management PortCounters attribute, as
		described in the InfiniBand Architecture Specification.


What:		/sys/class/infiniband/<device-name>/hw_counters/lifespan
What:		/sys/class/infiniband/<device-name>/ports/<port-num>/hw_counters/lifespan
Date:		May, 2016
KernelVersion:	4.6
Contact:	linux-rdma@vger.kernel.org
Description:
		The optional "hw_counters" subdirectory can be under either the
		parent device or the port subdirectories or both. If present,
		there are a list of counters provided by the hardware. They may
		match some of the counters in the counters directory, but they
		often include many other counters. In addition to the various
		counters, there will be a file named "lifespan" that configures
		how frequently the core should update the counters when they are
		being accessed (counters are not updated if they are not being
		accessed). The lifespan is in milliseconds and defaults to 10
		unless set to something else by the driver. Users may echo a
		value between 0-10000 to the lifespan file to set the length
		of time between updates in milliseconds.


What:		/sys/class/infiniband/<hca>/ports/<port-number>/gid_attrs/ndevs/<gid-index>
Date:		November 29, 2015
KernelVersion:	4.4.0
Contact:	linux-rdma@vger.kernel.org
Description: 	The net-device's name associated with the GID resides
		at index <gid-index>.

What:		/sys/class/infiniband/<hca>/ports/<port-number>/gid_attrs/types/<gid-index>
Date:		November 29, 2015
KernelVersion:	4.4.0
Contact:	linux-rdma@vger.kernel.org
Description: 	The RoCE type of the associated GID resides at index <gid-index>.
		This could either be "IB/RoCE v1" for IB and RoCE v1 based GIDs
		or "RoCE v2" for RoCE v2 based GIDs.


What:		/sys/class/infiniband_mad/umadN/ibdev
What:		/sys/class/infiniband_mad/umadN/port
What:		/sys/class/infiniband_mad/issmN/ibdev
What:		/sys/class/infiniband_mad/issmN/port
Date:		Apr, 2005
KernelVersion:	v2.6.12
Contact:	linux-rdma@vger.kernel.org
Description:
		Each port of each InfiniBand device has a "umad" device and an
		"issm" device attached. For example, a two-port HCA will have
		two umad devices and two issm devices, while a switch will have
		one device of each type (for switch port 0).

		ibdev:	(RO) Show Infiniband (IB) device name

		port:	(RO) Display port number


What:		/sys/class/infiniband_mad/abi_version
Date:		Apr, 2005
KernelVersion:	v2.6.12
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) Value is incremented if any changes are made that break
		userspace ABI compatibility of umad & issm devices.


What:		/sys/class/infiniband_cm/ucmN/ibdev
Date:		Oct, 2005
KernelVersion:	v2.6.14
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) Display Infiniband (IB) device name


What:		/sys/class/infiniband_cm/abi_version
Date:		Oct, 2005
KernelVersion:	v2.6.14
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) Value is incremented if any changes are made that break
		userspace ABI compatibility of ucm devices.


What:		/sys/class/infiniband_verbs/uverbsN/ibdev
What:		/sys/class/infiniband_verbs/uverbsN/abi_version
Date:		Sept, 2005
KernelVersion:	v2.6.14
Contact:	linux-rdma@vger.kernel.org
Description:
		ibdev:		(RO) Display Infiniband (IB) device name

		abi_version:	(RO) Show ABI version of IB device specific
				interfaces.


What:		/sys/class/infiniband_verbs/abi_version
Date:		Sep, 2005
KernelVersion:	v2.6.14
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) Value is incremented if any changes are made that break
		userspace ABI compatibility of uverbs devices.


sysfs interface for Mellanox IB HCA low-level driver (mthca)
------------------------------------------------------------

What:		/sys/class/infiniband/mthcaX/hw_rev
What:		/sys/class/infiniband/mthcaX/hca_type
What:		/sys/class/infiniband/mthcaX/board_id
Date:		Apr, 2005
KernelVersion:	v2.6.12
Contact:	linux-rdma@vger.kernel.org
Description:
		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Host Channel Adapter type: MT23108, MT25208
				(MT23108 compat mode), MT25208 or MT25204

		board_id:	(RO) Manufacturing board ID


sysfs interface for Chelsio T3 RDMA Driver (cxgb3)
--------------------------------------------------

What:		/sys/class/infiniband/cxgb3_X/hw_rev
What:		/sys/class/infiniband/cxgb3_X/hca_type
What:		/sys/class/infiniband/cxgb3_X/board_id
Date:		Feb, 2007
KernelVersion:	v2.6.21
Contact:	linux-rdma@vger.kernel.org
Description:
		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) HCA type. Here it is a driver short name.
				It should normally match the name in its bus
				driver structure (e.g.  pci_driver::name).

		board_id:	(RO) Manufacturing board id


sysfs interface for Mellanox ConnectX HCA IB driver (mlx4)
----------------------------------------------------------

What:		/sys/class/infiniband/mlx4_X/hw_rev
What:		/sys/class/infiniband/mlx4_X/hca_type
What:		/sys/class/infiniband/mlx4_X/board_id
Date:		Sep, 2007
KernelVersion:	v2.6.24
Contact:	linux-rdma@vger.kernel.org
Description:
		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Host channel adapter type

		board_id:	(RO) Manufacturing board ID


What:		/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/gids/<n>
What:		/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/admin_guids/<n>
What:		/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/pkeys/<n>
What:		/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/mcgs/
What:		/sys/class/infiniband/mlx4_X/iov/ports/<pci-slot-num>/ports/<m>/gid_idx/0
What:		/sys/class/infiniband/mlx4_X/iov/ports/<pci-slot-num>/ports/<m>/pkey_idx/<n>
Date:		Aug, 2012
KernelVersion:	v3.6.15
Contact:	linux-rdma@vger.kernel.org
Description:
		The sysfs iov directory is used to manage and examine the port
		P_Key and guid paravirtualization. This directory is added only
		for the master -- slaves do not have it.

		Under iov/ports, the administrator may examine the gid and P_Key
		tables as they are present in the device (and as are seen in the
		"network view" presented to the SM).

		The "pkeys" and "gids" subdirectories contain one file for each
		entry in the port's P_Key or GID table respectively. For
		example, ports/1/pkeys/10 contains the value at index 10 in port
		1's P_Key table.

		gids/<n>:		(RO) The physical port gids n = 0..127

		admin_guids/<n>:	(RW) Allows examining or changing the
					administrative state of a given GUID
					n = 0..127

		pkeys/<n>:		(RO) Displays the contents of the physical
					key table n = 0..126

		mcgs/:			(RO) Muticast group table

		<m>/gid_idx/0:		(RO) Display the GID mapping m = 1..2

		<m>/pkey_idx/<n>:	(RW) Writable except for RoCE pkeys.
					m = 1..2, n = 0..126

					Under the iov/<pci slot number>
					directories, the admin may map the index
					numbers in the physical tables (as under
					iov/ports) to the paravirtualized index
					numbers that guests see.

					For example, if the administrator, for
					port 1 on guest 2 maps physical pkey
					index 10 to virtual index 1, then that
					guest, whenever it uses its pkey index
					1, will actually be using the real pkey
					index 10.


What:		/sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/smi_enabled
What:           /sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/enable_smi_admin
Date:		May, 2014
KernelVersion:	v3.15.7
Contact:	linux-rdma@vger.kernel.org
Description:
		Enabling QP0 on VFs for selected VF/port. By default, no VFs are
		enabled for QP0 operation.

		smi_enabled:	(RO) Indicates whether smi is currently enabled
				for the indicated VF/port

		enable_smi_admin:(RW) Used by the admin to request that smi
				capability be enabled or disabled for the
				indicated VF/port. 0 = disable, 1 = enable.

		The requested enablement will occur at the next reset of the VF
		(e.g. driver restart on the VM which owns the VF).


sysfs interface for Chelsio T4/T5 RDMA driver (cxgb4)
-----------------------------------------------------

What:		/sys/class/infiniband/cxgb4_X/hw_rev
What:		/sys/class/infiniband/cxgb4_X/hca_type
What:		/sys/class/infiniband/cxgb4_X/board_id
Date:		Apr, 2010
KernelVersion:	v2.6.35
Contact:	linux-rdma@vger.kernel.org
Description:

		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Driver short name. Should normally match
				the name in its bus driver structure (e.g.
				pci_driver::name)

		board_id:	(RO) Manufacturing board id. (Vendor + device
				information)


sysfs interface for Intel IB driver qib
---------------------------------------

What:		/sys/class/infiniband/qibX/version
What:		/sys/class/infiniband/qibX/hw_rev
What:		/sys/class/infiniband/qibX/hca_type
What:		/sys/class/infiniband/qibX/board_id
What:		/sys/class/infiniband/qibX/boardversion
What:		/sys/class/infiniband/qibX/nctxts
What:		/sys/class/infiniband/qibX/localbus_info
What:		/sys/class/infiniband/qibX/tempsense
What:		/sys/class/infiniband/qibX/serial
What:		/sys/class/infiniband/qibX/nfreectxts
What:		/sys/class/infiniband/qibX/chip_reset
Date:		May, 2010
KernelVersion:	v2.6.35
Contact:	linux-rdma@vger.kernel.org
Description:
		version:	(RO) Display version information of installed software
				and drivers.

		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Host channel adapter type

		board_id:	(RO) Manufacturing board id

		boardversion:	(RO) Current version of the chip architecture

		nctxts:		(RO) Return the number of user ports (contexts)
				available

		localbus_info:	(RO) Human readable localbus info

		tempsense:	(RO) Display temp sense registers in decimal

		serial:		(RO) Serial number of the HCA

		nfreectxts:	(RO) The number of free user ports (contexts)
				available.

		chip_reset:	(WO) Reset the chip if possible by writing
				"reset" to this file. Only allowed if no user
				contexts are open that use chip resources.


What:		/sys/class/infiniband/qibX/ports/N/sl2vl/[0-15]
Date:		May, 2010
KernelVersion:	v2.6.35
Contact:	linux-rdma@vger.kernel.org
Description:
		(RO) The directory contains 16 files numbered 0-15 that specify
		the Service Level (SL). Listing the SL files returns the Virtual
		Lane (VL) as programmed by the SL.

What:		/sys/class/infiniband/qibX/ports/N/CCMgtA/cc_settings_bin
What:		/sys/class/infiniband/qibX/ports/N/CCMgtA/cc_table_bin
Date:		May, 2010
KernelVersion:	v2.6.35
Contact:	linux-rdma@vger.kernel.org
Description:
		Per-port congestion control. Both are binary attributes.

		cc_table_bin:	(RO) Congestion control table size followed by
				table entries.

		cc_settings_bin:(RO) Congestion settings: port control, control
				map and an array of 16 entries for the
				congestion entries - increase, timer, event log
				trigger threshold and the minimum injection rate
				delay.

What:		/sys/class/infiniband/qibX/ports/N/linkstate/loopback
What:		/sys/class/infiniband/qibX/ports/N/linkstate/led_override
What:		/sys/class/infiniband/qibX/ports/N/linkstate/hrtbt_enable
What:		/sys/class/infiniband/qibX/ports/N/linkstate/status
What:		/sys/class/infiniband/qibX/ports/N/linkstate/status_str
Date:		May, 2010
KernelVersion:	v2.6.35
Contact:	linux-rdma@vger.kernel.org
Description:
		[to be documented]

		loopback:	(WO)
		led_override:	(WO)
		hrtbt_enable:	(RW)
		status:		(RO)

		status_str:	(RO) Displays information about the link state,
				possible cable/switch problems, and hardware
				errors. Possible states are- "Initted",
				"Present", "IB_link_up", "IB_configured" or
				"Fatal_Hardware_Error".

What:		/sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/rdma_seq
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/rnr_naks
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/other_naks
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/rc_timeouts
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/look_pkts
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/pkt_drops
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/dma_wait
What:		/sys/class/infiniband/qibX/ports/N/diag_counters/unaligned
Date:		May, 2010
KernelVersion:	v2.6.35
Contact:	linux-rdma@vger.kernel.org
Description:
		[to be documented]


sysfs interface for Mellanox Connect-IB HCA driver mlx5
-------------------------------------------------------

What:		/sys/class/infiniband/mlx5_X/hw_rev
What:		/sys/class/infiniband/mlx5_X/hca_type
What:		/sys/class/infiniband/mlx5_X/reg_pages
What:		/sys/class/infiniband/mlx5_X/fw_pages
Date:		Jul, 2013
KernelVersion:	v3.11
Contact:	linux-rdma@vger.kernel.org
Description:
		[to be documented]


sysfs interface for Cisco VIC (usNIC) Verbs Driver
--------------------------------------------------

What:		/sys/class/infiniband/usnic_X/board_id
What:		/sys/class/infiniband/usnic_X/config
What:		/sys/class/infiniband/usnic_X/qp_per_vf
What:		/sys/class/infiniband/usnic_X/max_vf
What:		/sys/class/infiniband/usnic_X/cq_per_vf
What:		/sys/class/infiniband/usnic_X/iface
Date:		Sep, 2013
KernelVersion:	v3.14
Contact:	Christian Benvenuti <benve@cisco.com>,
		Dave Goodell <dgoodell@cisco.com>,
		linux-rdma@vger.kernel.org
Description:

		board_id:	(RO) Manufacturing board id

		config:		(RO) Report the configuration for this PF

		qp_per_vf:	(RO) Queue pairs per virtual function.

		max_vf:		(RO) Max virtual functions

		cq_per_vf:	(RO) Completion queue per virtual function

		iface:		(RO) Shows which network interface this usNIC
				entry is associated to (visible with ifconfig).

What:		/sys/class/infiniband/usnic_X/qpn/summary
What:		/sys/class/infiniband/usnic_X/qpn/context
Date:		Sep, 2013
KernelVersion:	v3.14
Contact:	Christian Benvenuti <benve@cisco.com>,
		Dave Goodell <dgoodell@cisco.com>,
		linux-rdma@vger.kernel.org
Description:
		[to be documented]


sysfs interface for Emulex RoCE HCA Driver
------------------------------------------

What:		/sys/class/infiniband/ocrdmaX/hw_rev
Date:		Feb, 2014
KernelVersion:	v3.14
Description:
		hw_rev:		(RO) Hardware revision number

What:		/sys/class/infiniband/ocrdmaX/hca_type
Date:		Jun, 2014
KernelVersion:	v3.16
Contact:	linux-rdma@vger.kernel.org
Description:
		hca_type:	(RO) Display FW version


sysfs interface for Intel Omni-Path driver (HFI1)
-------------------------------------------------

What:		/sys/class/infiniband/hfi1_X/hw_rev
What:		/sys/class/infiniband/hfi1_X/board_id
What:		/sys/class/infiniband/hfi1_X/nctxts
What:		/sys/class/infiniband/hfi1_X/serial
What:		/sys/class/infiniband/hfi1_X/chip_reset
What:		/sys/class/infiniband/hfi1_X/boardversion
What:		/sys/class/infiniband/hfi1_X/nfreectxts
What:		/sys/class/infiniband/hfi1_X/tempsense
Date:		May, 2016
KernelVersion:	v4.6
Contact:	linux-rdma@vger.kernel.org
Description:
		hw_rev:		(RO) Hardware revision number

		board_id:	(RO) Manufacturing board id

		nctxts:		(RO) Total contexts available.

		serial:		(RO) Board serial number

		chip_reset:	(WO) Write "reset" to this file to reset the
				chip if possible. Only allowed if no user
				contexts are open that use chip resources.

		boardversion:	(RO) Human readable board info

		nfreectxts:	(RO) The number of free user ports (contexts)
				available.

		tempsense:	(RO) Thermal sense information


What:		/sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin
What:		/sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_table_bin
What:		/sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_prescan
Date:		May, 2016
KernelVersion:	v4.6
Contact:	linux-rdma@vger.kernel.org
Description:
		Per-port congestion control.

		cc_table_bin:	(RO) CCA tables used by PSM2 Congestion control
				table size followed by table entries. Binary
				attribute.

		cc_settings_bin:(RO) Congestion settings: port control, control
				map and an array of 16 entries for the
				congestion entries - increase, timer, event log
				trigger threshold and the minimum injection rate
				delay. Binary attribute.

		cc_prescan:	(RW) enable prescanning for faster BECN
				response. Write "on" to enable and "off" to
				disable.

What:		/sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31]
What:		/sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31]
What:		/sys/class/infiniband/hfi1_X/ports/N/vl2mtu/[0-15]
Date:		May, 2016
KernelVersion:	v4.6
Contact:	linux-rdma@vger.kernel.org
Description:
		sc2vl/:		(RO) 32 files (0 - 31) used to translate sl->vl

		sl2sc/:		(RO) 32 files (0 - 31) used to translate sl->sc

		vl2mtu/:	(RO) 16 files (0 - 15) used to determine MTU for vl


What:		/sys/class/infiniband/hfi1_X/sdma_N/cpu_list
What:		/sys/class/infiniband/hfi1_X/sdma_N/vl
Date:		Sept, 2016
KernelVersion:	v4.8
Contact:	linux-rdma@vger.kernel.org
Description:
		sdma<N>/ contains one directory per sdma engine (0 - 15)

		cpu_list:	(RW) List of cpus for user-process to sdma
				engine assignment.

		vl:		(RO) Displays the virtual lane (vl) the sdma
				engine maps to.

		This interface gives the user control on the affinity settings
		for the device. As an example, to set an sdma engine irq
		affinity and thread affinity of a user processes to use the
		sdma engine, which is "near" in terms of NUMA configuration, or
		physical cpu location, the user will do:

		echo "3" > /proc/irq/<N>/smp_affinity_list
		echo "4-7" > /sys/devices/.../sdma3/cpu_list
		cat /sys/devices/.../sdma3/vl
		0
		echo "8" > /proc/irq/<M>/smp_affinity_list
		echo "9-12" > /sys/devices/.../sdma4/cpu_list
		cat /sys/devices/.../sdma4/vl
		1

		to make sure that when a process runs on cpus 4,5,6, or 7, and
		uses vl=0, then sdma engine 3 is selected by the driver, and
		also the interrupt of the sdma engine 3 is steered to cpu 3.
		Similarly, when a process runs on cpus 9,10,11, or 12 and sets
		vl=1, then engine 4 will be selected and the irq of the sdma
		engine 4 is steered to cpu 8.  This assumes that in the above N
		is the irq number of "sdma3", and M is irq number of "sdma4" in
		the /proc/interrupts file.


sysfs interface for Intel(R) X722 iWARP i40iw driver
----------------------------------------------------

What:		/sys/class/infiniband/i40iwX/hw_rev
What:		/sys/class/infiniband/i40iwX/hca_type
What:		/sys/class/infiniband/i40iwX/board_id
Date:		Jan, 2016
KernelVersion:	v4.10
Contact:	linux-rdma@vger.kernel.org
Description:
		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Show HCA type (I40IW)

		board_id:	(RO) I40IW board ID


sysfs interface for QLogic qedr NIC Driver
------------------------------------------

What:		/sys/class/infiniband/qedrX/hw_rev
What:		/sys/class/infiniband/qedrX/hca_type
Date:		Oct, 2016
KernelVersion:	v4.10
Contact:	linux-rdma@vger.kernel.org
Description:

		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Display HCA type


sysfs interface for VMware Paravirtual RDMA driver
--------------------------------------------------

What:		/sys/class/infiniband/vmw_pvrdmaX/hw_rev
What:		/sys/class/infiniband/vmw_pvrdmaX/hca_type
What:		/sys/class/infiniband/vmw_pvrdmaX/board_id
Date:		Oct, 2016
KernelVersion:	v4.10
Contact:	linux-rdma@vger.kernel.org
Description:

		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Host channel adapter type

		board_id:	(RO) Display PVRDMA manufacturing board ID


sysfs interface for Broadcom NetXtreme-E RoCE driver
----------------------------------------------------

What:		/sys/class/infiniband/bnxt_reX/hw_rev
What:		/sys/class/infiniband/bnxt_reX/hca_type
Date:		Feb, 2017
KernelVersion:	v4.11
Contact:	linux-rdma@vger.kernel.org
Description:
		hw_rev:		(RO) Hardware revision number

		hca_type:	(RO) Host channel adapter type