sriov: PCI IDs must be checked before usage 83/18083/1
authorMartin Klozik <martinx.klozik@intel.com>
Fri, 5 Aug 2016 11:38:56 +0000 (12:38 +0100)
committerMartin Klozik <martinx.klozik@intel.com>
Fri, 5 Aug 2016 11:43:21 +0000 (12:43 +0100)
Order of NIC PCI IDs handling was changed to ensure their
check and possible expansion (by missing domain part)
before their first usage. This avoids a vsperf crash
in case that sriov is configured and short NIC PCI IDs
are used.

JIRA: VSPERF-363

Change-Id: I91f724e9558bce5a92520de72b4bf000f33d2f29
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: <bmichalo@redhat.com>
vsperf

diff --git a/vsperf b/vsperf
index f2f443b..d41b92f 100755 (executable)
--- a/vsperf
+++ b/vsperf
@@ -557,13 +557,13 @@ def main():
         _LOGGER.error("Cannot specify tests with both positional args and --test.")
         sys.exit(1)
 
-    # sriov handling
-    settings.setValue('SRIOV_ENABLED', enable_sriov(settings.getValue('WHITELIST_NICS')))
-
     # modify NIC configuration to decode enhanced PCI IDs
     wl_nics_orig = list(networkcard.check_pci(pci) for pci in settings.getValue('WHITELIST_NICS'))
     settings.setValue('WHITELIST_NICS_ORIG', wl_nics_orig)
 
+    # sriov handling is performed on checked/expanded PCI IDs
+    settings.setValue('SRIOV_ENABLED', enable_sriov(wl_nics_orig))
+
     nic_list = []
     for nic in wl_nics_orig:
         tmp_nic = networkcard.get_nic_info(nic)