[ovs-dev] [PATCH 2/6] vxlan: Group Policy extension
Alexei Starovoitov
alexei.starovoitov at gmail.com
Wed Jan 7 03:37:15 UTC 2015
On Tue, Jan 6, 2015 at 6:05 PM, Thomas Graf <tgraf at 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.
More information about the dev
mailing list