diff options
author | Simon Horman <horms@verge.net.au> | 2007-12-28 00:19:10 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-12-28 16:39:11 -0500 |
commit | 9cecd07c3f7a818a5865daad8cb5be408508dc99 (patch) | |
tree | ab53cda73cb6873576f5fa6d100623d9c0aac5c8 | |
parent | 1842c7f260dd24dad2dd8eded80904d7a6c5525f (diff) |
[IPV4] Fix ip=dhcp regression
David Brownell pointed out a regression in my recent "Fix ip command
line processing" patch. It turns out to be a fairly blatant oversight on
my part whereby ic_enable is never set, and thus autoconfiguration is
never enabled. Clearly my testing was broken :-(
The solution that I have is to set ic_enable to 1 if we hit
ip_auto_config_setup(), which basically means that autoconfiguration is
activated unless told otherwise. I then flip ic_enable to 0 if ip=off,
ip=none, ip=::::::off or ip=::::::none using ic_proto_name();
The incremental patch is below, let me know if a non-incremental version
is prepared, as I did as for the original patch to be reverted pending a
fix.
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/ipconfig.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index 420f56ad59f8..56a675734ea5 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c | |||
@@ -1440,6 +1440,7 @@ static int __init ip_auto_config_setup(char *addrs) | |||
1440 | int num = 0; | 1440 | int num = 0; |
1441 | 1441 | ||
1442 | ic_set_manually = 1; | 1442 | ic_set_manually = 1; |
1443 | ic_enable = 1; | ||
1443 | 1444 | ||
1444 | if (ic_proto_name(addrs)) | 1445 | if (ic_proto_name(addrs)) |
1445 | return 1; | 1446 | return 1; |