Before this patch we couldn't receive incoming DHCP packets.
Now we bind() to 0.0.0.0 and set the required network interface
using SO_BINDTODEVICE option.
As an improvement, we now wait until a reply to our request is
received and skip all unknown packets.