The in.h file need protection for some defines where the types are not known to the user-space and pkt_sched.h missed the inclusion of the types.h header which types it utilizes ... - Rene Rebe --- ./include/linux/in.h.orig 2003-08-28 22:11:50.000000000 +0200 +++ ./include/linux/in.h 2003-08-28 22:12:27.000000000 +0200 @@ -135,6 +135,8 @@ (sizeof(struct ip_msfilter) - sizeof(__u32) \ + (numsrc) * sizeof(__u32)) +#ifdef __KERNEL__ + struct group_req { __u32 gr_interface; /* interface index */ @@ -161,6 +163,8 @@ (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + (numsrc) * sizeof(struct sockaddr_storage)) +#endif + struct in_pktinfo { int ipi_ifindex; --- ./include/linux/pkt_sched.h.orig 2003-08-28 22:20:44.000000000 +0200 +++ ./include/linux/pkt_sched.h 2003-08-28 22:21:11.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef __LINUX_PKT_SCHED_H #define __LINUX_PKT_SCHED_H +#include + /* Logical priority bands not depending on specific packet scheduler. Every scheduler will map them to real traffic classes, if it has no more precise mechanism to classify packets.