Building with musl was spitting errors for redefined data structures.
Use the standard headers when available (I found not alternatives to
linux/if_packet.h, but it spits no error).
Then, ifr.ifr_data is "caddr_t" not "void *" in musl, so cast the
pointer being assigned to silent a warning.
Finally, the fields of udphdr in musl use different names unless wi
add _GNU_SOURCE -- most likely musl is more posixly-correct, I didn't check.
Signed-off-by: Alessandro Rubini <email@example.com>