On Feb 19 2008 15:45, Patrick McHardy wrote: >> >> It's in busybox 1.9.1. Just including <netinet/in.h> seems to be >> sufficient to make it happy again. I wonder if netfilter.h should >> include that for itself? > > That would break iptables compilation, which already includes > linux/in.h in some files. I guess the best fix for now is to > include netinet/in.h in busybox and long-term clean this up > properly. >
If <linux/netfilter.h> includes <linux/in.h>, userspace compilation fails (clashing defs, etc.); if <linux/netfilter.h> includes <netinet/in.h>, kernel compilation fails (file not found). What comes to mind is the ugly hack we had for a few days: #ifdef __KERNEL__ # include <linux/in.h> #else # include <netinet/in.h> #endif and I think we should not impose any inclusion rules on userspace this way. Right now, it is solved this way: kernel .c files explicitly include <linux/in.h> when loading <linux/netfilter.h>, userspace .c files explicitly includ <netinet/in.h> when loading <linux/netfilter.h>. And that seems to work out. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html