1What: /sys/class/rtrs-client 2Date: Feb 2020 3KernelVersion: 5.7 4Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 5Description: When a user of RTRS API creates a new session, a directory entry with 6 the name of that session is created under /sys/class/rtrs-client/<session-name>/ 7 8What: /sys/class/rtrs-client/<session-name>/add_path 9Date: Feb 2020 10KernelVersion: 5.7 11Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 12Description: RW, adds a new path (connection) to an existing session. Expected format is the 13 following: 14 15 <[source addr,]destination addr> 16 *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] 17 18What: /sys/class/rtrs-client/<session-name>/max_reconnect_attempts 19Date: Feb 2020 20KernelVersion: 5.7 21Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 22Description: Maximum number reconnect attempts the client should make before giving up 23 after connection breaks unexpectedly. 24 25What: /sys/class/rtrs-client/<session-name>/mp_policy 26Date: Feb 2020 27KernelVersion: 5.7 28Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 29Description: Multipath policy specifies which path should be selected on each IO: 30 31 round-robin (0): 32 select path in per CPU round-robin manner. 33 34 min-inflight (1): 35 select path with minimum inflights. 36 37What: /sys/class/rtrs-client/<session-name>/paths/ 38Date: Feb 2020 39KernelVersion: 5.7 40Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 41Description: Each path belonging to a given session is listed here by its source and 42 destination address. When a new path is added to a session by writing to 43 the "add_path" entry, a directory <src@dst> is created. 44 45What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/state 46Date: Feb 2020 47KernelVersion: 5.7 48Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 49Description: RO, Contains "connected" if the session is connected to the peer and fully 50 functional. Otherwise the file contains "disconnected" 51 52What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/reconnect 53Date: Feb 2020 54KernelVersion: 5.7 55Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 56Description: Write "1" to the file in order to reconnect the path. 57 Operation is blocking and returns 0 if reconnect was successful. 58 59What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/disconnect 60Date: Feb 2020 61KernelVersion: 5.7 62Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 63Description: Write "1" to the file in order to disconnect the path. 64 Operation blocks until RTRS path is disconnected. 65 66What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/remove_path 67Date: Feb 2020 68KernelVersion: 5.7 69Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 70Description: Write "1" to the file in order to disconnected and remove the path 71 from the session. Operation blocks until the path is disconnected 72 and removed from the session. 73 74What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_name 75Date: Feb 2020 76KernelVersion: 5.7 77Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 78Description: RO, Contains the the name of HCA the connection established on. 79 80What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_port 81Date: Feb 2020 82KernelVersion: 5.7 83Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 84Description: RO, Contains the port number of active port traffic is going through. 85 86What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/src_addr 87Date: Feb 2020 88KernelVersion: 5.7 89Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 90Description: RO, Contains the source address of the path 91 92What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/dst_addr 93Date: Feb 2020 94KernelVersion: 5.7 95Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 96Description: RO, Contains the destination address of the path 97 98What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reset_all 99Date: Feb 2020 100KernelVersion: 5.7 101Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 102Description: RW, Read will return usage help, write 0 will clear all the statistics. 103 104What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/cpu_migration 105Date: Feb 2020 106KernelVersion: 5.7 107Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 108Description: RTRS expects that each HCA IRQ is pinned to a separate CPU. If it's 109 not the case, the processing of an I/O response could be processed on a 110 different CPU than where it was originally submitted. This file shows 111 how many interrupts where generated on a non expected CPU. 112 "from:" is the CPU on which the IRQ was expected, but not generated. 113 "to:" is the CPU on which the IRQ was generated, but not expected. 114 115What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects 116Date: Feb 2020 117KernelVersion: 5.7 118Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 119Description: Contains 2 unsigned int values, the first one records number of successful 120 reconnects in the path lifetime, the second one records number of failed 121 reconnects in the path lifetime. 122 123What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/rdma 124Date: Feb 2020 125KernelVersion: 5.7 126Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 127Description: Contains statistics regarding rdma operations and inflight operations. 128 The output consists of 6 values: 129 130 <read-count> <read-total-size> <write-count> <write-total-size> \ 131 <inflights> <failovered> 132