On Wednesday 2009-01-28 21:29, David Miller wrote:
Yeah I just had to notice >:-(On Tuesday 2009-01-27 06:08, David Miller wrote:This is a reasonable rule for future interfaces, but won't
The fly in the ointment is linux/if_tunnel.hI think in the long term, exported structs should probably
We export a structure there for a userland interface which
uses "struct iphdr".
Because of that, we are faced with the difficult choice between
defining the structure (as we do) in linux/ip.h or using some ugly
__KERNEL__ ifdefs in linux/if_tunnel.h to conditionally include
netinet/ip.h instead. :-/
Really, I have no idea what to do about this as the problem has
existed for so long.
have a "kernel_" prefix, much like userspace libraries use
such prefixes to (try to) guard against simple name clashes.
help us here on this one.[...]
Really, we page a huge price these days because the relationship
between glibc's and the kernel's userland header exports in the
past has been anti-social at best.
IPPROTO_MH is only defined in linux/in6.h, but inclusion of it:
/usr/include/linux/in6.h:31: error: redefinition of âstruct in6_addrâ
/usr/include/linux/in6.h:52: error: redefinition of âstruct sockaddr_in6â
/usr/include/linux/in6.h:60: error: redefinition of âstruct ipv6_mreqâ
Ick. That's even worse than tunnels.