summaryrefslogtreecommitdiffstats
path: root/scripts/dpdk_nic_bind.py
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-11-16 17:40:01 +0200
committerimarom <imarom@cisco.com>2016-11-16 17:40:01 +0200
commit11c216470c30e4c200e46e1b51d721a549f440d6 (patch)
tree03ad20c67decf7da4d52e5679c2fd22dd8f5eaa6 /scripts/dpdk_nic_bind.py
parente46e3f598e52112b9db21d6faabde7a5c87341cb (diff)
parentefba1bd2c32391c443a9dbaf0fffa6468bb681c6 (diff)
Merge branch 'master' to rx_features phase 0.5
Signed-off-by: imarom <imarom@cisco.com>
Diffstat (limited to 'scripts/dpdk_nic_bind.py')
-rwxr-xr-xscripts/dpdk_nic_bind.py32
1 files changed, 21 insertions, 11 deletions
diff --git a/scripts/dpdk_nic_bind.py b/scripts/dpdk_nic_bind.py
index a85ecb71..e797666b 100755
--- a/scripts/dpdk_nic_bind.py
+++ b/scripts/dpdk_nic_bind.py
@@ -54,7 +54,11 @@ if needed_path not in PATH:
# Each device within this is itself a dictionary of device properties
devices = {}
# list of supported DPDK drivers
-dpdk_drivers = [ "igb_uio", "vfio-pci", "uio_pci_generic" ]
+# ,
+
+dpdk_and_kernel=[ "mlx5_core", "mlx5_ib" ]
+
+dpdk_drivers = ["igb_uio", "vfio-pci", "uio_pci_generic" ]
# command-line arg flags
b_flag = None
@@ -568,10 +572,15 @@ def show_status():
if not has_driver(d):
no_drv.append(devices[d])
continue
- if devices[d]["Driver_str"] in dpdk_drivers:
+
+ if devices[d]["Driver_str"] in dpdk_and_kernel:
dpdk_drv.append(devices[d])
- else:
kernel_drv.append(devices[d])
+ else:
+ if devices[d]["Driver_str"] in dpdk_drivers:
+ dpdk_drv.append(devices[d])
+ else:
+ kernel_drv.append(devices[d])
# print each category separately, so we can clearly see what's used by DPDK
display_devices("Network devices using DPDK-compatible driver", dpdk_drv, \
@@ -609,7 +618,7 @@ def get_info_from_trex(pci_addr_list):
pci_info_dict[pci]['TRex_Driver'] = match.group(3)
return pci_info_dict
-def show_table():
+def show_table(get_macs = True):
'''Function called when the script is passed the "--table" option.
Similar to show_status() function, but shows more info: NUMA etc.'''
global dpdk_drivers
@@ -617,15 +626,16 @@ def show_table():
get_nic_details()
dpdk_drv = []
for d in devices.keys():
- if devices[d].get("Driver_str") in dpdk_drivers:
+ if devices[d].get("Driver_str") in (dpdk_drivers+dpdk_and_kernel):
dpdk_drv.append(d)
- for pci, info in get_info_from_trex(dpdk_drv).items():
- if pci not in dpdk_drv: # sanity check, should not happen
- print('Internal error while getting MACs of DPDK bound interfaces, unknown PCI: %s' % pci)
- return
- devices[pci].update(info)
-
+ if get_macs:
+ for pci, info in get_info_from_trex(dpdk_drv).items():
+ if pci not in dpdk_drv: # sanity check, should not happen
+ print('Internal error while getting MACs of DPDK bound interfaces, unknown PCI: %s' % pci)
+ return
+ devices[pci].update(info)
+
table = texttable.Texttable(max_width=-1)
table.header(['ID', 'NUMA', 'PCI', 'MAC', 'Name', 'Driver', 'Linux IF', 'Active'])
for id, pci in enumerate(sorted(devices.keys())):