[ovs-dev] [ovs-dev, v1] netdev-rte-offloads: Reassign vport netdev functions.

Roni Bar Yanai roniba at mellanox.com
Tue Apr 30 11:29:19 UTC 2019


Aaron, please see inline.

>-----Original Message-----
>From: ovs-dev-bounces at openvswitch.org <ovs-dev-bounces at openvswitch.org>
>On Behalf Of Aaron Conole
>Sent: Monday, April 29, 2019 4:44 PM
>To: Ilya Maximets <i.maximets at samsung.com>
>Cc: ovs-dev at openvswitch.org; Thomas Monjalon <thomas at monjalon.net>
>Subject: Re: [ovs-dev] [ovs-dev, v1] netdev-rte-offloads: Reassign vport netdev
>functions.
>
>Ilya Maximets <i.maximets at samsung.com> writes:
>
>>> 21/04/2019 11:11, Ophir Munk:
>>>> Thomas - would you like to explain more on the origins of "rte"?
>>>
>>> Ian explained (below) the origin quite clearly.
>>> It has been decided in the early days by Intel.
>>>
>>>> From: Ian Stokes
>>>> > On 4/17/2019 5:34 PM, Ben Pfaff wrote:
>>>> > > On Wed, Apr 17, 2019 at 11:45:33AM -0400, Aaron Conole wrote:
>>>> > >> rte comes from dpdk as an acronym for Run Time Environment.  Maybe
>>>> > >> even just dropping the 'rte_' portion?
>>>> > >
>>>> > > *That* is what rte stands for?  What a ridiculously generic name.
>>>> > > It's like naming a library Operating System.
>>>
>>> Yes I agree that it's ridiculous :)
>>
>> The best header is "rte_eal.h". It looks like DPDK tries to abstract from itself.
>>
>>>
>>> I already proposed to replace rte_ with dpdk_ prefix
>>> but the vast majority was against a big replacement.
>>> Would you support such a change?
>>
>> I'm not contributing much to dpdk these days, but I'd support such a
>> change.
>
>I have a longer (and probably useless, but w/e) opinion below.
>
>> This would be a big step toward apps that tries to work with DPDK as a library
>> and not as a run-time environment.
>> And, probably, right now is the last chance for DPDK do make such a huge API
>break.
>> There was way too much discussions about API stability and I'm afraid that DPDK
>> will petrify soon without ability to change anything.
>
>+ .5
>
>I think it makes sense to do this change at the time DPDK project
>declares a stronger ABI&API guarantee.  "This is the new ossified
>ABI/API, and we don't break it."  It's a strong declaration to users.
>And API / ABI are really just user interfaces.  Compilers, computers,
>etc. don't "care".
>
>Then again, history is littered with crazier ossification in software.
>After all, we still use CAR,CDR in lisp and I don't think most people
>know what that's all about either.  Heck, supposedly indices start at 0
>rather than 1 to correct for yacht handicapping interrupting the
>compiler[1][2] and it turns out that isn't a terrible thing.  "rte_"
>*is* one character less than "dpdk_" after all.
>
>All this to say, I don't think it really truly matters.  As seen in the
>original patch, people now just think "rte == dpdk" and so it's probably
>a lot of hassle for not as much gain.  Anyone who googles "rte_*" upon
>encountering it in code will find DPDK.  And whatever the reason for
>using "rte_" originally won't matter.
>
>So I guess... do whatever you'd like in your existing code.  :)
>
>OTOH, for code in OvS, I'll continue to advocate against using *rte*
>because it's new code and *rte* doesn't really mean anything to OvS
>anyway.  At least in the DPDK project, it meant something.
>
>1:
>https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.wikipe
>dia.org%2Fwiki%2FZero-
>based_numbering%23Origin&amp;data=02%7C01%7Croniba%40mellanox.com%7
>C6de746f1250948803ec608d6cca94ccd%7Ca652971c7d2e4d9ba6a4d149256f461b%7
>C0%7C0%7C636921424851725523&amp;sdata=IvceIDWnPxohuOl2smsbmf2Pz43tk
>8KgnUm5AVXDWfU%3D&amp;reserved=0
>2:
>https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fexple.tive.o
>rg%2Fblarg%2F2013%2F10%2F22%2Fcitation-
>needed%2F&amp;data=02%7C01%7Croniba%40mellanox.com%7C6de746f125094
>8803ec608d6cca94ccd%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636
>921424851725523&amp;sdata=6ZlgjwSktRL8ltjAOUHcDJHksoWH8rKqo%2BenInMJ
>6Y8%3D&amp;reserved=0
>
Agree that for most developers dpdk == rte, and when looking at the code rte* will not
be confusing. Having said that, totally agree that it makes more sense for OVS code to 
use dpdk and not rte in the API. We have tc-offload and dpdk-offload and we have 
netdev-dpdk...etc. 
This patch is not relevant anymore as the required functionality was implemented by Ilya
as infrastructure in a different patch, but will follow the convention on future patches.
Thanks,
Roni
>>>
>>>> > This piqued my interest also, with DPDK in the early days it was targeting
>bare
>>>> > metal comms systems, so the original API was LWRTE (LiteWeight Run Time
>>>> > Environment) which became RTE as it moved on from bare metal, so it
>seems
>>>> > more of a legacy convention.
>>>
>_______________________________________________
>dev mailing list
>dev at openvswitch.org
>https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.open
>vswitch.org%2Fmailman%2Flistinfo%2Fovs-
>dev&amp;data=02%7C01%7Croniba%40mellanox.com%7C6de746f1250948803ec60
>8d6cca94ccd%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C63692142485
>1735523&amp;sdata=ITEQBetXzMxsyR7wU02rwrpx4epHc4LARdEhEDTXq3M%3D&
>amp;reserved=0


More information about the dev mailing list