[PATCH 0/5] net: Port NFS to LWIP
Heinrich Schuchardt
xypron.glpk at gmx.de
Wed Dec 10 13:55:25 CET 2025
On 12/8/25 13:52, Andrew Goodbody wrote:
> This series ports the existing NFS code so that it can be used with both
> the legacy network code and also with LWIP.
> Firstly some legacy network code, mostly variables, is moved into common
> files so that it is accessible to LWIP.
> Secondly the NFS code is refactored so that the parts that are not
> specific to the network code can be shared with both network
> implementations.
> Finally the LWIP specific parts needed to interface the NFS shared code
> to that network stack are added and enabled.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
> ---
> Andrew Goodbody (5):
> net: move net_state to net-common
> net: Move some variables to net-common files
> net: nfs: Add licence header
> net: nfs: Move most NFS code to common files
> net: lwip: nfs: Port the NFS code to work with LWIP
>
> cmd/Kconfig | 28 +-
> cmd/lwip/Makefile | 1 +
> cmd/lwip/nfs.c | 11 +
> include/net-common.h | 38 ++-
> include/net-legacy.h | 26 --
> include/net-lwip.h | 1 +
> net/Makefile | 1 +
> net/lwip/Makefile | 1 +
> net/lwip/net-lwip.c | 5 -
> net/lwip/nfs.c | 282 +++++++++++++++++
> net/net-common.c | 21 ++
> net/net.c | 23 --
> net/nfs-common.c | 863 +++++++++++++++++++++++++++++++++++++++++++++++++++
> net/nfs-common.h | 123 ++++++++
> net/nfs.c | 849 +-------------------------------------------------
> net/nfs.h | 59 ----
> 16 files changed, 1368 insertions(+), 964 deletions(-)
> ---
> base-commit: 59f9fcc1f514762674ac07c13c2a85f7aace7250
> change-id: 20251029-lwip_nfs-5385efca71bc
>
> Best regards,
Thank you for looking into the LWIP port.
We lack an NFS server in our Gitlab CI to run the NFS test.
For HTTP we are running
python3 -m http.server 80 --directory "${UBOOT_TRAVIS_BUILD_DIR}"
in .gitlab-ci.yml.
We should do something similar for NFS.
There is a userspace NFS server available
at https://github.com/unfs3/unfs3.
This worked on my workstation:
cat > exports << EOF
/home/ubuntu
EOF
./unfsd -e `pwd`/exports -u -n 4096 -m 4096
sudo mount -t nfs \
-o port=4096,mountport=4096,mountvers=3,nolock \
localhost:/home/ubuntu /mnt
Now in /mnt I could see the /home/ubuntu file-system.
With LWIP we should think about enabling tcp for NFS.
Best regards
Heinrich
More information about the U-Boot
mailing list