lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] DHCP and changing the MAC address


From: Leon Woestenberg
Subject: Re: [lwip-users] DHCP and changing the MAC address
Date: Fri, 25 Jun 2004 00:12:15 +0200
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Hello Tom,

Tom C. Barker wrote:

Thanks Leon.
I did not use dhcp_release because of its static keyword and that it was not listed in the .h file. But, fixing these two,
I ran it and it got even worse. I use ethereal constantly, so
>
Hmm, this part was very much less tested than bringing up the interface
using DHCP.

here's the dump of what happens on stop, release, start with
no other intervention: the module just loops on the coarse timer
sends a discover and request every 10 seconds. It does not wait for a response from the discover.

Definitely a bug in dhcp.c then.

I have stripped the two messages down to the important fields:

    Destination: ff:ff:ff:ff:ff:ff (Broadcast)
    Source: 00:08:4f:ff:ff:08 (Qualstar_ff:ff:08)
    Source: 16.101.63.101 (16.101.63.101)
    Destination: 255.255.255.255 (255.255.255.255)
    Client IP address: 16.101.63.101 (16.101.63.101)
    Your (client) IP address: 0.0.0.0 (0.0.0.0)
    Next server IP address: 0.0.0.0 (0.0.0.0)
    Relay agent IP address: 0.0.0.0 (0.0.0.0)
    Client hardware address: 00:08:4f:ff:ff:08
>     Option 53: DHCP Message Type = DHCP Discover

    Destination: ff:ff:ff:ff:ff:ff (Broadcast)
    Source: 00:08:4f:ff:ff:08 (Qualstar_ff:ff:08)
    Type: IP (0x0800)
    Client IP address: 16.101.63.101 (16.101.63.101)
    Your (client) IP address: 0.0.0.0 (0.0.0.0)
    Next server IP address: 0.0.0.0 (0.0.0.0)
    Relay agent IP address: 0.0.0.0 (0.0.0.0)
    Client hardware address: 00:08:4f:ff:ff:08
    Server host name not given
    Boot file name not given
    Magic cookie: (OK)
    Option 53: DHCP Message Type = DHCP Request
    Option 57: Maximum DHCP Message Size = 576
    Option 50: Requested IP Address = 16.101.63.200
    Option 54: Server Identifier = 16.101.63.3

The last two lines suggest that the lwIP host *did* receive
a OFFER response, from DHCP server 16.101.63.3, with an OFFER
for address 16.101.63.200.

Alternatively, the dhcp.c is broken and is acting on old state
information which is not cleared somehow.

Checking dhcp.c dhcp_start() clearly shows a memset() that should
clear new state fields, and _stop() free()s the old state and
removes the referencing pointer in netif. So, this seems OK.

There are no global variables (other than the transaction id) so
I am clueless what can cause this behaviour. Could you enable
lwIP in-code DHCP debugging?

Leon.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]