[dpdk-dev] [PATCH v6 0/4] net/tap: support flow API

Pascal Mazon pascal.mazon at 6wind.com
Wed Mar 22 10:48:17 CET 2017


This series add support for the flow API in tap PMD.

It enables filtering specific packets incoming on the tap netdevice, to
process only desired ones. Under the hood, it uses kernel TC (traffic
control), which takes place very early in the stack, and supports most
common pattern items and actions defined in the flow API.

v6 changes:
  - fix compilation issue on i686 (wrong cast for rte flow handle)

v5 changes:
  - rebase after adrien's patches on Tx poll and Rx signaling
  - better spaces for comments in rte_eth_tap.h

v4 changes:
  - rebase on top of "net/tap: add additional management ops" series
  - fix a few netlink doxygen comments
  - rename tap.h -> rte_eth_tap.h
  - flush flow rules only when applicable

v3 changes:
  - vlan patterns enabled depending on running kernel (4.9+)
  - update doc/guides/nics/tap.rst for Flow API support
  - rebase on top of "net/tap: add additional management ops" series

v2 changes:
  - support compilation on kernels < 4.2 (where flower support appeared)
  - set whitespaces in tap.h
  - remove unnecessary goto

Pascal Mazon (4):
  net/tap: move private elements to external header
  net/tap: add preliminary support for rte_flow
  net/tap: add netlink back-end for flow API
  net/tap: add basic flow API patterns and actions

 doc/guides/nics/features/tap.ini |    1 +
 doc/guides/nics/tap.rst          |   23 +
 drivers/net/tap/Makefile         |   44 ++
 drivers/net/tap/rte_eth_tap.c    |  101 ++--
 drivers/net/tap/rte_eth_tap.h    |   80 +++
 drivers/net/tap/tap_flow.c       | 1070 ++++++++++++++++++++++++++++++++++++++
 drivers/net/tap/tap_flow.h       |   58 +++
 drivers/net/tap/tap_netlink.c    |  367 +++++++++++++
 drivers/net/tap/tap_netlink.h    |   69 +++
 drivers/net/tap/tap_tcmsgs.c     |  378 ++++++++++++++
 drivers/net/tap/tap_tcmsgs.h     |   63 +++
 11 files changed, 2219 insertions(+), 35 deletions(-)
 create mode 100644 drivers/net/tap/rte_eth_tap.h
 create mode 100644 drivers/net/tap/tap_flow.c
 create mode 100644 drivers/net/tap/tap_flow.h
 create mode 100644 drivers/net/tap/tap_netlink.c
 create mode 100644 drivers/net/tap/tap_netlink.h
 create mode 100644 drivers/net/tap/tap_tcmsgs.c
 create mode 100644 drivers/net/tap/tap_tcmsgs.h

-- 
2.12.0.306.g4a9b9b3



More information about the dev mailing list