From: schumaker.anna@gmail.com
To: steved@redhat.com, linux-nfs@vger.kernel.org
Cc: Anna.Schumaker@Netapp.com
Subject: [PATCH v6 0/9] Add a tool for using the new sysfs files
Date: Tue, 25 Jan 2022 14:09:37 -0500 [thread overview]
Message-ID: <20220125190946.23586-1-Anna.Schumaker@Netapp.com> (raw)
From: Anna Schumaker <Anna.Schumaker@Netapp.com>
These patches implement a tool that can be used to read and write the
sysfs files, with subcommands!
The following subcommands are implemented:
rpcctl client
rpcctl switch
rpcctl switch set
rpcctl xprt
rpcctl xprt set
So you can print out information about every switch with:
anna@client ~ % rpcctl switch
switch 0: xprts 1, active 1, queue 0
xprt 0: local, /var/run/gssproxy.sock [main]
switch 1: xprts 1, active 1, queue 0
xprt 1: local, /var/run/rpcbind.sock [main]
switch 2: xprts 1, active 1, queue 0
xprt 2: tcp, 192.168.111.1 [main]
switch 3: xprts 4, active 4, queue 0
xprt 3: tcp, 192.168.111.188 [main]
xprt 4: tcp, 192.168.111.188
xprt 5: tcp, 192.168.111.188
xprt 6: tcp, 192.168.111.188
And information about each xprt:
anna@client ~ % rpcctl xprt
xprt 0: local, /var/run/gssproxy.sock, port 0, state <CONNECTED,BOUND>, main
Source: (einval), port 0, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
xprt 1: local, /var/run/rpcbind.sock, port 0, state <CONNECTED,BOUND>, main
Source: (einval), port 0, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
xprt 2: tcp, 192.168.111.1, port 2049, state <CONNECTED,BOUND>, main
Source: 192.168.111.222, port 959, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
xprt 3: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>, main
Source: 192.168.111.222, port 921, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
xprt 4: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
Source: 192.168.111.222, port 726, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
xprt 5: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
Source: 192.168.111.222, port 671, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
xprt 6: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
Source: 192.168.111.222, port 934, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
You can use the `set` subcommand to change the dstaddr of individual xprts:
anna@client ~ % sudo rpcctl xprt --id 4
xprt 4: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
Source: 192.168.111.222, port 726, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
anna@client ~ % sudo rpcctl xprt set --id 4 --dstaddr server2.nowheycreamery.com
xprt 4: tcp, 192.168.111.186, port 2049, state <CONNECTED,BOUND>
Source: 192.168.111.222, port 726, Requests: 2
Congestion: cur 0, win 256, Slots: min 2, max 65536
Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
Or for changing the dstaddr of all xprts attached to a switch:
anna@client % rpcctl switch --id 3
switch 3: xprts 4, active 4, queue 0
xprt 3: tcp, 192.168.111.188 [main]
xprt 4: tcp, 192.168.111.188
xprt 5: tcp, 192.168.111.188
xprt 6: tcp, 192.168.111.188
anna@client % sudo rpcctl switch set --id 4 --dstaddr server2.nowheycreamery.vm
switch 3: xprts 4, active 4, queue 0
xprt 2: tcp, 192.168.111.186 [main]
xprt 3: tcp, 192.168.111.186
xprt 5: tcp, 192.168.111.186
xprt 6: tcp, 192.168.111.186
Changes in v6:
- Squashed everything into a single installable file similar to
mountstats
- Fix up comparisons with xprt switches to use ID number instead of path
Thoughts?
Anna
Anna Schumaker (9):
rpcctl: Add a rpcctl.py tool
rpcctl: Add a command for printing xprt switch information
rpcctl: Add a command for printing individual xprts
rpcctl: Add a command for printing rpc client information
rpcctl: Add a command for changing xprt dstaddr
rpcctl: Add a command for changing xprt switch dstaddrs
rpcctl: Add a command for changing xprt state
rpcctl: Add a man page
rpcctl: Add installation to the Makefile
configure.ac | 1 +
tools/Makefile.am | 2 +-
tools/rpcctl/Makefile.am | 13 +++
tools/rpcctl/rpcctl.man | 88 +++++++++++++++
tools/rpcctl/rpcctl.py | 230 +++++++++++++++++++++++++++++++++++++++
5 files changed, 333 insertions(+), 1 deletion(-)
create mode 100644 tools/rpcctl/Makefile.am
create mode 100644 tools/rpcctl/rpcctl.man
create mode 100755 tools/rpcctl/rpcctl.py
--
2.34.1
next reply other threads:[~2022-01-25 19:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-25 19:09 schumaker.anna [this message]
2022-01-25 19:09 ` [PATCH v6 1/9] rpcctl: Add a rpcctl.py tool schumaker.anna
2022-01-25 19:09 ` [PATCH v6 2/9] rpcctl: Add a command for printing xprt switch information schumaker.anna
2022-01-25 19:09 ` [PATCH v6 3/9] rpcctl: Add a command for printing individual xprts schumaker.anna
2022-01-25 19:09 ` [PATCH v6 4/9] rpcctl: Add a command for printing rpc client information schumaker.anna
2022-01-25 19:09 ` [PATCH v6 5/9] rpcctl: Add a command for changing xprt dstaddr schumaker.anna
2022-01-25 19:09 ` [PATCH v6 6/9] rpcctl: Add a command for changing xprt switch dstaddrs schumaker.anna
2022-01-25 19:09 ` [PATCH v6 7/9] rpcctl: Add a command for changing xprt state schumaker.anna
2022-01-25 19:09 ` [PATCH v6 8/9] rpcctl: Add a man page schumaker.anna
2022-01-25 19:09 ` [PATCH v6 9/9] rpcctl: Add installation to the Makefile schumaker.anna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220125190946.23586-1-Anna.Schumaker@Netapp.com \
--to=schumaker.anna@gmail.com \
--cc=Anna.Schumaker@Netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=steved@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.