diff mbox series

[v2,1/5] SUNRPC: xprt_load_transport() needs to support the netid "rdma6"

Message ID 20201109211029.540993-2-trond.myklebust@hammerspace.com (mailing list archive)
State New, archived
Headers show
Series Add RDMA support to the pNFS file+flexfiles data channels | expand

Commit Message

Trond Myklebust Nov. 9, 2020, 9:10 p.m. UTC
From: Trond Myklebust <trond.myklebust@hammerspace.com>

According to RFC5666, the correct netid for an IPv6 addressed RDMA
transport is "rdma6", which we've supported as a mount option since
Linux-4.7. The problem is when we try to load the module "xprtrdma6",
that will fail, since there is no modulealias of that name.

Fixes: 181342c5ebe8 ("xprtrdma: Add rdma6 option to support NFS/RDMA IPv6")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
---
 net/sunrpc/xprtrdma/module.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Chuck Lever Nov. 9, 2020, 9:50 p.m. UTC | #1
> On Nov 9, 2020, at 4:10 PM, trondmy@gmail.com wrote:
> 
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> 
> According to RFC5666, the correct netid for an IPv6 addressed RDMA
> transport is "rdma6", which we've supported as a mount option since
> Linux-4.7. The problem is when we try to load the module "xprtrdma6",
> that will fail, since there is no modulealias of that name.

Trying to wrap my head around this. Who is forming the legacy names
"xprtrdma6" and "svcrdma6" ?

The module name these days is "rpcrdma". Seems like you should fix
the code that is trying to load these by the wrong name rather than
adding more legacy names.


> Fixes: 181342c5ebe8 ("xprtrdma: Add rdma6 option to support NFS/RDMA IPv6")
> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> ---
> net/sunrpc/xprtrdma/module.c | 2 ++
> 1 file changed, 2 insertions(+)
> 
> diff --git a/net/sunrpc/xprtrdma/module.c b/net/sunrpc/xprtrdma/module.c
> index 620327c01302..fb55983628b4 100644
> --- a/net/sunrpc/xprtrdma/module.c
> +++ b/net/sunrpc/xprtrdma/module.c
> @@ -23,7 +23,9 @@ MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc.");
> MODULE_DESCRIPTION("RPC/RDMA Transport");
> MODULE_LICENSE("Dual BSD/GPL");
> MODULE_ALIAS("svcrdma");
> +MODULE_ALIAS("svcrdma6");
> MODULE_ALIAS("xprtrdma");
> +MODULE_ALIAS("xprtrdma6");
> 
> static void __exit rpc_rdma_cleanup(void)
> {
> -- 
> 2.28.0
> 

--
Chuck Lever
Trond Myklebust Nov. 9, 2020, 10:06 p.m. UTC | #2
On Mon, 2020-11-09 at 16:50 -0500, Chuck Lever wrote:
> 
> 
> > On Nov 9, 2020, at 4:10 PM, trondmy@gmail.com wrote:
> > 
> > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > 
> > According to RFC5666, the correct netid for an IPv6 addressed RDMA
> > transport is "rdma6", which we've supported as a mount option since
> > Linux-4.7. The problem is when we try to load the module
> > "xprtrdma6",
> > that will fail, since there is no modulealias of that name.
> 
> Trying to wrap my head around this. Who is forming the legacy names
> "xprtrdma6" and "svcrdma6" ?

I don't care about "svcrdma6", because nothing uses that name, AFAICS,
because __write_ports_addxprt() appears to use the "transport name",
whatever that is.

> The module name these days is "rpcrdma". Seems like you should fix
> the code that is trying to load these by the wrong name rather than
> adding more legacy names.

No, I'm not going to do that.

The intention was always that xprt_load_transport() should take the
netid as its argument. Furthermore, it makes no sense for either the
NFS or generic RPC layers to have to figure out how by themselves how
to translate netids into transport module names.

> 
> > Fixes: 181342c5ebe8 ("xprtrdma: Add rdma6 option to support
> > NFS/RDMA IPv6")
> > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
> > ---
> > net/sunrpc/xprtrdma/module.c | 2 ++
> > 1 file changed, 2 insertions(+)
> > 
> > diff --git a/net/sunrpc/xprtrdma/module.c
> > b/net/sunrpc/xprtrdma/module.c
> > index 620327c01302..fb55983628b4 100644
> > --- a/net/sunrpc/xprtrdma/module.c
> > +++ b/net/sunrpc/xprtrdma/module.c
> > @@ -23,7 +23,9 @@ MODULE_AUTHOR("Open Grid Computing and Network
> > Appliance, Inc.");
> > MODULE_DESCRIPTION("RPC/RDMA Transport");
> > MODULE_LICENSE("Dual BSD/GPL");
> > MODULE_ALIAS("svcrdma");
> > +MODULE_ALIAS("svcrdma6");
> > MODULE_ALIAS("xprtrdma");
> > +MODULE_ALIAS("xprtrdma6");
> > 
> > static void __exit rpc_rdma_cleanup(void)
> > {
> > -- 
> > 2.28.0
> > 
> 
> --
> Chuck Lever
> 
> 
>
diff mbox series

Patch

diff --git a/net/sunrpc/xprtrdma/module.c b/net/sunrpc/xprtrdma/module.c
index 620327c01302..fb55983628b4 100644
--- a/net/sunrpc/xprtrdma/module.c
+++ b/net/sunrpc/xprtrdma/module.c
@@ -23,7 +23,9 @@  MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc.");
 MODULE_DESCRIPTION("RPC/RDMA Transport");
 MODULE_LICENSE("Dual BSD/GPL");
 MODULE_ALIAS("svcrdma");
+MODULE_ALIAS("svcrdma6");
 MODULE_ALIAS("xprtrdma");
+MODULE_ALIAS("xprtrdma6");
 
 static void __exit rpc_rdma_cleanup(void)
 {