[dpdk-dev] [PATCH v7 00/17] net/i40e: consistent filter API

Beilei Xing beilei.xing at intel.com
Fri Jan 6 06:27:02 CET 2017

The patch set depends on Adrien's Generic flow API(rte_flow).

The patches mainly finish following functions:
1) Store and restore all kinds of filters.
2) Parse all kinds of filters.
3) Add flow validate function.
4) Add flow create function.
5) Add flow destroy function.
6) Add flow flush function.

v7 changes:
 Separate filter related code from eth_i40e_dev_init().
 Change struct i40e_flow to ret_flow.

v6 changes:
 Change functions' name to be more readable.
 Add comments for parse_pattern functions to list supported rules.
 Add comments for parse_action functions to list supported actions.
 Add ETHTYPE check when parsing ethertype pattern.

v5 changes:
 Change some local variable name.
 Add removing i40e_flow_list during device unint.
 Fix compile error when gcc compile option isn't '-O0'.

v4 changes:
 Change I40E_TCI_MASK with 0xFFFF to align with testpmd.
 Modidy the stats show when restoring filters.

v3 changes:
 Set the related cause pointer to a non-NULL value when error happens.
 Change return value when error happens.
 Modify filter_del parameter with key.
 Malloc filter after checking when delete a filter.
 Delete meaningless initialization.
 Add return value when there's error.
 Change global variable definition.
 Modify some function declaration.

v2 changes:
 Add i40e_flow.c, all flow ops are implemented in the file.
 Change the whole implementation of all parse flow functions.
 Update error info for all flow ops.
 Add flow_list to store flows created.

Beilei Xing (17):
  net/i40e: store ethertype filter
  net/i40e: store tunnel filter
  net/i40e: store flow director filter
  net/i40e: restore ethertype filter
  net/i40e: restore tunnel filter
  net/i40e: restore flow director filter
  net/i40e: add flow validate function
  net/i40e: parse flow director filter
  net/i40e: parse tunnel filter
  net/i40e: add flow create function
  net/i40e: add flow destroy function
  net/i40e: destroy ethertype filter
  net/i40e: destroy tunnel filter
  net/i40e: destroy flow directory filter
  net/i40e: add flow flush function
  net/i40e: flush ethertype filters
  net/i40e: flush tunnel filters

 drivers/net/i40e/Makefile      |    2 +
 drivers/net/i40e/i40e_ethdev.c |  594 +++++++++++--
 drivers/net/i40e/i40e_ethdev.h |  178 ++++
 drivers/net/i40e/i40e_fdir.c   |  140 ++-
 drivers/net/i40e/i40e_flow.c   | 1849 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 2692 insertions(+), 71 deletions(-)
 create mode 100644 drivers/net/i40e/i40e_flow.c

Acked-by: Jingjing Wu <jingjing.wu at intel.com>


More information about the dev mailing list