summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils/mount/network.c9
-rw-r--r--utils/mount/nfs.man11
2 files changed, 17 insertions, 3 deletions
diff --git a/utils/mount/network.c b/utils/mount/network.c
index d6b5205..d612427 100644
--- a/utils/mount/network.c
+++ b/utils/mount/network.c
@@ -83,6 +83,7 @@ static const char *nfs_nfs_pgmtbl[] = {
static const char *nfs_transport_opttbl[] = {
"udp",
"tcp",
+ "rdma",
"proto",
NULL,
};
@@ -1307,7 +1308,10 @@ nfs_nfs_protocol(struct mount_options *options, unsigned long *protocol)
case 1: /* tcp */
*protocol = IPPROTO_TCP;
return 1;
- case 2: /* proto */
+ case 2: /* rdma */
+ *protocol = NFSPROTO_RDMA;
+ return 1;
+ case 3: /* proto */
option = po_get(options, "proto");
if (option != NULL) {
if (!nfs_get_proto(option, &family, protocol)) {
@@ -1396,10 +1400,11 @@ int nfs_nfs_proto_family(struct mount_options *options,
switch (po_rightmost(options, nfs_transport_opttbl)) {
case 0: /* udp */
case 1: /* tcp */
+ case 2: /* rdma */
/* for compatibility; these are always AF_INET */
*family = AF_INET;
return 1;
- case 2: /* proto */
+ case 3: /* proto */
option = po_get(options, "proto");
if (option != NULL &&
!nfs_get_proto(option, &tmp_family, &protocol)) {
diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man
index fe58015..55d4b55 100644
--- a/utils/mount/nfs.man
+++ b/utils/mount/nfs.man
@@ -481,7 +481,10 @@ command,
.I netid
is a valid netid listed in
.IR /etc/netconfig .
-Otherwise,
+The value "rdma" may also be specified.
+If the
+.B mount.nfs
+command does not have TI-RPC support, then
.I netid
is one of "tcp," "udp," or "rdma," and only IPv4 may be used.
.IP
@@ -523,6 +526,12 @@ option is an alternative to specifying
.BR proto=tcp.
It is included for compatibility with other operating systems.
.TP 1.5i
+.B rdma
+The
+.B rdma
+option is an alternative to specifying
+.BR proto=rdma.
+.TP 1.5i
.BI port= n
The numeric value of the server's NFS service port.
If the server's NFS service is not available on the specified port,