diff options
author | Philippe De Muyter <phdm@macqel.be> | 2013-01-03 13:02:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-04 18:14:14 -0500 |
commit | 9dd4a13a89d7c27e51cb87b9e95e82d8999826da (patch) | |
tree | 611ef762bfb3f10d092eb3cf87c6c4516474f12e /net | |
parent | 3b09adcb20c1e393a8721b1805f49dd8c1657563 (diff) |
net/ipv4/ipconfig: really display the BOOTP/DHCP server's address.
Up to now, the debug and info messages from the ipconfig subsytem
claim to display the IP address of the DHCP/BOOTP server but
display instead the IP address of the bootserver. Fix that.
Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/ipconfig.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index d763701cff1b..a2e50ae80b53 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c | |||
@@ -136,6 +136,8 @@ __be32 ic_myaddr = NONE; /* My IP address */ | |||
136 | static __be32 ic_netmask = NONE; /* Netmask for local subnet */ | 136 | static __be32 ic_netmask = NONE; /* Netmask for local subnet */ |
137 | __be32 ic_gateway = NONE; /* Gateway IP address */ | 137 | __be32 ic_gateway = NONE; /* Gateway IP address */ |
138 | 138 | ||
139 | __be32 ic_addrservaddr = NONE; /* IP Address of the IP addresses'server */ | ||
140 | |||
139 | __be32 ic_servaddr = NONE; /* Boot server IP address */ | 141 | __be32 ic_servaddr = NONE; /* Boot server IP address */ |
140 | 142 | ||
141 | __be32 root_server_addr = NONE; /* Address of NFS server */ | 143 | __be32 root_server_addr = NONE; /* Address of NFS server */ |
@@ -558,6 +560,7 @@ ic_rarp_recv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt | |||
558 | if (ic_myaddr == NONE) | 560 | if (ic_myaddr == NONE) |
559 | ic_myaddr = tip; | 561 | ic_myaddr = tip; |
560 | ic_servaddr = sip; | 562 | ic_servaddr = sip; |
563 | ic_addrservaddr = sip; | ||
561 | ic_got_reply = IC_RARP; | 564 | ic_got_reply = IC_RARP; |
562 | 565 | ||
563 | drop_unlock: | 566 | drop_unlock: |
@@ -1068,7 +1071,7 @@ static int __init ic_bootp_recv(struct sk_buff *skb, struct net_device *dev, str | |||
1068 | ic_servaddr = server_id; | 1071 | ic_servaddr = server_id; |
1069 | #ifdef IPCONFIG_DEBUG | 1072 | #ifdef IPCONFIG_DEBUG |
1070 | printk("DHCP: Offered address %pI4 by server %pI4\n", | 1073 | printk("DHCP: Offered address %pI4 by server %pI4\n", |
1071 | &ic_myaddr, &ic_servaddr); | 1074 | &ic_myaddr, &b->iph.saddr); |
1072 | #endif | 1075 | #endif |
1073 | /* The DHCP indicated server address takes | 1076 | /* The DHCP indicated server address takes |
1074 | * precedence over the bootp header one if | 1077 | * precedence over the bootp header one if |
@@ -1113,6 +1116,7 @@ static int __init ic_bootp_recv(struct sk_buff *skb, struct net_device *dev, str | |||
1113 | ic_dev = dev; | 1116 | ic_dev = dev; |
1114 | ic_myaddr = b->your_ip; | 1117 | ic_myaddr = b->your_ip; |
1115 | ic_servaddr = b->server_ip; | 1118 | ic_servaddr = b->server_ip; |
1119 | ic_addrservaddr = b->iph.saddr; | ||
1116 | if (ic_gateway == NONE && b->relay_ip) | 1120 | if (ic_gateway == NONE && b->relay_ip) |
1117 | ic_gateway = b->relay_ip; | 1121 | ic_gateway = b->relay_ip; |
1118 | if (ic_nameservers[0] == NONE) | 1122 | if (ic_nameservers[0] == NONE) |
@@ -1268,7 +1272,7 @@ static int __init ic_dynamic(void) | |||
1268 | printk("IP-Config: Got %s answer from %pI4, ", | 1272 | printk("IP-Config: Got %s answer from %pI4, ", |
1269 | ((ic_got_reply & IC_RARP) ? "RARP" | 1273 | ((ic_got_reply & IC_RARP) ? "RARP" |
1270 | : (ic_proto_enabled & IC_USE_DHCP) ? "DHCP" : "BOOTP"), | 1274 | : (ic_proto_enabled & IC_USE_DHCP) ? "DHCP" : "BOOTP"), |
1271 | &ic_servaddr); | 1275 | &ic_addrservaddr); |
1272 | pr_cont("my address is %pI4\n", &ic_myaddr); | 1276 | pr_cont("my address is %pI4\n", &ic_myaddr); |
1273 | 1277 | ||
1274 | return 0; | 1278 | return 0; |