> -----Original Message----- > From: Yuanhan Liu [mailto:y...@fridaylinux.org] > Sent: Wednesday, February 7, 2018 9:37 AM > To: Stokes, Ian <ian.sto...@intel.com> > Cc: Flavio Leitner <f...@sysclose.org>; d...@openvswitch.org; Simon Horman > <simon.hor...@netronome.com>; Olga Shern <ol...@mellanox.com>; Shahaf > Shuler <shah...@mellanox.com> > Subject: Re: [ovs-dev] [PATCH v7 0/6] OVS-DPDK flow offload with rte_flow > > On Wed, Feb 07, 2018 at 09:24:52AM +0000, Stokes, Ian wrote: > > > -----Original Message----- > > > From: Yuanhan Liu [mailto:y...@fridaylinux.org] > > > Sent: Wednesday, February 7, 2018 2:12 AM > > > To: Stokes, Ian <ian.sto...@intel.com> > > > Cc: Flavio Leitner <f...@sysclose.org>; d...@openvswitch.org; Simon > > > Horman <simon.hor...@netronome.com>; Olga Shern > > > <ol...@mellanox.com>; Shahaf Shuler <shah...@mellanox.com> > > > Subject: Re: [ovs-dev] [PATCH v7 0/6] OVS-DPDK flow offload with > > > rte_flow > > > > > > On Tue, Feb 06, 2018 at 09:34:36PM +0000, Stokes, Ian wrote: > > > > > -----Original Message----- > > > > > From: Yuanhan Liu [mailto:y...@fridaylinux.org] > > > > > Sent: Tuesday, February 6, 2018 9:10 AM > > > > > To: Flavio Leitner <f...@sysclose.org>; Stokes, Ian > > > > > <ian.sto...@intel.com> > > > > > Cc: d...@openvswitch.org; Simon Horman > > > > > <simon.hor...@netronome.com> > > > > > Subject: Re: [ovs-dev] [PATCH v7 0/6] OVS-DPDK flow offload with > > > > > rte_flow > > > > > > > > > > On Thu, Feb 01, 2018 at 01:35:15AM -0200, Flavio Leitner wrote: > > > > > > On Mon, Jan 29, 2018 at 02:59:42PM +0800, Yuanhan Liu 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: > > > > > > > > > > > > Hi, > > > > > > > > > > > > First of all, thanks for working on this feature. > > > > > > > > > > > > I have some general comments I'd like to discuss before going > > > > > > deeper on it. > > > > > > > > > > > > The documentation is too simple. It should mention the HW > > > > > > requirements in order to use this feature. > > > > > > > > > > It listed the NICs that support this feature. > > > > > > > > > > > Also some important limitations, like no support for IP > > > > > > frags, MPLS or conntrack, for instance. > > > > > > > > > > Yes, that could be added. > > > > > > > > > > > It seems it would be possible to leave the HW offloading code > > > > > > outside of dpif-netdev.c which is quite long already. I hope > > > > > > it will improve isolation and code clarity too. > > > > > > > > > > Yes. My thoughts was we can do it later, when we are going to > > > > > add some other flow models (say, full offload) in future. > > > > > Moreover, it seems that it's a custom in OVS to have long source > > > > > code files. I was just following it. > > > > > > > > > > But I hve no objections to break it. Ian, should I break it now? > > > > > What's your plan to merge it? > > > > > > > > Hi Yuanhan, I believe I gave the same feedback on the first review > > > > pass > > > I did. Previously I was happy to hold off on this work in order to > > > make it into the 2.9 release but as that window has passed I think > > > it makes sense to break it out now. It will save the refactor work > later. > > > > > > So it won't in ovs 2.9 release? > > > > No, the code freeze was the 31st of January for new features. Only bug > fixes are accepted for the remaining 2.9 window. This would be part of > the 2.10 release. > > I thought we all come an agreement that this will be part of 2.9 release > as a experimental feature. What made we missed it?
So there was agreement the feature would be experimental when it is upstreamed to master (not just for OVS 2.9). Unfortunately it missed the 2.9 deadline due to the lack of reviews external to authors within community. I was hoping to review it myself in the run up to the 31st however a separate issue relating to dpdk mempools took priority as it was a blocking issue for users upgrading from OVS 2.8 to OVS 2.9. It was raised by the community and took priority. I've had time only to reviewed the first patch and the documentation patch of the series at this point. I understand it's experimental but I think it's important that it's still reviewed and feedback given before its introduction to OVS. AFAIK there's still issues with compilation for sparse etc. which was breaking the OVS travis build. This alone would keep it from being upstreamed at this point. I'm planning to look at review the rest of this set later this week and providing more feedback. Ian > > Thanks. > > --yliu _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev