X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fovs.git;a=blobdiff_plain;f=lib%2Fodp-util.c;h=18ad5c67f6363232386e55672740efa5fd11416c;hp=f44c7d49d9b6122a0d87e8358d2a6a97420b6a5d;hb=e18ab84ffeb07d49b0839598005a19a1e6d3920b;hpb=efdf0beb68efe60ad9dd0a83ad0281ddfbecb447 diff --git a/lib/odp-util.c b/lib/odp-util.c index f44c7d49d..18ad5c67f 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -3035,7 +3035,9 @@ parse_8021q_onward(const struct nlattr *attrs[OVS_KEY_ATTR_MAX + 1], if (!is_mask && !(present_attrs & (UINT64_C(1) << OVS_KEY_ATTR_VLAN))) { return ODP_FIT_TOO_LITTLE; } else { - tci = nl_attr_get_be16(attrs[OVS_KEY_ATTR_VLAN]); + tci = (present_attrs & (UINT64_C(1) << OVS_KEY_ATTR_VLAN) + ? nl_attr_get_be16(attrs[OVS_KEY_ATTR_VLAN]) + : htons(0)); if (!is_mask) { if (tci == htons(0)) { /* Corner case for a truncated 802.1Q header. */