Hello!
While attempting to NFS boot an embedded board, it discovered thatU-Boot expects the server to listen to UDP, which it doesn't by default.
This patch adds a switch to make it possible to configure to what kindof sockets (TCP/UDP or both) the NFS server listens to.
Maxim
From 0fffe89255c313ff3b7993f95627377046312a27 Mon Sep 17 00:00:00 2001
* gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]: Newfields.(nfs-shepherd-services)[rpc.nfsd]: Populate the --{no-,}tcp and --{no-,}udpcommand line options based on the values of the nfsd-tcp? and nfsd-upd?fields.* doc/guix.texi (Network File System): Add doc.--- doc/guix.texi | 6 ++++++ gnu/services/nfs.scm | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-)
Toggle diff (65 lines)
diff --git a/doc/guix.texi b/doc/guix.texiindex 216422fe31..fb18fa5831 100644--- a/doc/guix.texi+++ b/doc/guix.texi@@ -22791,6 +22791,12 @@ The network port that the @command{nfsd} daemon should use. @item @code{nfsd-threads} (default: @code{8}) The number of threads used by the @command{nfsd} daemon. +@item @code{nfsd-tcp?} (default: @code{#t})+Whether the @command{nfsd} daemon should listen on a TCP socket.++@item @code{nfsd-udp?} (default: @code{#f})+Whether the @command{nfsd} daemon should listen on a UDP socket.+ @item @code{pipefs-directory} (default: @code{"/var/lib/nfs/rpc_pipefs"}) The directory where the pipefs file system is mounted. diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scmindex 4e358197e2..859097e788 100644--- a/gnu/services/nfs.scm+++ b/gnu/services/nfs.scm@@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;;@@ -261,6 +262,10 @@ (default 2049)) (nfsd-threads nfs-configuration-nfsd-threads (default 8))+ (nfsd-tcp? nfs-configuration-nfsd-tcp?+ (default #t))+ (nfsd-udp? nfs-configuration-nfsd-udp?+ (default #f)) (pipefs-directory nfs-configuration-pipefs-directory (default default-pipefs-directory)) ;; List of modules to debug; any of nfsd, nfs, rpc, idmap, statd, or mountd.@@ -272,6 +277,7 @@ (match-record config <nfs-configuration> (nfs-utils nfs-versions exports rpcmountd-port rpcstatd-port nfsd-port nfsd-threads+ nfsd-tcp? nfsd-udp? pipefs-directory debug) (list (shepherd-service (documentation "Mount the nfsd pseudo file system.")@@ -332,7 +338,13 @@ #$@(map (lambda (version) (string-append "--nfs-version=" version)) nfs-versions)- #$(number->string nfsd-threads))))))+ #$(number->string nfsd-threads)+ #$(if nfsd-tcp?+ "--tcp"+ "--no-tcp")+ #$(if nfsd-udp?+ "--udp"+ "--no-udp")))))) (stop #~(lambda _ (zero?-- 2.26.2-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEJ9WGpPiQCFQyn/CfEmDkZILmNWIFAl7KyvQACgkQEmDkZILmNWKdoA/9FKPMhUaWIT1p5azLbJ1Aea9vvSYnB5L5xxYf8VDgJTV1C27ASO9zYWVA5UvA7bA2sCSXiRhe09BYIhJzP61LWYNeqpBoVKL7oU96GHmWnY79DklDBkqTuV3qTm3ngmiGEy0YRqHCj0SVZgePZe7aCYidGVj7glptgfR9kkkyfIqZkUott3ube4MlJfdPOalfRF27bIG8QUPQXYgXPRh/C02BY5OQadxwsaMtGh7fal5UuPZquWsgq5n5KmByOpOhqrEndbLZ3EejO32/UyqYunR3sFhKEvZSckjDJHjKcF1WPfxbujGeR4DKtUPxilW4udHo1csLmcfQ6Ew3xEKRUGDWIDkduwHIgb+Qcg09Ld3miB42qAx1nI5809P04QXf02gx8H1+g3zt/egTwiP+uo1abD3F8byeIZzVHBIYAC8zTUv8VriOK8C8e+w0h1bk3FizYQ5yUN7tOO3TNS8LPWqGUhT29vP4U+VqvyK7KJfiLl6nnfhcC/TnZQnf0z43fj6TmwP5rHyIvPK6k3e6mcvXBk6zV3S+imtWe/brJfrwB97wYuenXraW+ukuP7BchbLNg5vNFBPHAOdGkW9xAhnVU4NeT4JMWnCLSoyKtw1J+rxrfotp3uKWg2yiGX0ll7JlbOI6MutiB8ACV+zXLNiLllrdDTK1NSbDTO/5yQE==jGmJ-----END PGP SIGNATURE-----