SUNRPC query transport's source port
authorOlga Kornievskaia <kolga@netapp.com>
Thu, 24 Jun 2021 03:28:48 +0000 (23:28 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:40:13 +0000 (13:40 +0200)
[ Upstream commit a8482488a7d6d320f63a9ee1912dbb5ae5b80a61 ]

Provide ability to query transport's source port.

Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/sunrpc/xprtsock.h
net/sunrpc/xprtsock.c

index 3c1423e..8c2a712 100644 (file)
@@ -10,6 +10,7 @@
 
 int            init_socket_xprt(void);
 void           cleanup_socket_xprt(void);
+unsigned short get_srcport(struct rpc_xprt *);
 
 #define RPC_MIN_RESVPORT       (1U)
 #define RPC_MAX_RESVPORT       (65535U)
index 9c0f71e..7d7c08a 100644 (file)
@@ -1639,6 +1639,13 @@ static int xs_get_srcport(struct sock_xprt *transport)
        return port;
 }
 
+unsigned short get_srcport(struct rpc_xprt *xprt)
+{
+       struct sock_xprt *sock = container_of(xprt, struct sock_xprt, xprt);
+       return sock->srcport;
+}
+EXPORT_SYMBOL(get_srcport);
+
 static unsigned short xs_next_srcport(struct sock_xprt *transport, unsigned short port)
 {
        if (transport->srcport != 0)