udhcpc: add comment about server IP
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
fbca0c68a7
commit
2af2acf9b5
@ -1533,7 +1533,25 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
case INIT_SELECTING:
|
case INIT_SELECTING:
|
||||||
/* Must be a DHCPOFFER to one of our xid's */
|
/* Must be a DHCPOFFER to one of our xid's */
|
||||||
if (*message == DHCPOFFER) {
|
if (*message == DHCPOFFER) {
|
||||||
/* TODO: why we don't just fetch server's IP from IP header? */
|
/* What exactly is server's IP? There are several values.
|
||||||
|
* Example DHCP offer captured with tchdump:
|
||||||
|
*
|
||||||
|
* 10.34.25.254:67 > 10.34.25.202:68 // IP header's src
|
||||||
|
* BOOTP fields:
|
||||||
|
* Your-IP 10.34.25.202
|
||||||
|
* Server-IP 10.34.32.125 // "next server" IP
|
||||||
|
* Gateway-IP 10.34.25.254 // relay's address (if DHCP relays are in use)
|
||||||
|
* DHCP options:
|
||||||
|
* DHCP-Message Option 53, length 1: Offer
|
||||||
|
* Server-ID Option 54, length 4: 10.34.255.7 // "server ID"
|
||||||
|
* Default-Gateway Option 3, length 4: 10.34.25.254 // router
|
||||||
|
*
|
||||||
|
* We think that real server IP (one to use in renew/release)
|
||||||
|
* is one in Server-ID option. But I am not 100% sure.
|
||||||
|
* IP header's src and Gateway-IP (same in this exaqmple)
|
||||||
|
* might work too.
|
||||||
|
* "Next server" and router are definitely wrong ones to use, though...
|
||||||
|
*/
|
||||||
temp = udhcp_get_option(&packet, DHCP_SERVER_ID);
|
temp = udhcp_get_option(&packet, DHCP_SERVER_ID);
|
||||||
if (!temp) {
|
if (!temp) {
|
||||||
bb_error_msg("no server ID, ignoring packet");
|
bb_error_msg("no server ID, ignoring packet");
|
||||||
|
Loading…
Reference in New Issue
Block a user