|  | What:		/sys/class/rtrs-client | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	When a user of RTRS API creates a new session, a directory entry with | 
|  | the name of that session is created under /sys/class/rtrs-client/<session-name>/ | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/add_path | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RW, adds a new path (connection) to an existing session. Expected format is the | 
|  | following:: | 
|  |  | 
|  | <[source addr,]destination addr> | 
|  | *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/max_reconnect_attempts | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Maximum number reconnect attempts the client should make before giving up | 
|  | after connection breaks unexpectedly. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/mp_policy | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Multipath policy specifies which path should be selected on each IO: | 
|  |  | 
|  | round-robin (0): | 
|  | select path in per CPU round-robin manner. | 
|  |  | 
|  | min-inflight (1): | 
|  | select path with minimum inflights. | 
|  |  | 
|  | min-latency (2): | 
|  | select path with minimum latency. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/ | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Each path belonging to a given session is listed here by its source and | 
|  | destination address. When a new path is added to a session by writing to | 
|  | the "add_path" entry, a directory <src@dst> is created. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/state | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RO, Contains "connected" if the session is connected to the peer and fully | 
|  | functional.  Otherwise the file contains "disconnected" | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/reconnect | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Write "1" to the file in order to reconnect the path. | 
|  | Operation is blocking and returns 0 if reconnect was successful. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/disconnect | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Write "1" to the file in order to disconnect the path. | 
|  | Operation blocks until RTRS path is disconnected. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/remove_path | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Write "1" to the file in order to disconnected and remove the path | 
|  | from the session.  Operation blocks until the path is disconnected | 
|  | and removed from the session. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_name | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RO, Contains the name of HCA the connection established on. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_port | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RO, Contains the port number of active port traffic is going through. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/src_addr | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RO, Contains the source address of the path | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/dst_addr | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RO, Contains the destination address of the path | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/cur_latency | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RO, Contains the latency time calculated by the heart-beat messages. | 
|  | Whenever the client sends heart-beat message, it checks the time gap | 
|  | between sending the heart-beat message and receiving the ACK. | 
|  | This value can be changed regularly. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reset_all | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RW, Read will return usage help, write 0 will clear all the statistics. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/cpu_migration | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	RTRS expects that each HCA IRQ is pinned to a separate CPU. If it's | 
|  | not the case, the processing of an I/O response could be processed on a | 
|  | different CPU than where it was originally submitted.  This file shows | 
|  | how many interrupts where generated on a non expected CPU. | 
|  |  | 
|  | "from:" | 
|  | is the CPU on which the IRQ was expected, but not generated. | 
|  | "to:" | 
|  | is the CPU on which the IRQ was generated, but not expected. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Contains 2 unsigned int values, the first one records number of successful | 
|  | reconnects in the path lifetime, the second one records number of failed | 
|  | reconnects in the path lifetime. | 
|  |  | 
|  | What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/rdma | 
|  | Date:		Feb 2020 | 
|  | KernelVersion:	5.7 | 
|  | Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 
|  | Description:	Contains statistics regarding rdma operations and inflight operations. | 
|  | The output consists of 6 values:: | 
|  |  | 
|  | <read-count> <read-total-size> <write-count> \ | 
|  | <write-total-size> <inflights> <failovered> |