Hi Siarzhuk, Siarzhuk Zharski <zharik@xxxxxx> wrote: > Well, I have tried with ENETUNREACH and become the same result. Than > I > tried to return B_OK and DHCP auto-configuration worked. Additional > tracing in datalink_is_local_address reports me, that the > "interface->address" for my SiS191 is NULL and _interface variable is > filled with my interface as "fallback case". Note, that in previous > cases that interface already has default auto-config address. I think > the way of this problem was following: Stack tries to send DHCP > discover > packet but becomes B_ERROR from the driver. This error provokes the > stack to allocate default auto-config address for the interface. The > "mousetrap" is closed. :-\ I've changed it such that it now ignores error on sending the packets. This should also solve the issue, and allows you to return a proper error code when sending actually failed. > Probably this is a source of problem for following tickets: > http://dev.haiku-os.org/ticket/2966 // DHCP leaves auto config IP > after > link up > http://dev.haiku-os.org/ticket/4377 // broadcom570x: DHCP does not > work > when plugging in cable after boot Thanks for those pointers! > >> By the way, what you decide to do with broadcast flag in DHCP > >> discover/request messages? > > I think we should not set it by default, but rather fix receiving > > packets on unconfigured interfaces. > I just thought that we can set it temporarily as workaround until > the > normal solution will be implemented. ;-) I've now implemented that incoming ethernet packets should always be retrieved by the unconfigured interface they were intended for in r34466. That also solves the issue that temporary IP configurations weren't replaced after having plugged in a cable. Bye, Axel.