Hi Damjan and others, I would appreciate if we continue to have discussion about pros and cons of the patch we pushed for Marvell OCTEON TX2 plugin. With our DPDK based custom plugin we have achieved benefits of both worlds.
1. Leverage nice abstraction of DPDK APIs 2. Specific optimizations for VPP by removing rte_mbuf() dependency Just to re-iterate we want to have plugin based on custom DPDK because 1. The custom plugin allow us to achieve what a VPP native driver plugin can do. Currently both INPUT node (octeontx2-input) and Tx node takes ~35 cycles each and there is further scope for optimization. 2. The plugin does not conflict with existing dpdk plugin (as cmake require “libmarvelldpdk” library check to enable this plugin compilation). * We are open to provide patches for review * If required we can host custom library publicly * All custom changes are restricted to PMD and there is no change in rte library. As things stand out we have two alternatives to upstream this plugin in VPP 1. Add native support 1. Adding native ethdev driver support in VPP is a gigantic effort.(See: https://git.dpdk.org/dpdk/tree/drivers/net/octeontx2) 2. This mammoth task is not going to be meaningful for us as we are able to achieve similar performance with our custom DPDK plugin 3. We also have plans to use other well defined abstractions of DPDK like rte_security()/rte_flow()/rte_tm() etc. 1. Extend existing DPDK plugin for OCTEON TX2 * By doing so we will loose the cycles we have achieved by removing rte_mbuf both in Rx/Tx path * Separate plugin make sense for us as we have plans to use optimized version of other DPDK’s abstraction APIs like i. rte_security (https://doc.dpdk.org/guides/prog_guide/rte_security.html) So help us in understanding what can we do to upstream this plugin. Appreciate if questions in following mail can be answered. Thanks, Nitin From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Nitin Saxena Sent: Tuesday, August 20, 2019 3:31 PM To: Damjan Marion <dmar...@me.com> Cc: vpp-dev@lists.fd.io; Narayana Prasad Raju Athreya <pathr...@marvell.com> Subject: Re: [EXT] [vpp-dev] Marvell OCTEONTx2 plugin Hi Damjan, See my response inline Thanks, Nitin From: Damjan Marion <dmar...@me.com<mailto:dmar...@me.com>> Sent: Tuesday, August 20, 2019 12:24 AM To: Nitin Saxena <nsax...@marvell.com<mailto:nsax...@marvell.com>> Cc: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> Subject: Re: [EXT] [vpp-dev] Marvell OCTEONTx2 plugin Dear Nitin, Here is my view on this: - All VPP dependencies should be open source and freely available software, afaik access to Marvell SDK is restricted to NDA customers and that is no go [Nitin]: Got it. By dependency do you mean compile-time dependencies or run-time as well? Could you please clarify following doubts (None of them applies to my patch submission though) 1. If I have firmware that is loaded onto hardware and that would be completely closed-source(and part of Marvell SDK), would such firmware violate the dependency policy? 2. If I have a kernel module that is part of the Marvell SDK. Can VPP issue system calls to such a module, or would it violate the dependency policy you mentioned? 3. If I use dlopen to operate with a proprietary library in Marvell SDK, would that violate the dependency policy? - preferred way to add device driver support in VPP is native one, typically provided as plugin and such driver can be linked to external library if it is open source. We already do that with marvel MUSDK and rdma-core. Nice feature of both libraries is that they provide way to access descriptors directly without metadata conversion into intermediate data structure (e.g. dpdk rte_mbuf). - we are fine to have out-of-tree patches on top of DPDK as long as they are limited to providing new PMD and not altering common dpdk code. [Nitin]: Yes my intent was same. I can share DPDK patches over email so you can take a look and let me know your views on that. Let me know if that is ok. - Having separate plugin with own "special" version of DPDK is something I don't like. You should decide either to go with dpdk pmd and extend existing dpdk plugin, or create native driver without dpdk code. [Nitin]: I tried to think along these lines but I could not contemplate all ramifications beyond OCTEONTX2. Perhaps you can look at my patches and see whether what you are suggesting is possible with the existing plugin? Thanks, Damjan On 19 Aug 2019, at 20:03, Nitin Saxena <nsax...@marvell.com<mailto:nsax...@marvell.com>> wrote: Hi Damjan, Thanks for comment. libmarvelldpdk is not intended to be a closed source and is part of Marvell SDK for our customers. Would it be ok to provide patches against DPDK release (from dpdk.org<http://dpdk.org/>) OR does it need to be hosted publicly? Thanks, Nitin ________________________________ From: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> on behalf of Damjan Marion via Lists.Fd.Io <dmarion=me....@lists.fd.io<mailto:dmarion=me....@lists.fd.io>> Sent: Monday, August 19, 2019 9:30 PM To: Nitin Saxena <nsax...@marvell.com<mailto:nsax...@marvell.com>> Cc: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> Subject: [EXT] Re: [vpp-dev] Marvell OCTEONTx2 plugin External Email ________________________________ Dear Nitin, Where we can find “libmarvelldpdk”? Google search doesn’t show single occurrence. We don’t support contributions linked to closed source libraries… — Damjan On 19 Aug 2019, at 16:53, Nitin Saxena <nsax...@marvell.com<mailto:nsax...@marvell.com>> wrote: Hi, Following is the link for README.md https://gerrit.fd.io/r/#/c/vpp/+/21394/1/src/plugins/octeontx2/README.md Thanks, Nitin From: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> On Behalf Of Nitin Saxena Sent: Monday, August 19, 2019 8:21 PM To: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> Cc: Narayana Prasad Raju Athreya <pathr...@marvell.com<mailto:pathr...@marvell.com>> Subject: [EXT] [vpp-dev] Marvell OCTEONTx2 plugin External Email ________________________________ Hi Maintainers, I have pushed patch for Marvell OCTEON TX2 driver plugin: https://gerrit.fd.io/r/#/c/vpp/+/21394/ Appreciate your feedback on the patch. Thanks, Nitin -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13786): https://lists.fd.io/g/vpp-dev/message/13786 Mute This Topic: https://lists.fd.io/mt/32945036/675642 Group Owner: vpp-dev+ow...@lists.fd.io<mailto:vpp-dev+ow...@lists.fd.io> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [dmar...@me.com<mailto:dmar...@me.com>] -=-=-=-=-=-=-=-=-=-=-=- -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13791): https://lists.fd.io/g/vpp-dev/message/13791 Mute This Topic: https://lists.fd.io/mt/32958379/675642 Group Owner: vpp-dev+ow...@lists.fd.io<mailto:vpp-dev+ow...@lists.fd.io> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [dmar...@me.com<mailto:dmar...@me.com>] -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13883): https://lists.fd.io/g/vpp-dev/message/13883 Mute This Topic: https://lists.fd.io/mt/32958934/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-