[IPV4]: IGMP on-the-wire data is net-endian

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Al Viro 2006-09-27 18:30:28 -07:00 committed by David S. Miller
parent 8f935bbd7c
commit 942bf921e9

View file

@ -30,8 +30,8 @@ struct igmphdr
{ {
__u8 type; __u8 type;
__u8 code; /* For newer IGMP */ __u8 code; /* For newer IGMP */
__u16 csum; __be16 csum;
__u32 group; __be32 group;
}; };
/* V3 group record types [grec_type] */ /* V3 group record types [grec_type] */
@ -45,25 +45,25 @@ struct igmphdr
struct igmpv3_grec { struct igmpv3_grec {
__u8 grec_type; __u8 grec_type;
__u8 grec_auxwords; __u8 grec_auxwords;
__u16 grec_nsrcs; __be16 grec_nsrcs;
__u32 grec_mca; __be32 grec_mca;
__u32 grec_src[0]; __be32 grec_src[0];
}; };
struct igmpv3_report { struct igmpv3_report {
__u8 type; __u8 type;
__u8 resv1; __u8 resv1;
__u16 csum; __be16 csum;
__u16 resv2; __be16 resv2;
__u16 ngrec; __be16 ngrec;
struct igmpv3_grec grec[0]; struct igmpv3_grec grec[0];
}; };
struct igmpv3_query { struct igmpv3_query {
__u8 type; __u8 type;
__u8 code; __u8 code;
__u16 csum; __be16 csum;
__u32 group; __be32 group;
#if defined(__LITTLE_ENDIAN_BITFIELD) #if defined(__LITTLE_ENDIAN_BITFIELD)
__u8 qrv:3, __u8 qrv:3,
suppress:1, suppress:1,
@ -76,8 +76,8 @@ struct igmpv3_query {
#error "Please fix <asm/byteorder.h>" #error "Please fix <asm/byteorder.h>"
#endif #endif
__u8 qqic; __u8 qqic;
__u16 nsrcs; __be16 nsrcs;
__u32 srcs[0]; __be32 srcs[0];
}; };
#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */ #define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */