ethdev: add isolated mode to flow API
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Wed, 14 Jun 2017 14:48:51 +0000 (16:48 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 14 Jun 2017 21:33:00 +0000 (23:33 +0200)
commit323f811a4ac841f07c733b98717e670a0c140135
tree58a7bf11d4bda7bc594eb027ecd0a5253c08d0b8
parentd2e026044522d4a5027ab0689c7a663efcb9c493
ethdev: add isolated mode to flow API

Isolated mode can be requested by applications on individual ports to avoid
ingress traffic outside of the flow rules they define.

Besides making ingress more deterministic, it allows PMDs to safely reuse
resources otherwise assigned to handle the remaining traffic, such as
global RSS configuration settings, VLAN filters, MAC address entries,
legacy filter API rules and so on in order to expand the set of possible
flow rule types.

To minimize code complexity, PMDs implementing this mode may provide
partial (or even no) support for flow rules when not enabled (e.g. no
priorities, no RSS action). Applications written to use the flow API are
therefore encouraged to enable it.

Once effective, leaving isolated mode may not be possible depending on PMD
implementation.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
12 files changed:
app/test-pmd/cmdline.c
app/test-pmd/cmdline_flow.c
app/test-pmd/config.c
app/test-pmd/testpmd.h
doc/guides/prog_guide/rte_flow.rst
doc/guides/testpmd_app_ug/testpmd_funcs.rst
drivers/net/e1000/igb_flow.c
drivers/net/ixgbe/ixgbe_flow.c
lib/librte_ether/rte_ether_version.map
lib/librte_ether/rte_flow.c
lib/librte_ether/rte_flow.h
lib/librte_ether/rte_flow_driver.h