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
113		"from:"
114		    is the CPU on which the IRQ was expected, but not generated.
115		"to:"
116		    is the CPU on which the IRQ was generated, but not expected.
117
118What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects
119Date:		Feb 2020
120KernelVersion:	5.7
121Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
122Description:	Contains 2 unsigned int values, the first one records number of successful
123		reconnects in the path lifetime, the second one records number of failed
124		reconnects in the path lifetime.
125
126What:		/sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/rdma
127Date:		Feb 2020
128KernelVersion:	5.7
129Contact:	Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
130Description:	Contains statistics regarding rdma operations and inflight operations.
131		The output consists of 6 values::
132
133		    <read-count> <read-total-size> <write-count> \
134		    <write-total-size> <inflights> <failovered>
135