aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libexec/rc/rc.conf2
-rwxr-xr-xlibexec/rc/rc.d/nfsd7
2 files changed, 9 insertions, 0 deletions
diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
index ab92a464b133..497bdb4f7ab5 100644
--- a/libexec/rc/rc.conf
+++ b/libexec/rc/rc.conf
@@ -386,6 +386,8 @@ nfs_server_enable="NO" # This host is an NFS server (or NO).
nfs_server_flags="-u -t" # Flags to nfsd (if enabled).
nfs_server_managegids="NO" # The NFS server maps gids for AUTH_SYS (or NO).
nfs_server_maxio="131072" # Maximum I/O size for the nfsd.
+nfs_server_rdma_enable="NO" # Enable the use of the nfsrdma module for RDMA
+nfs_server_rdma_listen="20490" # Port# for the NFS server to listen on for RDMA
mountd_enable="NO" # Run mountd (or NO).
mountd_flags="-r -S" # Flags to mountd (if NFS server enabled).
weak_mountd_authentication="NO" # Allow non-root mount requests to be served.
diff --git a/libexec/rc/rc.d/nfsd b/libexec/rc/rc.d/nfsd
index 364c2a3b6bd3..89e5977687b3 100755
--- a/libexec/rc/rc.d/nfsd
+++ b/libexec/rc/rc.d/nfsd
@@ -63,6 +63,13 @@ nfsd_precmd()
if [ -n "${nfs_server_vhost}" ]; then
command_args="-V \"${nfs_server_vhost}\""
fi
+
+ if checkyesno nfs_server_rdma_enable; then
+ load_kld nfsrdma || err 1 "Cannot load nfsrdma"
+ if ! sysctl vfs.nfsd.rdma_listen=${nfs_server_rdma_listen} >/dev/null; then
+ warn "Failed to set RDMA listen port#"
+ fi
+ fi
}
run_rc_command "$1"