From: Shmulik Ladkani <[email protected]>
Date: Fri, 21 Oct 2016 00:18:08 +0300
> META_COLLECTOR int_vlan_tag() assumes that if the accel tag (vlan_tci)
> is zero, then no vlan accel tag is present.
>
> This is incorrect for zero VID vlan accel packets, making the following
> match fail:
> tc filter add ... basic match 'meta(vlan mask 0xfff eq 0)' ...
>
> Apparently 'int_vlan_tag' was implemented prior VLAN_TAG_PRESENT was
> introduced in 05423b2 "vlan: allow null VLAN ID to be used"
> (and at time introduced, the 'vlan_tx_tag_get' call in em_meta was not
> adapted).
>
> Fix, testing skb_vlan_tag_present instead of testing skb_vlan_tag_get's
> value.
>
> Fixes: 05423b2413 ("vlan: allow null VLAN ID to be used")
> Fixes: 1a31f2042e ("netsched: Allow meta match on vlan tag on receive")
>
> Signed-off-by: Shmulik Ladkani <[email protected]>
Applied, thanks.