On 08/02/2017 17:29, Roi Dayan wrote:
This patch series introduces rule offload functionality to dpif-netlink
via netdev ports new flow offloading API. The user can specify whether to
enable rule offloading or not via OVS configuration. Netdev providers
are able to implement netdev flow offload API in order to offload rules.

This patch series also implements one offload scheme for netdev-linux,
using TC flower classifier, which was chosen because its sort of natural
to state OVS DP rules for this classifier. However, the code can be
extended to support other classifiers such as U32, eBPF, etc which support
offload as well.

The use-case we are currently addressing is the newly sriov switchdev mode
in the Linux kernel which was introduced in version 4.8 [1][2].
This series was tested against sriov vfs vports representors of the
Mellanox 100G ConnectX-4 series exposed by the mlx5 kernel driver.


V2->V3:
    - Code styling fixes
    - Bug fixes
    - Using already available macros/functions to match current OVS code
    - Refactored code according to V2 review
    - Replaced bool option skip-hw for string option tc-policy
    - Added hw offload tests using policy skip_hw
    - Fixed most compatability compiling issues
        - Travis
            https://travis-ci.org/roidayan/ovs/builds/199610124
        - AppVeyor
            https://ci.appveyor.com/project/roidayan/ovs/build/1.0.14
    - Fixed compiling with DPDK enabled

    TODO:
    - need to fix datapath compiling issues found in travis after adding tc
      compatability headers
    - need to fix failing test cases because of get_ifindex


V1->V2:
    - Added generic netdev flow offloads API.
    - Implemented relevant flow API in netdev-linux (and netdev-vport).
    - Added a other_config hw-offload option to enable offloading (defaults to 
false).
    - Fixed coding style to conform with OVS.
    - Policy removed for now. (Will be discussed how best implemented later).


Thanks,
Paul & Roi




Hi,

We found memory leaks where we didn't release the reply allocated from tc_transact calls. We have this fixed for V4.

Thanks,
Roi

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

Reply via email to