ethdev: fix default VLAN TCI mask in flow API
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Wed, 25 Apr 2018 15:27:58 +0000 (17:27 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 27 Apr 2018 17:00:54 +0000 (18:00 +0100)
commit0730ab674cb1854d3d9993600dbe41b8a49348bf
treeda0e5a8f71896a8d7e451bc64519809bf14fde2c
parente58638c32411b7ae60ed4dea131728faee962327
ethdev: fix default VLAN TCI mask in flow API

VLAN TCI is a 16-bit field broken down as PCP (3b), DEI (1b) and VID (12b).

The default mask used by PMDs for the VLAN pattern when one isn't provided
by the application comprises the entire TCI, which is problematic because
most devices only support VID matching.

This forces applications to always provide a mask limited to the VID part
in order to successfully apply a flow rule with a VLAN pattern item.
Moreover, applications rarely want to match PCP and DEI intentionally.

Given the above and since VID is what is commonly referred to when talking
about VLAN, this commit excludes PCP and DEI from the default mask.

Fixes: 6de5c0f1302c ("ethdev: define default item masks in flow API")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
doc/guides/prog_guide/rte_flow.rst
doc/guides/rel_notes/release_18_05.rst
lib/librte_ether/rte_flow.h