Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6c05c3d authored by Simon Horman's avatar Simon Horman Committed by David S. Miller
Browse files

[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: default avatarSimon Horman <horms@verge.net.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ecef969e
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -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
  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.

  		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
		  on or any:   use any protocol available in the kernel
			       (default)
		  dhcp:        use DHCP
		  bootp:       use BOOTP
		  rarp:        use RARP
+4 −6
Original line number Diff line number Diff line
@@ -1403,6 +1403,10 @@ static int __init ic_proto_name(char *name)
	if (!strcmp(name, "on") || !strcmp(name, "any")) {
		return 1;
	}
	if (!strcmp(name, "off") || !strcmp(name, "none")) {
		ic_enable = 0;
		return 1;
	}
#ifdef CONFIG_IP_PNP_DHCP
	else if (!strcmp(name, "dhcp")) {
		ic_proto_enabled &= ~IC_RARP;
@@ -1437,12 +1441,6 @@ static int __init ip_auto_config_setup(char *addrs)

	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))
		return 1;