From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> Date: Mon, 6 Jul 2020 11:18:32 +0200 > +struct br_mrp_in_state { > + __u16 in_id; > + __u32 in_state; > +}; Put the __u32 first then the __u16. > +struct br_mrp_in_role { > + __u16 in_id; > + __u32 ring_id; > + __u32 in_role; > + __u32 i_ifindex; > +}; Likewise. > +struct br_mrp_start_in_test { > + __u16 in_id; > + __u32 interval; > + __u32 max_miss; > + __u32 period; > +}; Likewise. > +struct br_mrp_in_test_hdr { > + __be16 id; > + __u8 sa[ETH_ALEN]; > + __be16 port_role; > + __be16 state; > + __be16 transitions; > + __be32 timestamp; > +}; Likewise. Put the larger members first. There is lots of unnecessary padding in this structure.