Hello,
I already posted this question on the netdev ML, but got no answer so
far. Perhaps, people at USAGI could answer it...
As a comment says in include/linux/ipv6.h, the ipv6hdr structure is not
correct. The variables priority and flow_lbl do not match the IPv6
header fields as described in the RFC.
/*
* IPv6 fixed header
*
* BEWARE, it is incorrect. The first 4 bits of flow_lbl
* are glued to priority now, forming "class".
*/
struct ipv6hdr {
#if defined(__LITTLE_ENDIAN_BITFIELD)
__u8 priority:4,
version:4;
#elif defined(__BIG_ENDIAN_BITFIELD)
__u8 version:4,
priority:4;
#else
#error "Please fix <asm/byteorder.h>"
#endif
__u8 flow_lbl[3];
Is there some specific reason (other than historical one) ?
Didier Barvaux
Attachment:
pgp0C9K5vbMrf.pgp
Description: PGP signature