Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
 {
        __u8 type;
        __u8 code;              /* For newer IGMP */
-       __u16 csum;
-       __u32 group;
+       __be16 csum;
+       __be32 group;
 };
 
 /* V3 group record types [grec_type] */
 struct igmpv3_grec {
        __u8    grec_type;
        __u8    grec_auxwords;
-       __u16   grec_nsrcs;
-       __u32   grec_mca;
-       __u32   grec_src[0];
+       __be16  grec_nsrcs;
+       __be32  grec_mca;
+       __be32  grec_src[0];
 };
 
 struct igmpv3_report {
        __u8 type;
        __u8 resv1;
-       __u16 csum;
-       __u16 resv2;
-       __u16 ngrec;
+       __be16 csum;
+       __be16 resv2;
+       __be16 ngrec;
        struct igmpv3_grec grec[0];
 };
 
 struct igmpv3_query {
        __u8 type;
        __u8 code;
-       __u16 csum;
-       __u32 group;
+       __be16 csum;
+       __be32 group;
 #if defined(__LITTLE_ENDIAN_BITFIELD)
        __u8 qrv:3,
             suppress:1,
 #error "Please fix <asm/byteorder.h>"
 #endif
        __u8 qqic;
-       __u16 nsrcs;
-       __u32 srcs[0];
+       __be16 nsrcs;
+       __be32 srcs[0];
 };
 
 #define IGMP_HOST_MEMBERSHIP_QUERY     0x11    /* From RFC1112 */