Page MenuHomeFreeBSD

[WIP] Add IPv6 NFS Root support
Needs ReviewPublic

Authored by bz on Nov 21 2019, 8:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 10, 6:48 AM
Unknown Object (File)
Mar 19 2024, 3:05 AM
Unknown Object (File)
Feb 10 2024, 1:50 PM
Unknown Object (File)
Jan 6 2024, 11:47 PM
Unknown Object (File)
Dec 22 2023, 10:57 PM
Unknown Object (File)
Dec 10 2023, 7:40 PM
Unknown Object (File)
Nov 24 2023, 10:01 PM
Unknown Object (File)
Oct 10 2023, 5:32 PM
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

A first cut at NFS Root over IPv6 support.
So far no bootp support as it is unclear how we'll
be called when doing UEFI IPv6 booting yet.
Needs investigation probably with bhyve.

To be clear, this is a work-in-progress.

Test Plan

Set a few loader variables and can see the initial TCP
packet but the NFS handle and state will not be right
if booted from a different IPv4 server initially.

boot.netif.ip6="2001:db8:7c78::2/64"
boot.netif.gateway6="0"
boot.nfsroot.server6="2001:db8:7c78::1"

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 27691
Build 25891: arc lint + arc unit

Event Timeline

Trying to understand your bootp comment in summary. Are you pointing at no support yet for https://tools.ietf.org/html/rfc5970 or that there just isn't a ipv6 option for defining boot info like bootp had?

Trying to understand your bootp comment in summary. Are you pointing at no support yet for https://tools.ietf.org/html/rfc5970 or that there just isn't a ipv6 option for defining boot info like bootp had?

I think neither yet. Just trying to figure out how all this will be passed in/on from each stage to the next; We need to get the info from efi in the loader and from there on also to the kernel, and depending on how we do that we'll need to right glue code.

I'd prefer to have bootp instead of the NFS_ROOT stuff. But we have a good mix of options (including the standalone NFS client) and until I have my test setup to work from EFI forward I've deferred a decision and am just trying to get the 2nd half sorted.

Unrelated, I think I broke IPv4 ...

inet_pton() stroes network byte order, so lose the original (now extra)
htonl() and unbreak IPv4 support.