Currently, netdev datapath offload only accelerates the flow match
sequence by associating a mark per flow. This series introduces the full
offload of netdev datapath flows by having the HW also perform the flow
actions.

This series adds HW offload for output, drop, set MAC, set IPv4, set
TCP/UDP ports and tunnel push actions using the DPDK rte_flow API.

Travis passed: https://travis-ci.org/elibritstein/OVS/builds/614511472

Eli Britstein (18):
  sparse: rte_flow.h: Adapt according to DPDK 18.11.2
  netdev-offload-dpdk: Refactor flow patterns and actions code
  netdev-offload-dpdk-flow: Dynamically allocate pattern items
  netdev-offload-dpdk: Fix typo
  netdev-dpdk: Improve HW offload flow debuggability
  netdev-dpdk: Introduce flow_flush method
  netdev-offload-dpdk: Introduce flow flush callback
  netdev-offload-dpdk: Framework for actions offload
  netdev-dpdk: Introduce rte flow query function
  netdev-offload-dpdk: Implement flow stats get
  dpif-netdev: Populate dpif class field in offload struct
  netdev-dpdk: Getter function for dpdk port id API
  netdev-offload-dpdk-flow: Support offload of output action
  netdev-offload-dpdk-flow: Support offload of drop action
  netdev-offload-dpdk-flow: Support offload of set MAC actions
  netdev-offload-dpdk-flow: Support offload of set IPv4 actions
  netdev-offload-dpdk-flow: Support offload of clone tnl_push/output
    actions
  netdev-offload-dpdk-flow: Support offload of set TCP/UDP ports actions

Ophir Munk (2):
  netdev: Add netdev function: flow_stats_get()
  dpif-netdev: Read hw stats during flow_dump_next() call

 NEWS                              |   3 +
 include/sparse/rte_flow.h         | 810 ++++++++++++++++++++++++++++++---
 lib/automake.mk                   |   4 +-
 lib/dpif-netdev.c                 |  42 +-
 lib/netdev-dpdk.c                 |  76 ++++
 lib/netdev-dpdk.h                 |  11 +
 lib/netdev-offload-dpdk-flow.c    | 916 ++++++++++++++++++++++++++++++++++++++
 lib/netdev-offload-dpdk-private.h |  65 +++
 lib/netdev-offload-dpdk.c         | 535 +++-------------------
 lib/netdev-offload-provider.h     |   7 +
 lib/netdev-offload.c              |  12 +
 lib/netdev-offload.h              |   3 +
 12 files changed, 1969 insertions(+), 515 deletions(-)
 create mode 100644 lib/netdev-offload-dpdk-flow.c
 create mode 100644 lib/netdev-offload-dpdk-private.h

-- 
2.14.5

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to