From e114696200ce29439c8ab82aa1279d5ca30644f0 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Fri, 6 May 2016 15:27:01 -0300 Subject: [PATCH] tools: allow binding to other network class devices dpdk_nic_bind will only handle Ethernet devices, but Mellanox ConnectX-3 Pro, for example, is a Network class device, but not an Ethernet one. Even though this allows other devices in the list, like Wireless devices, this should not be a problem. Signed-off-by: Thadeu Lima de Souza Cascardo --- tools/dpdk_nic_bind.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py index 28eace33d7..b69ca2a0db 100755 --- a/tools/dpdk_nic_bind.py +++ b/tools/dpdk_nic_bind.py @@ -38,8 +38,8 @@ import getopt import subprocess from os.path import exists, abspath, dirname, basename -# The PCI device class for ETHERNET devices -ETHERNET_CLASS = "0200" +# The PCI base class for NETWORK devices +NETWORK_BASE_CLASS = "02" # global dict ethernet devices present. Dictionary indexed by PCI address. # Each device within this is itself a dictionary of device properties @@ -248,7 +248,7 @@ def get_nic_details(): dev_lines = check_output(["lspci", "-Dvmmn"]).splitlines() for dev_line in dev_lines: if (len(dev_line) == 0): - if dev["Class"] == ETHERNET_CLASS: + if dev["Class"][0:2] == NETWORK_BASE_CLASS: # convert device and vendor ids to numbers, then add to global dev["Vendor"] = int(dev["Vendor"], 16) dev["Device"] = int(dev["Device"], 16) -- 2.20.1