From: "Andrew Harvey (agh)" <agh@cisco.com>
To: Bruce Richardson <bruce.richardson@intel.com>,
"Wang, Liang-min" <liang-min.wang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH 2/2] ethtool: add new library to provide ethtool-alike APIs
Date: Fri, 5 Jun 2015 17:24:25 +0000 [thread overview]
Message-ID: <D1972780.3439A%agh@cisco.com> (raw)
In-Reply-To: <20150605124748.GA6760@bricha3-MOBL3>
On 6/5/15, 5:47 AM, "Bruce Richardson" <bruce.richardson@intel.com> wrote:
>On Fri, Jun 05, 2015 at 11:25:09AM +0000, Wang, Liang-min wrote:
>>
>>
>> > -----Original Message-----
>> > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
>> > Sent: Friday, June 05, 2015 6:47 AM
>> > To: Andrew Harvey (agh)
>> > Cc: Stephen Hemminger; Wang, Liang-min; dev@dpdk.org
>> > Subject: Re: [dpdk-dev] [PATCH 2/2] ethtool: add new library to
>>provide
>> > ethtool-alike APIs
>> >
>> > 2015-06-04 22:10, Andrew Harvey:
>> > > On 6/4/15, 7:58 AM, "Stephen Hemminger"
>> > <stephen@networkplumber.org> wrote:
>> > > >"Andrew Harvey (agh)" <agh@cisco.com> wrote:
>> > > >> I believe that their is value in this interface for software
>>stacks
>> > > >>not based on Linux being moved toward DPDK that need simple
>> > > >>operations like getting the mac address. Some of these stacks
>>have
>> > > >>a dearth of resources available and dedicating a core/thread to
>>KNI
>> > > >>to get/set a mac address is considered excessive. There are also
>> > > >>issues with 32/64 bit kernel integration using KNI. If the
>> > > >>ethtool interface is not the correct interface then please help
>>me
>> > > >>understand what should/could have been used. If ethtool is
>> > > >>considered 'old and clunky¹ Stephen's and your input would be
>> > > >>valuable in designing another interface with similar properties.
>> > > >>The use-case is pretty simple and there is no plans for moving
>> > > >>anything back into the kernel on the contrary its the complete
>>opposite.
>> > > >>
>> > > >> ‹ Andy
>> > > >
>> > > >We have DPDK API's to do this, and any added wrappers make it
>>bigger.
>> > > >I don't see why calling your ethtool API is better than calling
>> > > >rte_eth* API.
>> > > >
>> > > >If there is a missing functionality in the rte_ethXXX api's for an
>> > > >application then add that. For example: rte_eth_mac_addr_get()
>> > >
>> > > I am getting somewhat confused by your latest comments. Your first
>> > > email (referenced below) looked really positive and I found your
>> > > suggestions useful. Your latest post appears to contradict this and
>> > > now the interface was there all the time. The wrapper façade
>>provided
>> > > by the ethtool library provide a clean separation of concerns and
>>will
>> > > allow people to migrate from not only KNI but in our case from a
>> > > legacy system. If a software stack has requirements to work with
>> > > multiple IO abstractions then the ethtool approach is attractive. I
>> > > would speculate that many other stacks moving towards dpdk will have
>> > similar issues.
>> > >
>> > > Summarizing, for our use-cases the ethtool interface facilitated our
>> > > adoption to dpdk while allowing us to support our legacy IO
>>abstractions.
>> >
>> > Stephen and me say the same thing about using the ethdev API.
>> > We don't understand why using a fake ethtool lib would be easier.
>> > Though you are saying it "facilitated [your] adoption to dpdk".
>> > Please could you explain why using an ethtool-like API is easier than
>>using
>> > the existing ethdev API?
>> > In any case, you have to develop a specific backend for DPDK
>>(rte_ethtool
>> > would be also DPDK-specific).
>>
>> As described earlier in this patch comment reply, there are other
>>ethtool ops that have been implemented.
>> Those ops includes set/get eeprom, set/get pauseparam, set/get
>>ringparam which are not available in the exiting ethdev library.
>> For this release, we focus on releasing some basic functions (btw,
>>mac_addr_set is not available but is covered by this patch).
>> The key reason that this set of library is not released as part of
>>ethdev is the ethtool API dependency on kernel include file.
>> To faithfully carry the ethtool ops and net dev ops API parameters, the
>>ethtool APIs are designed to follow the original definition except
>>avoiding carry kernel states.
>> With that, to support ethtool APIs faithfully, we need to include
>><linux/ethtool.h>.
>> As suggested by many DPDK veterans including Thomas (indicated over
>>your reply), you would prefer these APIs in a separate library.
>>
>> >
>> > It seems you already started to use such an ethtool implementation.
>> > Please note that our goal is not to prevent Cisco from upstreaming
>>(evidence
>> > with enic driver integration) but we want to guide you, and others
>>having the
>> > same needs, to the best solution for everybody.
>> > That's why we need to understand what we (or you) are missing.
>> > Maybe that it would be clearer with some code examples (which would
>>go in
>> > the lib documentation if any).
>> >
>> > Thanks
>
>How about doing this work as a sample application initially, to
>demonstrate how
>an application written using ethtool APIs could be shimmed to use DPDK
>underneath.
>The ethtool to dpdk mapping could be contained in a single header file
>(or header
>and c file) inside the sample app. This would allow easy re-use of the
>shim
>layer, while at the same time not making it part of the core DPDK
>libraries.
>
>Regards,
>/Bruce
This would appear to be the most pragmatic way forward. It would allow
others to see more of the code and judge its value for themselves. I have
no issues with this approach if others agree.
— Andy
next prev parent reply other threads:[~2015-06-05 17:24 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-29 19:26 [PATCH 0/2] User-space Ethtool Liang-Min Larry Wang
2015-05-29 19:26 ` [PATCH 1/2] ethdev: add api to set default mac address Liang-Min Larry Wang
2015-06-02 10:52 ` Ananyev, Konstantin
2015-06-02 12:23 ` Thomas Monjalon
2015-06-02 14:51 ` Stephen Hemminger
2015-06-02 15:07 ` Wang, Liang-min
2015-06-02 12:23 ` Wang, Liang-min
2015-06-02 13:10 ` Ananyev, Konstantin
2015-05-29 19:26 ` [PATCH 2/2] ethtool: add new library to provide ethtool-alike APIs Liang-Min Larry Wang
2015-06-02 12:38 ` Thomas Monjalon
2015-06-02 13:15 ` Wang, Liang-min
2015-06-02 14:32 ` Thomas Monjalon
2015-06-02 15:47 ` Wang, Liang-min
2015-06-02 16:02 ` Thomas Monjalon
2015-06-02 17:06 ` Wang, Liang-min
2015-06-02 20:37 ` Thomas Monjalon
2015-06-02 20:56 ` Wang, Liang-min
2015-06-03 1:00 ` David Harton (dharton)
2015-06-03 2:09 ` Andrew Harvey (agh)
2015-06-04 14:25 ` O'Driscoll, Tim
2015-06-04 14:58 ` Stephen Hemminger
2015-06-04 22:10 ` Andrew Harvey (agh)
2015-06-05 10:46 ` Thomas Monjalon
2015-06-05 11:25 ` Wang, Liang-min
2015-06-05 12:47 ` Bruce Richardson
2015-06-05 17:24 ` Andrew Harvey (agh) [this message]
2015-06-05 21:03 ` Thomas Monjalon
2015-06-05 13:40 ` Thomas Monjalon
2015-06-05 14:20 ` Wang, Liang-min
2015-06-05 16:07 ` Andrew Harvey (agh)
2015-06-05 20:57 ` Thomas Monjalon
-- strict thread matches above, loose matches on Subject: below --
2015-05-30 0:37 [PATCH 0/2] User-space Ethtool Liang-Min Larry Wang
2015-05-30 0:37 ` [PATCH 2/2] ethtool: add new library to provide ethtool-alike APIs Liang-Min Larry Wang
2015-05-30 15:48 ` Stephen Hemminger
2015-05-30 16:16 ` Wang, Liang-min
2015-05-30 19:26 ` Stephen Hemminger
2015-05-30 19:40 ` Wang, Liang-min
2015-05-31 16:48 ` Stephen Hemminger
2015-05-31 17:30 ` Wang, Liang-min
2015-05-31 18:31 ` Wang, Liang-min
2015-06-01 12:42 ` David Harton (dharton)
2015-05-29 13:15 [PATCH 0/2] User-space Ethtool Liang-Min Larry Wang
2015-05-29 13:15 ` [PATCH 2/2] ethtool: add new library to provide ethtool-alike APIs Liang-Min Larry Wang
2015-05-29 15:22 ` Stephen Hemminger
2015-05-29 18:17 ` Wang, Liang-min
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D1972780.3439A%agh@cisco.com \
--to=agh@cisco.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=liang-min.wang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.