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