[dpdk-users] DPDK support for 82579

Stephen Hemminger stephen at networkplumber.org
Tue Oct 31 22:50:48 CET 2017

On Tue, 31 Oct 2017 12:14:16 +0000
James Bensley <jwbensley at gmail.com> wrote:

> Hi All,
> I have see the list of support NICs here: http://dpdk.org/doc/nics
> Although it doesn’t say which NICs are confirmed as NOT working. I
> have looking into DPDK support (for Pktgen and Moongen) on commodity
> devices (e.g. laptops and desktops). I have DPDK + Pktgen compiled and
> working on my home desktop:
> bensley at htpc-ubuntu:/opt/dpdk/dpdk-17.08/usertools$ lspci | grep Eth
> 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection
> I217-V (rev 05)
> However on my laptop it seems the NIC is “unsupported”:
> bensley at ubuntu-laptop:/opt/dpdk/dpdk-17.08/usertools$ lspci | grep Eth
> 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network
> Connection (rev 04)
> When I say unsupported I mean that Intel 82579 chips aren’t on the
> list of supported NICs (where as I217 is explicitly listed) so I have
> two questions;
> 1. Is there a list of confirmed unsupported NICs?
> 2. It maybe that this NIC will work but it is untested (unless someone
> can confirm otherwise) so is there a way I can force DPDK + Pktgen to
> try and use this 82579 NIC?
> Please see this output of me trying to bind the laptop NIC to DPDK,
> dpdk-devbind.py doesn't explicitly reject the NIC (by which I mean no
> error message and the return code from `sudo ./dpdk-devbind.py -b
> e1000e 00:19.0` is 0) but it simply doesn’t work, the NIC is “given”
> back to the Kernel:
> https://null.53bits.co.uk/uploads/linux/applications/dpdk/Ubuntu-Laptop-DPDK-NIC-Bind.txt
> In the `lshw` output it can be seen that the NIC uses an e1000e
> driver, do I need to compile the e1000e driver bundled with the DPDK
> source and replace my existing/native driver with that, if so how can
> I compile it?
> bensley at ubuntu-laptop:/opt/dpdk/dpdk-17.08/drivers/net/e1000$ make
> Makefile:32: /mk/rte.vars.mk: No such file or directory
> Makefile:103: /mk/rte.lib.mk: No such file or directory
> make: *** No rule to make target '/mk/rte.lib.mk'. Stop.
> Cheers,
> James.
> P.S. I’m using DPDK 17.08 and Pktgen 3.4.2, I did a vanilla compile,
> using these exact commands:
> https://null.53bits.co.uk/index.php?page=ptkgen-install

First off, I assume the device works for normal Linux networking.
Then check the PCI-id value for the device and see if it is present in drivers/net/e1000
in DPDK. If not, then it maybe as simple as adding the necessary ID value to the
table. Also, check current git. 

It maybe more complex where some PHY code has to be backported from
BSD into DPDK. Unfortunately, the device support in DPDK lags behind Linux
and BSD. There are many variants and even Intel doesn't have resources to
keep DPDK up to all the current PCI id values.

More information about the users mailing list