Hi, Quick&dirty workaround: disable ARP checking by defining DHCP_DOES_ARP_CHECK to 0
Analysis: I'm no expert in DHCP nor ARP, but I don't see anything similar to what you are experiencing. I've setup three scenarios: 1- different IP (static) prior to DHCP 2- same IP (static) prior to DHCP 3- 0.0.0.0 In scenarios 1 and 3, everything works "as expected" In scenario 2, I see a "gratuitous ARP", but the address is accepted anyway. Here is my capture: No. Time Source Destination Protocol Length Info 1 0.000000000 192.168.1.42 255.255.255.255 DHCP 350 DHCP Discover - Transaction ID 0xabcd0001 2 0.001705000 192.168.1.1 192.168.1.42 DHCP 342 DHCP Offer - Transaction ID 0xabcd0001 3 0.002564000 192.168.1.42 255.255.255.255 DHCP 350 DHCP Request - Transaction ID 0xabcd0002 4 0.040420000 192.168.1.1 192.168.1.42 DHCP 342 DHCP ACK - Transaction ID 0xabcd0002 5 0.040841000 3com_03:04:05 Broadcast ARP 60 Gratuitous ARP for 192.168.1.42 (Request) Frame 5: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0 Ethernet II, Src: 3com_03:04:05 (00:01:02:03:04:05), Dst: Broadcast (ff:ff:ff:ff:ff:ff) Address Resolution Protocol (request/gratuitous ARP) Hardware type: Ethernet (1) Protocol type: IP (0x0800) Hardware size: 6 Protocol size: 4 Opcode: request (1) [Is gratuitous: True] Sender MAC address: 3com_03:04:05 (00:01:02:03:04:05) Sender IP address: 192.168.1.42 (192.168.1.42) Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) Target IP address: 192.168.1.42 (192.168.1.42) 6 0.499760000 3com_03:04:05 Broadcast ARP 60 Gratuitous ARP for 192.168.1.42 (Request) I suggest you check your options and step the code to see where this rejection takes place -- _______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users