diff options
author | 2016-11-16 17:40:01 +0200 | |
---|---|---|
committer | 2016-11-16 17:40:01 +0200 | |
commit | 11c216470c30e4c200e46e1b51d721a549f440d6 (patch) | |
tree | 03ad20c67decf7da4d52e5679c2fd22dd8f5eaa6 /scripts/dpdk_nic_bind.py | |
parent | e46e3f598e52112b9db21d6faabde7a5c87341cb (diff) | |
parent | efba1bd2c32391c443a9dbaf0fffa6468bb681c6 (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-x | scripts/dpdk_nic_bind.py | 32 |
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())): |