diff mbox series

[v2,4/8] SUNRPC for TCP display xprt's source port in sysfs xprt_info

Message ID 20210624032853.4776-5-olga.kornievskaia@gmail.com (mailing list archive)
State New, archived
Headers show
Series allow for offlining/removing xprt via sysfs | expand

Commit Message

Olga Kornievskaia June 24, 2021, 3:28 a.m. UTC
From: Olga Kornievskaia <kolga@netapp.com>

Using TCP connection's source port it is useful to match connections
seen on the network traces to the xprts used by the linux nfs client.

Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
---
 net/sunrpc/sysfs.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/net/sunrpc/sysfs.c b/net/sunrpc/sysfs.c
index 6ef5469fe998..816f543d4237 100644
--- a/net/sunrpc/sysfs.c
+++ b/net/sunrpc/sysfs.c
@@ -5,6 +5,7 @@ 
 #include <linux/sunrpc/clnt.h>
 #include <linux/kobject.h>
 #include <linux/sunrpc/addr.h>
+#include <linux/sunrpc/xprtsock.h>
 
 #include "sysfs.h"
 
@@ -103,10 +104,13 @@  static ssize_t rpc_sysfs_xprt_info_show(struct kobject *kobj,
 	ret = sprintf(buf, "last_used=%lu\ncur_cong=%lu\ncong_win=%lu\n"
 		       "max_num_slots=%u\nmin_num_slots=%u\nnum_reqs=%u\n"
 		       "binding_q_len=%u\nsending_q_len=%u\npending_q_len=%u\n"
-		       "backlog_q_len=%u\nmain_xprt=%d\n", xprt->last_used,
-		       xprt->cong, xprt->cwnd, xprt->max_reqs, xprt->min_reqs,
-		       xprt->num_reqs, xprt->binding.qlen, xprt->sending.qlen,
-		       xprt->pending.qlen, xprt->backlog.qlen, xprt->main);
+		       "backlog_q_len=%u\nmain_xprt=%d\nsrc_port=%u\n",
+		       xprt->last_used, xprt->cong, xprt->cwnd, xprt->max_reqs,
+		       xprt->min_reqs, xprt->num_reqs, xprt->binding.qlen,
+		       xprt->sending.qlen, xprt->pending.qlen,
+		       xprt->backlog.qlen, xprt->main,
+		       (xprt->xprt_class->ident == XPRT_TRANSPORT_TCP) ?
+		       get_srcport(xprt) : 0);
 	xprt_put(xprt);
 	return ret + 1;
 }