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-boun...@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.
> 

Reply via email to