sd-dhcp: check for udp packets

Do not try to parse ICMP packets

[tomegun: slightly tweaked debug message]
sd-dhcp: check for ipv4 packets
sd-dhcp: avoid checksum calculation if possible

When receiving lots of packets that are not meant for us, we waste a relatively large amount
of cpu time computing their checksums before discarding them. Move the checksum calculation last
so we never compute it for packets which would otherwise be discarded.