aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/sfc_flow.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sfc/sfc_flow.c')
-rw-r--r--drivers/net/sfc/sfc_flow.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/sfc/sfc_flow.c b/drivers/net/sfc/sfc_flow.c
index fddc6706..90ef5bf2 100644
--- a/drivers/net/sfc/sfc_flow.c
+++ b/drivers/net/sfc/sfc_flow.c
@@ -330,7 +330,8 @@ sfc_flow_parse_vlan(const struct rte_flow_item *item,
* the outer tag and the next matches the inner tag.
*/
if (mask->tci == supp_mask.tci) {
- vid = rte_bswap16(spec->tci);
+ /* Apply mask to keep VID only */
+ vid = rte_bswap16(spec->tci & mask->tci);
if (!(efx_spec->efs_match_flags &
EFX_FILTER_MATCH_OUTER_VID)) {