diff mbox series

[RFC,6/6] nfs-sysfs.py: Add a command for changing xprt-switch dstaddrs

Message ID 20210608174657.603256-7-Anna.Schumaker@Netapp.com (mailing list archive)
State New
Headers show
Series Add a tool for using the new sysfs files | expand

Commit Message

Anna Schumaker June 8, 2021, 5:46 p.m. UTC
From: Anna Schumaker <Anna.Schumaker@Netapp.com>

This is basically the same as for xprts, but it iterates through all
xprts attached to the switch to apply the new address.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
 tools/nfs-sysfs/switch.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
diff mbox series


diff --git a/tools/nfs-sysfs/switch.py b/tools/nfs-sysfs/switch.py
index 5384f970235c..859b82e07895 100644
--- a/tools/nfs-sysfs/switch.py
+++ b/tools/nfs-sysfs/switch.py
@@ -30,7 +30,22 @@  def list_xprt_switches(args):
         if args.id == None or xs.id == args.id[0]:
+def set_xprt_switch_property(args):
+    switch = XprtSwitch(sysfs.SUNRPC / "xprt-switches" / f"switch-{args.id[0]}")
+    try:
+        for xprt in switch.xprts:
+            xprt.set_dstaddr(args.dstaddr[0])
+        print(switch)
+    except Exception as e:
+        print(e)
 def add_command(subparser):
     parser = subparser.add_parser("xprt-switch", help="Commands for xprt switches")
     parser.add_argument("--id", metavar="ID", nargs=1, type=int, help="Id of a specific xprt-switch to show")
+    subparser = parser.add_subparsers()
+    parser = subparser.add_parser("set", help="Set an xprt switch property")
+    parser.add_argument("--id", metavar="ID", nargs=1, type=int, required=True, help="Id of an xprt-switch to modify")
+    parser.add_argument("--dstaddr", metavar="dstaddr", nargs=1, type=str, help="New dstaddr to set")
+    parser.set_defaults(func=set_xprt_switch_property)