Updates to nfsroot documentation
PATCH 1/1 Updates to nfsroot documentation
The difference between ip=off and ip=::::::off has been a cause of much confusion. Document how each behaves, and do not contradict ourselves by saying that "off" is the default when in fact "any" is the default and is descibed as being so lower in the file.
---
nfsroot.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
Documentation/nfsroot.txt +6 -3
@@ -92,8 +92,11 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> autoconfiguration. The <autoconf> parameter can appear alone as the value to the `ip' - parameter (without all the ':' characters before) in which case auto- - configuration is used. + parameter (without all the ':' characters before). If the value is + "ip=off" or "ip=none", no autoconfiguration will take place, otherwise + autoconfiguration will take place. Note that "ip=off" is not the same + thing as "ip=::::::off", because in the latter autoconfiguration will take + place if any of DHCP, BOOTP or RARP are compiled in the kernel. <client-ip> IP address of the client.
@@ -142,7 +145,7 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> into the kernel will be used, regardless of the value of this option. - off or none: don't use autoconfiguration (default) + off or none: don't use autoconfiguration on or any: use any protocol available in the kernel dhcp: use DHCP bootp: use BOOTP
Quoted 4 lines · Amos Waterland
The difference between ip=off and ip=::::::off has been a cause of much confusion. Document how each behaves, and do not contradict ourselves by saying that "off" is the default when in fact "any" is the default and is descibed as being so lower in the file.
Is that really how it works? If so it sounds a bit silly to me. Surely it would be desirable for ip=off and ip=::::::off to do the same thing. Or am I missing the point?
Quoted 26 lines
Signed-off-by Amos Waterland <[email protected]>---
nfsroot.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)Documentation/nfsroot.txt +5
-2@@ -92,8 +92,11 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> autoconfiguration. The <autoconf> parameter can appear alone as the value to the `ip' - parameter (without all the ':' characters before) in which case auto- - configuration is used. + parameter (without all the ':' characters before). If the value is + "ip=off" or "ip=none", no autoconfiguration will take place, otherwise + autoconfiguration will take place. Note that "ip=off" is not the same + thing as "ip=::::::off", because in the latter autoconfiguration will take + place if any of DHCP, BOOTP or RARP are compiled in the kernel. <client-ip> IP address of the client.
Documentation/nfsroot.txt ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> · line 151
Quoted 8 lines
Documentation/nfsroot.txt +1
-1@@ -142,7 +145,7 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> into the kernel will be used, regardless of the value of this option. - off or none: don't use autoconfiguration (default) + off or none: don't use autoconfiguration on or any: use any protocol available in the kernel dhcp: use DHCP bootp: use BOOTP
This second fragment seems fine, though perhaps the documentation in net/ipv4/ipconfig.c, just above ic_proto_name, should also be updated too.
Signature · 1 line
Horms
Quoted 39 lines · Simon Horman
Quoted 4 lines · Amos Waterland
The difference between ip=off and ip=::::::off has been a cause of much confusion. Document how each behaves, and do not contradict ourselves by saying that "off" is the default when in fact "any" is the default and is descibed as being so lower in the file.
Is that really how it works? If so it sounds a bit silly to me. Surely it would be desirable for ip=off and ip=::::::off to do the same thing. Or am I missing the point?
Quoted 29 lines
Signed-off-by Amos Waterland <[email protected]>---
nfsroot.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)Documentation/nfsroot.txt +5
-2@@ -92,8 +92,11 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> autoconfiguration. The <autoconf> parameter can appear alone as the value to the `ip' - parameter (without all the ':' characters before) in which case auto- - configuration is used. + parameter (without all the ':' characters before). If the value is + "ip=off" or "ip=none", no autoconfiguration will take place, otherwise + autoconfiguration will take place. Note that "ip=off" is not the same + thing as "ip=::::::off", because in the latter autoconfiguration will take + place if any of DHCP, BOOTP or RARP are compiled in the kernel. <client-ip> IP address of the client.@@ -142,7 +145,7 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> into the kernel will be used, regardless of the value of this option.
Quoted 9 lines
Documentation/nfsroot.txt ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> · line 151
Quoted 5 lines
Documentation/nfsroot.txt +1
-1- off or none: don't use autoconfiguration (default) + off or none: don't use autoconfiguration on or any: use any protocol available in the kernel dhcp: use DHCP bootp: use BOOTPThis second fragment seems fine, though perhaps the documentation in
net/ipv4/ipconfig.c, just aboveic_proto_name, should also be updated too.
Deleting the documentation in net/ipv4/ipconfig.c might actually better, as it just duplicates part of what is in Documentation/nfsroot.txt
Signature · 1 line
Horms
Quoted 9 lines · Simon Horman
Quoted 4 lines · Amos Waterland
The difference between ip=off and ip=::::::off has been a cause of much confusion. Document how each behaves, and do not contradict ourselves by saying that "off" is the default when in fact "any" is the default and is descibed as being so lower in the file.
Is that really how it works? If so it sounds a bit silly to me. Surely it would be desirable for ip=off and ip=::::::off to do the same thing. Or am I missing the point?
Yes, that is how it works. Pretty confusing, so I figured I'd better send in a patch to document it.
In the ip=::::::off case, the code in ip_auto_config() sees that ic_enable is asserted but that ic_myaddr is NONE and proceeds to do autoconfiguration.
I'd welcome comments from people on whether we should change how it works instead of just document it.