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
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev