From 9db603df1076b5ee56ef6326fd0e396b166ed5b1 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Mon, 1 Oct 2018 13:21:59 +0000 Subject: [PATCH] CSIT-1325 - FIX: AVF tests failing on unbind Currently there is and issue when consecutive AVF suites are trying to initialize AVF and bind VF to vfio-pci driver, there seems to be race condition if VPP has already VFs allocated. This patch should introduce safer contstrain to disable VPP prior AVF init. Change-Id: Id8839200f19d9e7a18d161b660cfb1e43a8ca379 Signed-off-by: Peter Mikus --- resources/libraries/python/InterfaceUtil.py | 2 +- tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-mrr.robot | 2 +- tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot | 2 +- tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-mrr.robot | 2 +- tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-ndrpdr.robot | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index 290db1db67..7fc7f85723 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -1338,11 +1338,11 @@ class InterfaceUtil(object): current_driver = DUTSetup.get_pci_dev_driver(node,\ pf_pci_addr.replace(':', r'\:')) + VPPUtil.stop_vpp_service(node) if current_driver != kernel_driver: # PCI device must be re-bound to kernel driver before creating VFs. DUTSetup.verify_kernel_module(node, kernel_driver, force_load=True) # Stop VPP to prevent deadlock. - VPPUtil.stop_vpp_service(node) # Unbind from current driver. DUTSetup.pci_driver_unbind(node, pf_pci_addr) # Bind to kernel driver. diff --git a/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-mrr.robot index d92dd728d3..779b7d0424 100644 --- a/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-mrr.robot +++ b/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-mrr.robot @@ -75,7 +75,7 @@ | | ... | ${s_limit} | ${framesize} | | And Apply startup configuration on all VPP DUTs | | When Initialize AVF interfaces -| | And Initialize L2 xconnect in circular topology +| | And Initialize L2 Xconnect In 3-node Circular Topology | | Then Traffic should pass with maximum rate | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} diff --git a/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot b/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot index 01a638dc7f..3ebeacab0f 100644 --- a/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot +++ b/tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot @@ -81,7 +81,7 @@ | | ... | ${s_limit} | ${framesize} | | And Apply startup configuration on all VPP DUTs | | When Initialize AVF interfaces -| | And Initialize L2 xconnect in circular topology +| | And Initialize L2 Xconnect In 3-node Circular Topology | | Then Find NDR and PDR intervals using optimized search | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} diff --git a/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-mrr.robot b/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-mrr.robot index de0265aada..33e1f263d6 100644 --- a/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-mrr.robot +++ b/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-mrr.robot @@ -77,7 +77,7 @@ | | ... | ${s_25G} | ${framesize} | pps_limit=${s_18.75Mpps} | | And Apply startup configuration on all VPP DUTs | | When Initialize AVF interfaces -| | And Initialize L2 xconnect in circular topology +| | And Initialize L2 Xconnect In 3-node Circular Topology | | Then Traffic should pass with maximum rate | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} diff --git a/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-ndrpdr.robot b/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-ndrpdr.robot index 430e515433..df89e84128 100644 --- a/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-ndrpdr.robot +++ b/tests/vpp/perf/l2/25ge2p1xxv710-avf-eth-l2xcbase-ndrpdr.robot @@ -84,7 +84,7 @@ | | ... | ${s_25G} | ${framesize} | pps_limit=${s_18.75Mpps} | | And Apply startup configuration on all VPP DUTs | | When Initialize AVF interfaces -| | And Initialize L2 xconnect in circular topology +| | And Initialize L2 Xconnect In 3-node Circular Topology | | Then Find NDR and PDR intervals using optimized search | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} -- 2.16.6