What:		/sys/class/infiniband_srp/srp-<hca>-<port_number>/add_target
Date:		January 2, 2006
KernelVersion:	2.6.15
Contact:	linux-rdma@vger.kernel.org
Description:	Interface for making ib_srp connect to a new target.
		One can request ib_srp to connect to a new target by writing
		a comma-separated list of login parameters to this sysfs
		attribute. The supported parameters are:

		* id_ext, a 16-digit hexadecimal number specifying the eight
		  byte identifier extension in the 16-byte SRP target port
		  identifier. The target port identifier is sent by ib_srp
		  to the target in the SRP_LOGIN_REQ request.
		* ioc_guid, a 16-digit hexadecimal number specifying the eight
		  byte I/O controller GUID portion of the 16-byte target port
		  identifier.
		* dgid, a 32-digit hexadecimal number specifying the
		  destination GID.
		* pkey, a four-digit hexadecimal number specifying the
		  InfiniBand partition key.
		* service_id, a 16-digit hexadecimal number specifying the
		  InfiniBand service ID used to establish communication with
		  the SRP target. How to find out the value of the service ID
		  is specified in the documentation of the SRP target.
		* max_sect, a decimal number specifying the maximum number of
		  512-byte sectors to be transferred via a single SCSI command.
		* max_cmd_per_lun, a decimal number specifying the maximum
		  number of outstanding commands for a single LUN.
		* io_class, a hexadecimal number specifying the SRP I/O class.
		  Must be either 0xff00 (rev 10) or 0x0100 (rev 16a). The I/O
		  class defines the format of the SRP initiator and target
		  port identifiers.
		* initiator_ext, a 16-digit hexadecimal number specifying the
		  identifier extension portion of the SRP initiator port
		  identifier. This data is sent by the initiator to the target
		  in the SRP_LOGIN_REQ request.
		* cmd_sg_entries, a number in the range 1..255 that specifies
		  the maximum number of data buffer descriptors stored in the
		  SRP_CMD information unit itself. With allow_ext_sg=0 the
		  parameter cmd_sg_entries defines the maximum S/G list length
		  for a single SRP_CMD, and commands whose S/G list length
		  exceeds this limit after S/G list collapsing will fail.
		* allow_ext_sg, whether ib_srp is allowed to include a partial
		  memory descriptor list in an SRP_CMD instead of the entire
		  list. If a partial memory descriptor list has been included
		  in an SRP_CMD the remaining memory descriptors are
		  communicated from initiator to target via an additional RDMA
		  transfer. Setting allow_ext_sg to 1 increases the maximum
		  amount of data that can be transferred between initiator and
		  target via a single SCSI command. Since not all SRP target
		  implementations support partial memory descriptor lists the
		  default value for this option is 0.
		* sg_tablesize, a number in the range 1..2048 specifying the
		  maximum S/G list length the SCSI layer is allowed to pass to
		  ib_srp. Specifying a value that exceeds cmd_sg_entries is
		  only safe with partial memory descriptor list support enabled
		  (allow_ext_sg=1).
		* comp_vector, a number in the range 0..n-1 specifying the
		  MSI-X completion vector of the first RDMA channel. Some
		  HCA's allocate multiple (n) MSI-X vectors per HCA port. If
		  the IRQ affinity masks of these interrupts have been
		  configured such that each MSI-X interrupt is handled by a
		  different CPU then the comp_vector parameter can be used to
		  spread the SRP completion workload over multiple CPU's.
		* tl_retry_count, a number in the range 2..7 specifying the
		  IB RC retry count.
		* queue_size, the maximum number of commands that the
		  initiator is allowed to queue per SCSI host. The default
		  value for this parameter is 62. The lowest supported value
		  is 2.
		* max_it_iu_size, a decimal number specifying the maximum
		  initiator to target information unit length.

What:		/sys/class/infiniband_srp/srp-<hca>-<port_number>/ibdev
Date:		January 2, 2006
KernelVersion:	2.6.15
Contact:	linux-rdma@vger.kernel.org
Description:	HCA name (<hca>).

