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.
This series applies on top of: [PATCH 0/6] net/tap: add additional management ops 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 + drivers/net/tap/Makefile | 44 ++ drivers/net/tap/rte_eth_tap.c | 94 ++-- drivers/net/tap/tap.h | 77 +++ drivers/net/tap/tap_flow.c | 1084 ++++++++++++++++++++++++++++++++++++++ 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 +++ 10 files changed, 2202 insertions(+), 33 deletions(-) create mode 100644 drivers/net/tap/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.8.0.rc0