The udphdr structure has uh_* fields when _FAVOR_BSD is defined. Otherwise, the fields are just named source, dest, len and check. See . Signed-off-by: Thomas Petazzoni Index: dhcpdump-1.8/dhcpdump.c =================================================================== --- dhcpdump-1.8.orig/dhcpdump.c 2011-05-17 20:20:46.506980003 +0200 +++ dhcpdump-1.8/dhcpdump.c 2011-05-17 20:20:59.338979999 +0200 @@ -163,10 +163,10 @@ strcpy(ip_origin, (u_char *)inet_ntoa(ip->ip_src)); strcpy(ip_destination, (u_char *)inet_ntoa(ip->ip_dst)); - if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->uh_ulen))) + if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->len))) return; - printdata((u_char *)(sp + offset), ntohs(udp->uh_ulen)); + printdata((u_char *)(sp + offset), ntohs(udp->len)); } // check for matching CHADDR (Peter Apian-Bennewitz )