2018-02-01 13:34:07

by Aishwarya Pant

[permalink] [raw]
Subject: [PATCH] Documentation/ABI: update infiniband sysfs interfaces

Add documentation for core and hardware specific infiniband interfaces.
The descriptions have been collected from git commit logs, reading
through code and data sheets. Some drivers have incomplete doc and are
annotated with the comment '[to be documented]'.

Signed-off-by: Aishwarya Pant <[email protected]>
---
Documentation/ABI/testing/sysfs-class-infiniband | 755 +++++++++++++++++++++++
1 file changed, 755 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-class-infiniband b/Documentation/ABI/testing/sysfs-class-infiniband
index a86abe66a316..2e150169633b 100644
--- a/Documentation/ABI/testing/sysfs-class-infiniband
+++ b/Documentation/ABI/testing/sysfs-class-infiniband
@@ -1,3 +1,194 @@
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+Description:
+
+ lid: (RO) Port LID
+
+ rate: (RO) Port data rate (active width * active
+ speed)
+
+ lid_mask_count: (RO) Port LID mask count
+
+ sm_slL (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
+
+
+What: /sys/class/inifiniband/<device>/ports/<port-num>/link_layer
+Date: Oct, 2010
+KernelVersion: v2.6.37
+Contact: [email protected]
+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/ecessive_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: [email protected]
+Description:
+ Errors info:
+ -----------
+
+ symbol_error: (RO) Total number of minor link errors detected on
+ one or more physical lanes.
+
+ port_rcv_error : (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.
+
+ port_rcv_constraint_errors: (RO) Total number of packets
+ received on the switch physical port that are discarded.
+
+ 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/<hca>/ports/<port-number>/gid_attrs/ndevs/<gid-index>
Date: November 29, 2015
KernelVersion: 4.4.0
@@ -14,3 +205,567 @@ Description: The RoCE type of the associated GID resides at index <gid-index>.
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: [email protected]
+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: [email protected]
+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: [email protected]
+Description:
+ (RO) Display Infiniband (IB) device name
+
+
+What: /sys/class/infiniband_cm/abi_version
+Date: Oct, 2005
+KernelVersion: v2.6.14
+Contact: [email protected]
+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: [email protected]
+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: [email protected]
+Description:
+ (RO) Value is incremented if any changes are made that break
+ userspace ABI compatibility 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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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 NetEffect RNIC Low-Level iWARP driver (nes)
+---------------------------------------------------------------
+
+What: /sys/class/infiniband/nesX/hw_rev
+What: /sys/class/infiniband/nesX/hca_type
+What: /sys/class/infiniband/nesX/board_id
+Date: Feb, 2008
+KernelVersion: v2.6.25
+Contact: [email protected]
+Description:
+ hw_rev: (RO) Hardware revision number
+
+ hca_type: (RO) Host Channel Adapter type (NEX020)
+
+ board_id: (RO) Manufacturing board id
+
+
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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 <[email protected]>,
+ Dave Goodell <[email protected]>,
+ [email protected]
+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 <[email protected]>,
+ Dave Goodell <[email protected]>,
+ [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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: [email protected]
+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.
+
+
+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: [email protected]
+Description:
+ hw_rev: (RO) Hardware revision number
+
+ hca_tyoe: (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: [email protected]
+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: [email protected]
+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/fw_rev
+What: /sys/class/infiniband/bnxt_reX/hw_rev
+What: /sys/class/infiniband/bnxt_reX/hca_type
+Date: Feb, 2017
+KernelVersion: v4.11
+Contact: [email protected]
+Description:
+ fw_rev: (RO) Firmware version
+
+ hw_rev: (RO) Hardware revision number
+
+ hca_type: (RO) Host channel adapter type
--
2.16.1



2018-02-01 17:49:06

by Hal Rosenstock

[permalink] [raw]
Subject: Re: [PATCH] Documentation/ABI: update infiniband sysfs interfaces

On 2/1/2018 8:32 AM, Aishwarya Pant wrote:
> Add documentation for core and hardware specific infiniband interfaces.
> The descriptions have been collected from git commit logs, reading
> through code and data sheets. Some drivers have incomplete doc and are
> annotated with the comment '[to be documented]'.
>
> Signed-off-by: Aishwarya Pant <[email protected]>
> ---
> Documentation/ABI/testing/sysfs-class-infiniband | 755 +++++++++++++++++++++++
> 1 file changed, 755 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-class-infiniband b/Documentation/ABI/testing/sysfs-class-infiniband
> index a86abe66a316..2e150169633b 100644
> --- a/Documentation/ABI/testing/sysfs-class-infiniband
> +++ b/Documentation/ABI/testing/sysfs-class-infiniband
> @@ -1,3 +1,194 @@
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +Description:
> +
> + lid: (RO) Port LID
> +
> + rate: (RO) Port data rate (active width * active
> + speed)
> +
> + lid_mask_count: (RO) Port LID mask count
> +
> + sm_slL (RO) Subnet manager SL for port's subnet

Typo sm_sl:

> +
> + 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 and IsSM.

> +
> +
> +What: /sys/class/inifiniband/<device>/ports/<port-num>/link_layer

Typo: infiniband

> +Date: Oct, 2010
> +KernelVersion: v2.6.37
> +Contact: [email protected]
> +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/ecessive_buffer_overrun_errors

typo: 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: [email protected]
> +Description:
> + Errors info:
> + -----------
> +
> + symbol_error: (RO) Total number of minor link errors detected on
> + one or more physical lanes.
> +
> + port_rcv_error : (RO) Total number of packets containing an
> + error that were received on the port.

typo: port_rcv_errors

> +
> + 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 outbound 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/<hca>/ports/<port-number>/gid_attrs/ndevs/<gid-index>
> Date: November 29, 2015
> KernelVersion: 4.4.0
> @@ -14,3 +205,567 @@ Description: The RoCE type of the associated GID resides at index <gid-index>.
> 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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +Description:
> + (RO) Display Infiniband (IB) device name
> +
> +
> +What: /sys/class/infiniband_cm/abi_version
> +Date: Oct, 2005
> +KernelVersion: v2.6.14
> +Contact: [email protected]
> +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: [email protected]
> +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: [email protected]
> +Description:
> + (RO) Value is incremented if any changes are made that break
> + userspace ABI compatibility 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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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 NetEffect RNIC Low-Level iWARP driver (nes)
> +---------------------------------------------------------------
> +
> +What: /sys/class/infiniband/nesX/hw_rev
> +What: /sys/class/infiniband/nesX/hca_type
> +What: /sys/class/infiniband/nesX/board_id
> +Date: Feb, 2008
> +KernelVersion: v2.6.25
> +Contact: [email protected]
> +Description:
> + hw_rev: (RO) Hardware revision number
> +
> + hca_type: (RO) Host Channel Adapter type (NEX020)
> +
> + board_id: (RO) Manufacturing board id
> +
> +
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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 <[email protected]>,
> + Dave Goodell <[email protected]>,
> + [email protected]
> +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 <[email protected]>,
> + Dave Goodell <[email protected]>,
> + [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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: [email protected]
> +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.
> +
> +
> +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: [email protected]
> +Description:
> + hw_rev: (RO) Hardware revision number
> +
> + hca_tyoe: (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: [email protected]
> +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: [email protected]
> +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/fw_rev
> +What: /sys/class/infiniband/bnxt_reX/hw_rev
> +What: /sys/class/infiniband/bnxt_reX/hca_type
> +Date: Feb, 2017
> +KernelVersion: v4.11
> +Contact: [email protected]
> +Description:
> + fw_rev: (RO) Firmware version
> +
> + hw_rev: (RO) Hardware revision number
> +
> + hca_type: (RO) Host channel adapter type
>

2018-02-01 22:09:22

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] Documentation/ABI: update infiniband sysfs interfaces

On Thu, Feb 01, 2018 at 07:02:33PM +0530, Aishwarya Pant wrote:
> Add documentation for core and hardware specific infiniband interfaces.
> The descriptions have been collected from git commit logs, reading
> through code and data sheets. Some drivers have incomplete doc and are
> annotated with the comment '[to be documented]'.
>
> Signed-off-by: Aishwarya Pant <[email protected]>
> Documentation/ABI/testing/sysfs-class-infiniband | 755 +++++++++++++++++++++++
> 1 file changed, 755 insertions(+)

Wow this looks really great

Should this patch delete some of the old documentation?

> diff --git a/Documentation/ABI/testing/sysfs-class-infiniband b/Documentation/ABI/testing/sysfs-class-infiniband

Lots, maybe even all of of this is considered stable..

> +sysfs interface for Broadcom NetXtreme-E RoCE driver
> +----------------------------------------------------
> +
> +What: /sys/class/infiniband/bnxt_reX/fw_rev
> +What: /sys/class/infiniband/bnxt_reX/hw_rev
> +What: /sys/class/infiniband/bnxt_reX/hca_type

These are actually common to all drivers

/sys/class/infiniband/XXX/fw_rev, etc

Jason

2018-02-02 08:28:00

by Aishwarya Pant

[permalink] [raw]
Subject: Re: [PATCH] Documentation/ABI: update infiniband sysfs interfaces

On Thu, Feb 01, 2018 at 03:08:11PM -0700, Jason Gunthorpe wrote:
> On Thu, Feb 01, 2018 at 07:02:33PM +0530, Aishwarya Pant wrote:
> > Add documentation for core and hardware specific infiniband interfaces.
> > The descriptions have been collected from git commit logs, reading
> > through code and data sheets. Some drivers have incomplete doc and are
> > annotated with the comment '[to be documented]'.
> >
> > Signed-off-by: Aishwarya Pant <[email protected]>
> > Documentation/ABI/testing/sysfs-class-infiniband | 755 +++++++++++++++++++++++
> > 1 file changed, 755 insertions(+)
>
> Wow this looks really great
>
> Should this patch delete some of the old documentation?

Yeah, I should do that because the documentation in
Documentation/infiniband/sysfs.txt is out of date.

>
> > diff --git a/Documentation/ABI/testing/sysfs-class-infiniband b/Documentation/ABI/testing/sysfs-class-infiniband
>
> Lots, maybe even all of of this is considered stable..

Okay, I guess it should belong to the stable directory then.

>
> > +sysfs interface for Broadcom NetXtreme-E RoCE driver
> > +----------------------------------------------------
> > +
> > +What: /sys/class/infiniband/bnxt_reX/fw_rev
> > +What: /sys/class/infiniband/bnxt_reX/hw_rev
> > +What: /sys/class/infiniband/bnxt_reX/hca_type
>
> These are actually common to all drivers
>
> /sys/class/infiniband/XXX/fw_rev, etc

Would make sense to define these at one place- hw_rev, hca_type, board_id are
common to a lot of the drivers.

Aishwarya

>
> Jason

2018-02-05 07:21:11

by Aishwarya Pant

[permalink] [raw]
Subject: Re: [PATCH] Documentation/ABI: update infiniband sysfs interfaces

On Thu, Feb 01, 2018 at 12:48:18PM -0500, Hal Rosenstock wrote:
> On 2/1/2018 8:32 AM, Aishwarya Pant wrote:
> > Add documentation for core and hardware specific infiniband interfaces.
> > The descriptions have been collected from git commit logs, reading
> > through code and data sheets. Some drivers have incomplete doc and are
> > annotated with the comment '[to be documented]'.
> >
> > Signed-off-by: Aishwarya Pant <[email protected]>
> > ---
> > Documentation/ABI/testing/sysfs-class-infiniband | 755 +++++++++++++++++++++++
> > 1 file changed, 755 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-class-infiniband b/Documentation/ABI/testing/sysfs-class-infiniband
> > index a86abe66a316..2e150169633b 100644
> > --- a/Documentation/ABI/testing/sysfs-class-infiniband
> > +++ b/Documentation/ABI/testing/sysfs-class-infiniband
> > @@ -1,3 +1,194 @@
> > +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: [email protected]
> > +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: [email protected]
> > +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: [email protected]
> > +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: [email protected]
> > +Description:
> > +
> > + lid: (RO) Port LID
> > +
> > + rate: (RO) Port data rate (active width * active
> > + speed)
> > +
> > + lid_mask_count: (RO) Port LID mask count
> > +
> > + sm_slL (RO) Subnet manager SL for port's subnet
>
> Typo sm_sl:
>
> > +
> > + 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 and IsSM.

Hi

Sorry, I don't quite understand this. cap_mask is a read only value which
indicates the supported functions. So the two bits-
IsCommunicationManagementSupported and IsSM, should not be setttable?

Aishwarya

<snip>

2018-02-05 13:19:14

by Hal Rosenstock

[permalink] [raw]
Subject: Re: [PATCH] Documentation/ABI: update infiniband sysfs interfaces

On 2/5/2018 2:19 AM, Aishwarya Pant wrote:
>>> + cap_mask: (RO) Port capability mask
>> 2 bits here are settable: IsCommunicationManagementSupported and IsSM.
> Hi
>
> Sorry, I don't quite understand this. cap_mask is a read only value which
> indicates the supported functions. So the two bits-
> IsCommunicationManagementSupported and IsSM, should not be setttable?

In terms of IB, PortInfo:CapabilityMask is RO from perspective of SM.

In linux, IsSM is settable via open of issmN file. An SM will do this to
set the IsSM bit.

It is similar in terms of IsCommunicationManagementSupported bit where
bit is set when CM module is loaded in kernel (in cm_add_one).

-- Hal

> Aishwarya
>
> <snip>
>