1745b6a3dSJack WangWhat: /sys/class/rtrs-client 2745b6a3dSJack WangDate: Feb 2020 3745b6a3dSJack WangKernelVersion: 5.7 4745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 5745b6a3dSJack WangDescription: When a user of RTRS API creates a new session, a directory entry with 6745b6a3dSJack Wang the name of that session is created under /sys/class/rtrs-client/<session-name>/ 7745b6a3dSJack Wang 8745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/add_path 9745b6a3dSJack WangDate: Feb 2020 10745b6a3dSJack WangKernelVersion: 5.7 11745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 12745b6a3dSJack WangDescription: RW, adds a new path (connection) to an existing session. Expected format is the 13002a9c2fSMauro Carvalho Chehab following:: 14745b6a3dSJack Wang 15745b6a3dSJack Wang <[source addr,]destination addr> 16745b6a3dSJack Wang *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] 17745b6a3dSJack Wang 18745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/max_reconnect_attempts 19745b6a3dSJack WangDate: Feb 2020 20745b6a3dSJack WangKernelVersion: 5.7 21745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 22745b6a3dSJack WangDescription: Maximum number reconnect attempts the client should make before giving up 23745b6a3dSJack Wang after connection breaks unexpectedly. 24745b6a3dSJack Wang 25745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/mp_policy 26745b6a3dSJack WangDate: Feb 2020 27745b6a3dSJack WangKernelVersion: 5.7 28745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 29745b6a3dSJack WangDescription: Multipath policy specifies which path should be selected on each IO: 30745b6a3dSJack Wang 31745b6a3dSJack Wang round-robin (0): 32745b6a3dSJack Wang select path in per CPU round-robin manner. 33745b6a3dSJack Wang 34745b6a3dSJack Wang min-inflight (1): 35745b6a3dSJack Wang select path with minimum inflights. 36745b6a3dSJack Wang 37abdeef3bSGioh Kim min-latency (2): 38abdeef3bSGioh Kim select path with minimum latency. 39abdeef3bSGioh Kim 40745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/ 41745b6a3dSJack WangDate: Feb 2020 42745b6a3dSJack WangKernelVersion: 5.7 43745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 44745b6a3dSJack WangDescription: Each path belonging to a given session is listed here by its source and 45745b6a3dSJack Wang destination address. When a new path is added to a session by writing to 46745b6a3dSJack Wang the "add_path" entry, a directory <src@dst> is created. 47745b6a3dSJack Wang 48745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/state 49745b6a3dSJack WangDate: Feb 2020 50745b6a3dSJack WangKernelVersion: 5.7 51745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 52745b6a3dSJack WangDescription: RO, Contains "connected" if the session is connected to the peer and fully 53745b6a3dSJack Wang functional. Otherwise the file contains "disconnected" 54745b6a3dSJack Wang 55745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/reconnect 56745b6a3dSJack WangDate: Feb 2020 57745b6a3dSJack WangKernelVersion: 5.7 58745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 59745b6a3dSJack WangDescription: Write "1" to the file in order to reconnect the path. 60745b6a3dSJack Wang Operation is blocking and returns 0 if reconnect was successful. 61745b6a3dSJack Wang 62745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/disconnect 63745b6a3dSJack WangDate: Feb 2020 64745b6a3dSJack WangKernelVersion: 5.7 65745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 66745b6a3dSJack WangDescription: Write "1" to the file in order to disconnect the path. 67745b6a3dSJack Wang Operation blocks until RTRS path is disconnected. 68745b6a3dSJack Wang 69745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/remove_path 70745b6a3dSJack WangDate: Feb 2020 71745b6a3dSJack WangKernelVersion: 5.7 72745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 73745b6a3dSJack WangDescription: Write "1" to the file in order to disconnected and remove the path 74745b6a3dSJack Wang from the session. Operation blocks until the path is disconnected 75745b6a3dSJack Wang and removed from the session. 76745b6a3dSJack Wang 77745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_name 78745b6a3dSJack WangDate: Feb 2020 79745b6a3dSJack WangKernelVersion: 5.7 80745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 81*b18ee4a4SSlark XiaoDescription: RO, Contains the name of HCA the connection established on. 82745b6a3dSJack Wang 83745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/hca_port 84745b6a3dSJack WangDate: Feb 2020 85745b6a3dSJack WangKernelVersion: 5.7 86745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 87745b6a3dSJack WangDescription: RO, Contains the port number of active port traffic is going through. 88745b6a3dSJack Wang 89745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/src_addr 90745b6a3dSJack WangDate: Feb 2020 91745b6a3dSJack WangKernelVersion: 5.7 92745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 93745b6a3dSJack WangDescription: RO, Contains the source address of the path 94745b6a3dSJack Wang 95745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/dst_addr 96745b6a3dSJack WangDate: Feb 2020 97745b6a3dSJack WangKernelVersion: 5.7 98745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 99745b6a3dSJack WangDescription: RO, Contains the destination address of the path 100745b6a3dSJack Wang 101abdeef3bSGioh KimWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/cur_latency 102abdeef3bSGioh KimDate: Feb 2020 103abdeef3bSGioh KimKernelVersion: 5.7 104abdeef3bSGioh KimContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 105abdeef3bSGioh KimDescription: RO, Contains the latency time calculated by the heart-beat messages. 106abdeef3bSGioh Kim Whenever the client sends heart-beat message, it checks the time gap 107abdeef3bSGioh Kim between sending the heart-beat message and receiving the ACK. 108abdeef3bSGioh Kim This value can be changed regularly. 109abdeef3bSGioh Kim 110745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reset_all 111745b6a3dSJack WangDate: Feb 2020 112745b6a3dSJack WangKernelVersion: 5.7 113745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 114745b6a3dSJack WangDescription: RW, Read will return usage help, write 0 will clear all the statistics. 115745b6a3dSJack Wang 116745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/cpu_migration 117745b6a3dSJack WangDate: Feb 2020 118745b6a3dSJack WangKernelVersion: 5.7 119745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 120745b6a3dSJack WangDescription: RTRS expects that each HCA IRQ is pinned to a separate CPU. If it's 121745b6a3dSJack Wang not the case, the processing of an I/O response could be processed on a 122745b6a3dSJack Wang different CPU than where it was originally submitted. This file shows 123745b6a3dSJack Wang how many interrupts where generated on a non expected CPU. 124002a9c2fSMauro Carvalho Chehab 125002a9c2fSMauro Carvalho Chehab "from:" 126002a9c2fSMauro Carvalho Chehab is the CPU on which the IRQ was expected, but not generated. 127002a9c2fSMauro Carvalho Chehab "to:" 128002a9c2fSMauro Carvalho Chehab is the CPU on which the IRQ was generated, but not expected. 129745b6a3dSJack Wang 130745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects 131745b6a3dSJack WangDate: Feb 2020 132745b6a3dSJack WangKernelVersion: 5.7 133745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 134745b6a3dSJack WangDescription: Contains 2 unsigned int values, the first one records number of successful 135745b6a3dSJack Wang reconnects in the path lifetime, the second one records number of failed 136745b6a3dSJack Wang reconnects in the path lifetime. 137745b6a3dSJack Wang 138745b6a3dSJack WangWhat: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/rdma 139745b6a3dSJack WangDate: Feb 2020 140745b6a3dSJack WangKernelVersion: 5.7 141745b6a3dSJack WangContact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 142745b6a3dSJack WangDescription: Contains statistics regarding rdma operations and inflight operations. 143002a9c2fSMauro Carvalho Chehab The output consists of 6 values:: 144745b6a3dSJack Wang 145002a9c2fSMauro Carvalho Chehab <read-count> <read-total-size> <write-count> \ 146002a9c2fSMauro Carvalho Chehab <write-total-size> <inflights> <failovered> 147