On 15/06/2017 13:15, Simon Horman wrote:
On Tue, Jun 13, 2017 at 06:03:22PM +0300, 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.
This series was tested against sriov vfs vports representors of the
Mellanox 100G ConnectX-4 series exposed by the mlx5 kernel driver.

The feature is disabled by default and can be enabled by setting
other_config:hw-offload to True.
Currently offloading is done for rules consisting on matching on L2 MAC,
L3 IP (not including IP flags), L4 TCP/UDP (not inclduing TCP flags),
VLAN, VXLAN tunnel.
HW offloading is supported only for drop and for single output action with

Thanks Roi,

I have applied these to the master branch
(in two batches; 1 - 7 yesterday and the rest today).

There were some follow-up requests from Flavio for some of the patches,
please lets not forget those.


yes I wrote myself everything I think. here is the list in case someone
wants to help out with something.

1. add support for sctp
2. able to change hw-offload & tc-policy. I'll submit a patch for this
   next week maybe. need to recheck i dont reproduce an issue i had
   with it.
3. in dump-flows to show offloaded=no. I think Flavio said he'll do it.
4. change void* for the hmap to something more nice.
5. move the hmap locks to be per dpif.
6. try to avoid forcing eth_type from ovs_be16 to uint16
7. try to refactor nl_parse_tcf to use tc_ticks_to_bytes
8. better handle cls_flower and other modules (i.e. a nice error if
   modules not found)


Thanks everyone!

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to