Simple DHCP server

Hi all, I’m trying to write a simple DHCP server, starting from the client one, for an ARM micro. I’ve directly connected the board with a PC that acts as client. I’m listening on DHCP server port and after a while a receive the DISCOVERY packet. So i build the OFFER packet and I sent it. The problem is that if I sent the packet to broadcast I see the packet on Wireshark but the client doesn’t reply with REQUEST packet. If I sent it to the (new) IP address, I don’t see the packet on Wireshark .. why ?? In the meantime maybe i undestand why the client did not reply: on the OFFER packet I see on the ‘Ethernet II Dst’ field the broacast value for the MAC address instead of the client MAC address… How can I force the client MAC address ?? The FREERTOS_sendto() is sending a payload from a buffer .. (I’m using a copy of the functions for the DHCP client). Thanks!

Simple DHCP server

Maybe you can tell your IP-stack to bind between a MAC-address with the target IP-address: ~~~ void vARPRefreshCacheEntry( const MACAddresst * pxMACAddress, const uint32t ulIPAddress ); ~~~ Remember that the IP-address must be provided in the network order, which is MSB first. I think that after this, it will be possible to send the OFFER reply using sendto().