Commit 181342c5 authored by Shirley Ma's avatar Shirley Ma Committed by Anna Schumaker

xprtrdma: Add rdma6 option to support NFS/RDMA IPv6

RFC 5666: The "rdma" netid is to be used when IPv4 addressing
is employed by the underlying transport, and "rdma6" for IPv6
addressing.

Add mount -o proto=rdma6 option to support NFS/RDMA IPv6 addressing.

Changes from v2:
 - Integrated comments from Chuck Level, Anna Schumaker, Trodt Myklebust
 - Add a little more to the patch description to describe NFS/RDMA
   IPv6 suggested by Chuck Level and Anna Schumaker
 - Removed duplicated rdma6 define
 - Remove Opt_xprt_rdma mountfamily since it doesn't support
Signed-off-by: default avatarShirley Ma <shirley.ma@oracle.com>
Reviewed-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent a1d1c4f1
...@@ -191,6 +191,7 @@ static const match_table_t nfs_mount_option_tokens = { ...@@ -191,6 +191,7 @@ static const match_table_t nfs_mount_option_tokens = {
enum { enum {
Opt_xprt_udp, Opt_xprt_udp6, Opt_xprt_tcp, Opt_xprt_tcp6, Opt_xprt_rdma, Opt_xprt_udp, Opt_xprt_udp6, Opt_xprt_tcp, Opt_xprt_tcp6, Opt_xprt_rdma,
Opt_xprt_rdma6,
Opt_xprt_err Opt_xprt_err
}; };
...@@ -201,6 +202,7 @@ static const match_table_t nfs_xprt_protocol_tokens = { ...@@ -201,6 +202,7 @@ static const match_table_t nfs_xprt_protocol_tokens = {
{ Opt_xprt_tcp, "tcp" }, { Opt_xprt_tcp, "tcp" },
{ Opt_xprt_tcp6, "tcp6" }, { Opt_xprt_tcp6, "tcp6" },
{ Opt_xprt_rdma, "rdma" }, { Opt_xprt_rdma, "rdma" },
{ Opt_xprt_rdma6, "rdma6" },
{ Opt_xprt_err, NULL } { Opt_xprt_err, NULL }
}; };
...@@ -1456,6 +1458,8 @@ static int nfs_parse_mount_options(char *raw, ...@@ -1456,6 +1458,8 @@ static int nfs_parse_mount_options(char *raw,
mnt->flags |= NFS_MOUNT_TCP; mnt->flags |= NFS_MOUNT_TCP;
mnt->nfs_server.protocol = XPRT_TRANSPORT_TCP; mnt->nfs_server.protocol = XPRT_TRANSPORT_TCP;
break; break;
case Opt_xprt_rdma6:
protofamily = AF_INET6;
case Opt_xprt_rdma: case Opt_xprt_rdma:
/* vector side protocols to TCP */ /* vector side protocols to TCP */
mnt->flags |= NFS_MOUNT_TCP; mnt->flags |= NFS_MOUNT_TCP;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment