[dpdk-dev] Poor device abstraction's

Stephen Hemminger stephen at networkplumber.org
Fri Apr 11 19:33:31 CEST 2014


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.

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