From 918b8e3b3ffda3602a0179b7b9b904f89561c03e Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Wed, 22 Jan 2025 10:18:12 -0500 Subject: [PATCH] sunrpc: add netns inum and srcaddr to debugfs rpc_xprt info The output format should provide a value that matches the one in the /proc//ns/net symlink. This makes it simpler to match the rpc_xprt and rpc_clnt to a particular container. Also, when the xprt defines the get_srcaddr operation, use that to display the source address as well. Signed-off-by: Jeff Layton Signed-off-by: Anna Schumaker --- net/sunrpc/debugfs.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/net/sunrpc/debugfs.c b/net/sunrpc/debugfs.c index e4a4c547c70c..32417db340de 100644 --- a/net/sunrpc/debugfs.c +++ b/net/sunrpc/debugfs.c @@ -182,6 +182,18 @@ xprt_info_show(struct seq_file *f, void *v) seq_printf(f, "addr: %s\n", xprt->address_strings[RPC_DISPLAY_ADDR]); seq_printf(f, "port: %s\n", xprt->address_strings[RPC_DISPLAY_PORT]); seq_printf(f, "state: 0x%lx\n", xprt->state); + seq_printf(f, "netns: %u\n", xprt->xprt_net->ns.inum); + + if (xprt->ops->get_srcaddr) { + int ret, buflen; + char buf[INET6_ADDRSTRLEN]; + + buflen = ARRAY_SIZE(buf); + ret = xprt->ops->get_srcaddr(xprt, buf, buflen); + if (ret < 0) + ret = sprintf(buf, ""); + seq_printf(f, "saddr: %.*s\n", ret, buf); + } return 0; }