[IPV4]: Fix ip command line processing.
Recently the documentation in Documentation/nfsroot.txt was update to note that in fact ip=off and ip=::::::off as the latter is ignored and the default (on) is used. This was certainly a step in the direction of reducing confusion. But it seems to me that the code ought to be fixed up so that ip=::::::off actually turns off ip autoconfiguration. This patch also notes more specifically that ip=on (aka ip=::::::on) is the default. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ecef969e5b
commit
a6c05c3d06
|
@ -97,10 +97,6 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
|
||||||
autoconfiguration will take place. The most common way to use this
|
autoconfiguration will take place. The most common way to use this
|
||||||
is "ip=dhcp".
|
is "ip=dhcp".
|
||||||
|
|
||||||
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.
|
<client-ip> IP address of the client.
|
||||||
|
|
||||||
Default: Determined using autoconfiguration.
|
Default: Determined using autoconfiguration.
|
||||||
|
@ -150,6 +146,7 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
|
||||||
|
|
||||||
off or none: don't use autoconfiguration
|
off or none: don't use autoconfiguration
|
||||||
on or any: use any protocol available in the kernel
|
on or any: use any protocol available in the kernel
|
||||||
|
(default)
|
||||||
dhcp: use DHCP
|
dhcp: use DHCP
|
||||||
bootp: use BOOTP
|
bootp: use BOOTP
|
||||||
rarp: use RARP
|
rarp: use RARP
|
||||||
|
|
|
@ -1403,6 +1403,10 @@ static int __init ic_proto_name(char *name)
|
||||||
if (!strcmp(name, "on") || !strcmp(name, "any")) {
|
if (!strcmp(name, "on") || !strcmp(name, "any")) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(name, "off") || !strcmp(name, "none")) {
|
||||||
|
ic_enable = 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
#ifdef CONFIG_IP_PNP_DHCP
|
#ifdef CONFIG_IP_PNP_DHCP
|
||||||
else if (!strcmp(name, "dhcp")) {
|
else if (!strcmp(name, "dhcp")) {
|
||||||
ic_proto_enabled &= ~IC_RARP;
|
ic_proto_enabled &= ~IC_RARP;
|
||||||
|
@ -1437,12 +1441,6 @@ static int __init ip_auto_config_setup(char *addrs)
|
||||||
|
|
||||||
ic_set_manually = 1;
|
ic_set_manually = 1;
|
||||||
|
|
||||||
ic_enable = (*addrs &&
|
|
||||||
(strcmp(addrs, "off") != 0) &&
|
|
||||||
(strcmp(addrs, "none") != 0));
|
|
||||||
if (!ic_enable)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
if (ic_proto_name(addrs))
|
if (ic_proto_name(addrs))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue