On Mon, Jan 15, 2018 at 05:28:18PM +0000, Stokes, Ian wrote: > > Hi, > > > > Here is a joint work from Mellanox and Napatech, to enable the flow hw > > offload with the DPDK generic flow interface (rte_flow). > > > > The basic idea is to associate the flow with a mark id (a unit32_t > > number). > > Later, we then get the flow directly from the mark id, which could bypass > > some heavy CPU operations, including but not limiting to mini flow > > extract, emc lookup, dpcls lookup, etc. > > > > The association is done with CMAP in patch 1. The CPU workload bypassing > > is done in patch 2. The flow offload is done in patch 3, which mainly does > > two things: > > > > - translate the ovs match to DPDK rte flow patterns > > - bind those patterns with a RSS + MARK action. > > > > Patch 5 makes the offload work happen in another thread, for leaving the > > datapath as light as possible. > > > > A PHY-PHY forwarding with 1000 mega flows (udp,tp_src=1000-1999) and 1 > > million streams (tp_src=1000-1999, tp_dst=2000-2999) show more than 260% > > performance boost. > > > > Note that it's disabled by default, which can be enabled by: > > > > $ ovs-vsctl set Open_vSwitch . other_config:hw-offload=true > > Hi Yuanhan, > > Thanks for working on this, I'll be looking at this over the coming week so > don't consider this a full review. > > Just a general comment, at first glance there doesn't seem to be any > documentation in the patchset?
Right, my bad. > I would expect a patch for the DPDK section of the OVS docs at minimum > detailing: > > (i) HWOL requirements (Any specific SW/drivers required or DPDK libs/PMDs > etc. that have to be enabled for HWOL). > (ii) HWOL Usage (Enablement and disablement as shown above). > (iii) List of Validated HW devices (As HWOL functionality will vary between > devices it would be good to provide some known 'verified' cards to use with > it. At this stage we don't have to have every card that it will work with it > but I'd like to see a list of NIC Models that this has been validated on to > date). > (iv) Any Known limitations. > > You'll also have to add an entry to the NEWS document to flag that HWOL has > been introduced to OVS with DPDK. > > As discussed previously on the community call, at this point the feature > should be marked experimental in both NEWS and the documentation, this is > just to signify that it is subject to change as more capabilities such as > full offload is added over time. For not flooding the mailing list, here I listed the changes I made. Please help review it. Also, please let me know whether I should send out a new version (with the doc change) soon or I should wait for you full review. Regarding the validated NICs, probably Finn could add the nics from Napatech. --- diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst index d123819..20a4190 100644 --- a/Documentation/howto/dpdk.rst +++ b/Documentation/howto/dpdk.rst @@ -709,3 +709,19 @@ devices to bridge ``br0``. Once complete, follow the below steps: Check traffic on multiple queues:: $ cat /proc/interrupts | grep virtio + +.. _dpdk-flow-hardware-offload: + +Flow Hardware Offload (Experimental) +------------------------------------ + +The flow hardware offload is disabled by default and can be enabled by:: + + $ ovs-vsctl set Open_vSwitch . other_config:hw-offload=true + +So far only partial flow offload is implemented. Moreover, it only works +with PDM drivers have the rte flow action "MARK + RSS" support. + +The validated NICs are: + +- Mellanox (ConnectX-4, ConnectX-4 Lx, ConnectX-5) diff --git a/NEWS b/NEWS index 89bb7a7..02ce97d 100644 --- a/NEWS +++ b/NEWS @@ -25,6 +25,7 @@ Post-v2.8.0 - DPDK: * Add support for DPDK v17.11 * Add support for vHost IOMMU + * Add experimental flow hardware offload support v2.8.0 - 31 Aug 2017 -------------------- _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev