On Tue, Jan 6, 2015 at 6:05 PM, Thomas Graf <tg...@suug.ch> wrote: > +struct vxlan_gbp { > +#ifdef __LITTLE_ENDIAN_BITFIELD > + __u8 reserved_flags1:3, ... > + __be16 policy_id; > +} __packed;
are you sure that compiler will be smart enough to do single short load when you pack u8 + struct vxlan_gbp inside struct vxlanhdr ? I suspect compiler will use two byte loads with shifts and ors every time to access policy_id. Even it works ok, I think this struct layout is ugly. imo would be much easier to read if you replace the whole vxlanhdr with vxlanhdr_gbp or split vxlanhdr into two 32-bit structs. then __packed hacks won't be needed. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev