[dpdk-dev] Poor device abstraction's

Neil Horman nhorman at tuxdriver.com
Fri Apr 11 19:59:35 CEST 2014


On Fri, Apr 11, 2014 at 05:57:41PM +0000, Venkatesan, Venky wrote:
> 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. 
> 
Well, just to throw something out there, what about starting with the net_device
structure in the kernel, and removing things that are unnecessecary?  That might
give us a good starting point to see what else is needed
Neil

> -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