Documentation / ABI / stable / sysfs-class-infiniband


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

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
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/umad<N>/ibdev
What:		/sys/class/infiniband_mad/umad<N>/port
What:		/sys/class/infiniband_mad/issm<N>/ibdev
What:		/sys/class/infiniband_mad/issm<N>/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_verbs/uverbs<N>/ibdev
What:		/sys/class/infiniband_verbs/uverbs<N>/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 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) Multicast 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 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
		=============== ==== =========================