[dpdk-dev] Poor device abstraction's

Venkatesan, Venky venky.venkatesan at intel.com
Fri Apr 11 19:57:41 CEST 2014


Agree that the patch sets are a step towards fixing that, but there is a lot more to be done on this. Could we start discussion on what the "ideal" abstraction should be? I'd like to pool those into a formal proposal that we can discuss and drive through a series of patches to make that happen. Even semi-freezing anything prior to that would be premature. 

-Venky

-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Neil Horman
Sent: Friday, April 11, 2014 10:47 AM
To: Stephen Hemminger
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] Poor device abstraction's

On Fri, Apr 11, 2014 at 10:33:31AM -0700, Stephen Hemminger wrote:
> One of my pet peeve's is that the device driver config does not 
> abstract the properties of the Ethernet device. The existing 
> parameters match those of Intel's Ethernet hardware but not much else. 
> It also makes it hard to write generic applications.  If the 
> application has to query the device driver name string and insert 
> different parameters for igb, igbvf, ixgbe and vmxnet3 then the API was designed wrong.
> 
I agree.  I think the patches that recently got integrated from Olivier are a step toward fixing that, but theres some more work to be done.

Neil

> Specific examples:
>   * the "descriptors" argument to rx/tx is interpreted as a hardware resource
>     not the number of packets. An application really wants to say "you may buffer
>     up to 100us of packets" not have to guess what the underlying driver does.
> 
>   * the rthresh/wthresh/pthresh are PCI device artifacts and correct value is
>     different for each HW device shouldn't be exposed to application. The API
>     should be something like "device may burst up to N packets and/or T latency".
> 
> These seems like issues of a transition from a cool toy to talk to 
> Intel hardware to a useful application infrastructure.
> 
> That is why I would hate to see the existing Intel device centric API frozen.
> 


More information about the dev mailing list