What:		/sys/class/infiniband_srp/srp-<hca>-<port_number>/port
Date:		January 2, 2006
KernelVersion:	2.6.15
Contact:	linux-rdma@vger.kernel.org
Description:	HCA port number (<port_number>).

What:		/sys/class/scsi_host/host<n>/allow_ext_sg
Date:		May 19, 2011
KernelVersion:	2.6.39
Contact:	linux-rdma@vger.kernel.org
Description:	Whether ib_srp is allowed to include a partial memory
		descriptor list in an SRP_CMD when communicating with an SRP
		target.

What:		/sys/class/scsi_host/host<n>/ch_count
Date:		April 1, 2015
KernelVersion:	3.19
Contact:	linux-rdma@vger.kernel.org
Description:	Number of RDMA channels used for communication with the SRP
		target.

What:		/sys/class/scsi_host/host<n>/cmd_sg_entries
Date:		May 19, 2011
KernelVersion:	2.6.39
Contact:	linux-rdma@vger.kernel.org
Description:	Maximum number of data buffer descriptors that may be sent to
		the target in a single SRP_CMD request.

What:		/sys/class/scsi_host/host<n>/comp_vector
Date:		September 2, 2013
KernelVersion:	3.11
Contact:	linux-rdma@vger.kernel.org
Description:	Completion vector used for the first RDMA channel.

What:		/sys/class/scsi_host/host<n>/dgid
Date:		June 17, 2006
KernelVersion:	2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:	InfiniBand destination GID used for communication with the SRP
		target. Differs from orig_dgid if port redirection has happened.

What:		/sys/class/scsi_host/host<n>/id_ext
Date:		June 17, 2006
KernelVersion:	2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:	Eight-byte identifier extension portion of the 16-byte target
		port identifier.

What:		/sys/class/scsi_host/host<n>/ioc_guid
Date:		June 17, 2006
KernelVersion:	2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:	Eight-byte I/O controller GUID portion of the 16-byte target
		port identifier.

What:		/sys/class/scsi_host/host<n>/local_ib_device
Date:		November 29, 2006
KernelVersion:	2.6.19
Contact:	linux-rdma@vger.kernel.org
Description:	Name of the InfiniBand HCA used for communicating with the
		SRP target.

What:		/sys/class/scsi_host/host<n>/local_ib_port
Date:		November 29, 2006
KernelVersion:	2.6.19
Contact:	linux-rdma@vger.kernel.org
Description:	Number of the HCA port used for communicating with the
		SRP target.

What:		/sys/class/scsi_host/host<n>/orig_dgid
Date:		June 17, 2006
KernelVersion:	2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:	InfiniBand destination GID specified in the parameters
		written to the add_target sysfs attribute.

What:		/sys/class/scsi_host/host<n>/pkey
Date:		June 17, 2006
KernelVersion:	2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:	A 16-bit number representing the InfiniBand partition key used
		for communication with the SRP target.

What:		/sys/class/scsi_host/host<n>/req_lim
Date:		October 20, 2010
KernelVersion:	2.6.36
Contact:	linux-rdma@vger.kernel.org
Description:	Number of requests ib_srp can send to the target before it has
		to wait for more credits. For more information see also the
		SRP credit algorithm in the SRP specification.

What:		/sys/class/scsi_host/host<n>/service_id
Date:		June 17, 2006
KernelVersion:	2.6.17
Contact:	linux-rdma@vger.kernel.org
Description:	InfiniBand service ID used for establishing communication with
		the SRP	target.

What:		/sys/class/scsi_host/host<n>/sgid
Date:		February 1, 2014
KernelVersion:	3.13
Contact:	linux-rdma@vger.kernel.org
Description:	InfiniBand GID of the source port used for communication with
		the SRP target.

What:		/sys/class/scsi_host/host<n>/zero_req_lim
Date:		September 20, 2006
KernelVersion:	2.6.18
Contact:	linux-rdma@vger.kernel.org
Description:	Number of times the initiator had to wait before sending a
		request to the target because it ran out of credits. For more
		information see also the SRP credit algorithm in the SRP
		specification.
