Dear Nitin,

i already provided my view in previous email. But that’s just my humble opinion.
I don't have access to that hardware or free cycles to invest into this topic.

Will let others to comment….

— 
Damjan



> On 2 Sep 2019, at 19:14, Nitin Saxena <nsax...@marvell.com> wrote:
> 
> 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.
> Leverage nice abstraction of DPDK APIs
> Specific optimizations  for VPP by removing rte_mbuf() dependency
>  
> Just to re-iterate we want to have plugin based on custom DPDK because
> 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.
> 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
> Add native support       
> Adding native ethdev driver support in VPP is a gigantic effort.(See: 
> https://git.dpdk.org/dpdk/tree/drivers/net/octeontx2 
> <https://git.dpdk.org/dpdk/tree/drivers/net/octeontx2>)
> This mammoth task is not going to be meaningful for us as we are able to 
> achieve similar performance with our custom DPDK plugin
> We also have plans to use other well defined abstractions of DPDK like 
> rte_security()/rte_flow()/rte_tm() etc.
>  
> 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 
> <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 <mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io 
> <mailto:vpp-dev@lists.fd.io>> On Behalf Of Nitin Saxena
> Sent: Tuesday, August 20, 2019 3:31 PM
> To: Damjan Marion <dmar...@me.com <mailto:dmar...@me.com>>
> Cc: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>; Narayana Prasad Raju 
> Athreya <pathr...@marvell.com <mailto: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)
> 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?
> 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?
> 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 
> <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/ 
> <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 
> <https://lists.fd.io/g/vpp-dev/message/13786>
> Mute This Topic: https://lists.fd.io/mt/32945036/675642 
> <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 
> <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 
> <https://lists.fd.io/g/vpp-dev/message/13791>
> Mute This Topic: https://lists.fd.io/mt/32958379/675642 
> <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 
> <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 
> <https://lists.fd.io/g/vpp-dev/message/13883>
> Mute This Topic: https://lists.fd.io/mt/32958934/675642 
> <https://lists.fd.io/mt/32958934/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 
> <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 (#13884): https://lists.fd.io/g/vpp-dev/message/13884
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to