Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Mar 2017 11:04:59 +0200
From:      Toomas Soome <tsoome@me.com>
To:        Daniel Braniss <danny@cs.huji.ac.il>
Cc:        Baptiste Daroussin <bapt@FreeBSD.org>, Rick Macklem <rmacklem@uoguelph.ca>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: NFSv2 boot & OLD_NFSV2
Message-ID:  <D0AD43EB-DED1-4744-892D-D8C028A0FB83@me.com>
In-Reply-To: <80C5425F-9A71-45D9-BA41-229E4E72EC36@cs.huji.ac.il>
References:  <38DD1950-AD12-4A27-8335-54F997E408DF@me.com> <20170320192000.6hal22ibnr3ajog3@ivaldir.net> <YTXPR01MB0189B266270E22DADF9A48EADD3A0@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM> <1B7471CD-2F2D-4F22-9D25-E46580CF9E96@me.com> <84D239AB-AB57-4A50-9700-E42BBF9CBE5A@cs.huji.ac.il> <20170321081339.2wbx3rb32qdavvn3@ivaldir.net> <80C5425F-9A71-45D9-BA41-229E4E72EC36@cs.huji.ac.il>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 21. m=C3=A4rts 2017, at 10:50, Daniel Braniss <danny@cs.huji.ac.il> =
wrote:
>=20
>=20
>> On 21 Mar 2017, at 10:13, Baptiste Daroussin <bapt@FreeBSD.org =
<mailto:bapt@FreeBSD.org>> wrote:
>>=20
>> On Tue, Mar 21, 2017 at 09:58:21AM +0200, Daniel Braniss wrote:
>>>=20
>>>> On 20 Mar 2017, at 23:55, Toomas Soome <tsoome@me.com =
<mailto:tsoome@me.com>> wrote:
>>>>=20
>>>>>=20
>>>>> On 20. m=C3=A4rts 2017, at 23:53, Rick Macklem =
<rmacklem@uoguelph.ca <mailto:rmacklem@uoguelph.ca>> wrote:
>>>>>=20
>>>>> Baptiste Daroussin wrote:
>>>>>> On Mon, Mar 20, 2017 at 08:22:12PM +0200, Toomas Soome wrote:
>>>>>>> Hi!
>>>>>>>=20
>>>>>>> The current boot code is building NFSv3, with preprocessor =
conditional OLD_NFSV2. Should NFSv2 code still be kept around or can we =
burn it?
>>>>>>>=20
>>>>>>> rgds,
>>>>>>> toomas
>>>>>>=20
>>>>>> I vote burn
>>>>>>=20
>>>>>> Bapt
>>>>> I would be happy to see NFSv2 go away. However, depending on how =
people configure
>>>>> their diskless root fs, they do end up using NFSv2 for their root =
fs.
>>>>>=20
>>>>> Does booting over NFSv3 affect this?
>>>>>=20
>>>>> I think the answer is no for a FreeBSD server (since the NFSv2 =
File Handle is the same as
>>>>> the NFSv3 one, except padded with 0 bytes to 32bytes long).
>>>>> However, there might be non-FreeBSD NFS servers where the NFSv2 =
file handle is different
>>>>> than the NFSv3 one and for that case, the user would need NFSv2 =
boot code (or
>>>>> reconfigure their root fs to use NFSv3).
>>>>>=20
>>>>> To be honest, I suspect few realize that they are using NFSv2 for =
their root fs.
>>>>> (They'd see it in a packet trace or via "nfsstat -m", but =
otherwise they probably
>>>>> think they are using NFSv3 for their root fs.)
>>>>>=20
>>>>> rick
>>>>=20
>>>> if they do not suspect, they most likely use v3 - due to simple =
fact that you have to rebuild loader to use NFSv2 - it is compile time =
option.
>>>>=20
>>>=20
>>> old systems, 8.x, still use/boot v2, and so do old linux.
>>> NetApp has discontinued support for v2, so we had to move this =
machines to use FreeBSD server and the day was
>>> saved. So, till these machines get upgraded/discontinued we have a =
problem. There are several solutions
>>> to this issue, but as long as it's a matter of getting rid for the =
sake of it, I would vote to keep it a while longer.
>>>=20
>>> danny
>>>=20
>>>=20
>> Given you are speaking of 8.x I suppose you are using the loader that =
comes with
>> it, meaning you are safe if we remove it from the loader in 12.0 =
(note as said
>> by Toomas that is it is already off by default in the 12.0 loader) am =
I missing
>> something?
>>=20
>=20
> as usual, did not read the whole thread, I assumed - wrongly - that =
support for v2 would be discontinued.
> removing v2 support from the boot process is fine! great, go for it. =
It will only involve newer
> hosts, and simplifying the boot process is always a good idea.
>=20
> sorry for the noise.
> 	danny
>=20


yes, just to clarify,  the current loader code (in current), is having =
NFS code implemented as:

#ifdef OLD_NFSV2

v2 implementation is here

#else

v3 implementation is here

#endif

Which does mean that pxeboot/loader.efi is built by default to use v3 =
only, but we do have 2 parallel implementations of the NFS readers. And =
yes, the question is just about boot loader reader code (we do not =
implement NFS writes) - and we are *not* talking about server side =
there.

Indeed it also is possible to merge those 2 version implementations, but =
to be honest, I see very little point of doing that either, even if =
there is some setup still with v2 only server, there is still an option =
just to use TFTP based boot - especially given that current boot loader =
does provide parallel option to use either NFS or TFTP (via dhcp option =
150), with existing binaries - that is, without having to re-compile.

rgds,
toomas




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D0AD43EB-DED1-4744-892D-D8C028A0FB83>