On 20.11.2019 16:28, Eli Britstein wrote:
> 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
> 

Hi. Thanks for working on this!

I really roughly read the patch-set and made a few comments for
the places that caught my eyes.

Few general comments for the patches:

* I don't understand why all of this refactoring was done. Maybe it's because
  I didn't try to apply the series and look at it as a complete change, but
  for now it's unclear for me, especially because we already refactored this
  code few times before and you're reverting some of these changes.
  Also the need to have netdev-offload-dpdk-flow.c is not clear.

* Commit messages are needed.  Please, add some with a brief explanation
  on what happens and why.

* If it's not hard, since you will re-spin the series anyway, please, add
  some periods to the ends of a subject lines.

* You need to also update the 'Flow Hardware Offload' section in the
  Documentation/howto/dpdk.rst.

* And, please, mark these new features as experimental in NEWS. 

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to