From: Yu Jiang <yux.jiang@intel.com>
To: xueqin.lin@intel.com, dts@dpdk.org
Cc: Yu Jiang <yux.jiang@intel.com>
Subject: [dts][PATCH V1] Optimize script: wait_link_status_up after start testpmd
Date: Wed, 24 Nov 2021 16:33:40 +0800 [thread overview]
Message-ID: <1637742820-28741-1-git-send-email-yux.jiang@intel.com> (raw)
optimize script: checksum_offload/flow_classify_softnic/nvgre/vlan/vlan_ethertype_config/vxlan,
wait_link_status_up after start testpmd or before send_packets to enhance script robustness
Signed-off-by: Yu Jiang <yux.jiang@intel.com>
---
tests/TestSuite_checksum_offload.py | 4 ++--
tests/TestSuite_flow_classify_softnic.py | 2 ++
tests/TestSuite_nvgre.py | 5 +++--
tests/TestSuite_vlan.py | 1 +
tests/TestSuite_vlan_ethertype_config.py | 2 +-
tests/TestSuite_vxlan.py | 18 +++++++++++-------
6 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/tests/TestSuite_checksum_offload.py b/tests/TestSuite_checksum_offload.py
index 3338e33..f8b26ef 100644
--- a/tests/TestSuite_checksum_offload.py
+++ b/tests/TestSuite_checksum_offload.py
@@ -671,7 +671,7 @@ class TestChecksumOffload(TestCase):
self.tester.send_expect("scapy", ">>>")
self.checksum_enablehw(self.dut_ports[0])
self.dut.send_expect("start", "testpmd>")
-
+ self.pmdout.wait_link_status_up(self.dut_ports[0])
verification_errors: List[VerifyFailure] = []
iface = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0]))
@@ -701,7 +701,7 @@ class TestChecksumOffload(TestCase):
def test_hardware_checksum_check_ip_tx(self):
self.checksum_enablehw(self.dut_ports[0])
self.dut.send_expect("start", "testpmd>")
-
+ self.pmdout.wait_link_status_up(self.dut_ports[0])
verification_errors: List[VerifyFailure] = []
iface = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0]))
diff --git a/tests/TestSuite_flow_classify_softnic.py b/tests/TestSuite_flow_classify_softnic.py
index a2c15dc..7b6642d 100644
--- a/tests/TestSuite_flow_classify_softnic.py
+++ b/tests/TestSuite_flow_classify_softnic.py
@@ -179,6 +179,7 @@ class TestFlowClassifySoftnic(TestCase):
Sent pkts that read from the pcap_file.
Return the sniff pkts.
"""
+ self.pmdout.wait_link_status_up(self.dut_ports[0])
tx_port = self.tester.get_local_port(self.dut_ports[from_port%self.port_num])
rx_port = self.tester.get_local_port(self.dut_ports[to_port%self.port_num])
@@ -283,6 +284,7 @@ class TestFlowClassifySoftnic(TestCase):
"""
Sends continuous packets.
"""
+ self.pmdout.wait_link_status_up(self.dut_ports[0])
self.tester.scapy_foreground()
time.sleep(2)
if src_dst == "src":
diff --git a/tests/TestSuite_nvgre.py b/tests/TestSuite_nvgre.py
index 63b95d1..4472d20 100644
--- a/tests/TestSuite_nvgre.py
+++ b/tests/TestSuite_nvgre.py
@@ -51,7 +51,6 @@ from scapy.layers.sctp import SCTP, SCTPChunkData
from scapy.route import *
from scapy.sendrecv import sniff
from scapy.utils import rdpcap, socket, struct, wrpcap
-
import framework.utils as utils
from framework.packet import IncreaseIP, IncreaseIPv6
from framework.pmd_output import PmdOutput
@@ -499,6 +498,7 @@ class TestNvgre(TestCase):
config.outer_mac_dst = self.dut_rx_port_mac
config.create_pcap()
self.dut.send_expect("start", "testpmd>", 10)
+ self.pmdout.wait_link_status_up(self.dut_rx_port)
config.send_pcap()
# check whether detect nvgre type
out = self.dut.get_session_output()
@@ -523,6 +523,7 @@ class TestNvgre(TestCase):
# send nvgre packet
config.create_pcap()
self.dut.send_expect("start", "testpmd>", 10)
+ self.pmdout.wait_link_status_up(self.dut_rx_port)
config.send_pcap()
out = self.dut.get_session_output()
print(out)
@@ -595,7 +596,7 @@ class TestNvgre(TestCase):
self.logger.info("nvgre packet %s" % arg_str)
out = self.dut.send_expect("start", "testpmd>", 10)
-
+ self.pmdout.wait_link_status_up(self.dut_rx_port)
# create pcap file with supplied arguments
config = NvgreTestConfig(self, **kwargs)
config.outer_mac_dst = self.dut_rx_port_mac
diff --git a/tests/TestSuite_vlan.py b/tests/TestSuite_vlan.py
index b8cbf8c..8318b76 100644
--- a/tests/TestSuite_vlan.py
+++ b/tests/TestSuite_vlan.py
@@ -90,6 +90,7 @@ class TestVlan(TestCase):
"""
Send $num of packets to portid, if vid is -1, it means send a packet which does not include a vlan id.
"""
+ self.pmdout.wait_link_status_up(dutRxPortId)
# The package stream : testTxPort->dutRxPort->dutTxport->testRxPort
port = self.tester.get_local_port(dutRxPortId)
self.txItf = self.tester.get_interface(port)
diff --git a/tests/TestSuite_vlan_ethertype_config.py b/tests/TestSuite_vlan_ethertype_config.py
index 5e3ed81..fc0d494 100644
--- a/tests/TestSuite_vlan_ethertype_config.py
+++ b/tests/TestSuite_vlan_ethertype_config.py
@@ -106,7 +106,7 @@ class TestVlanEthertypeConfig(TestCase):
"""
if vid is -1, it means send pakcage not include vlan id.
"""
-
+ self.pmdout.wait_link_status_up(dutRxPortId)
self.tpid_ori_file = "/tmp/tpid_ori.pcap"
self.tpid_new_file = "/tmp/tpid_new.pcap"
self.tester.send_expect("rm -rf /tmp/tpid_ori.pcap", "# ")
diff --git a/tests/TestSuite_vxlan.py b/tests/TestSuite_vxlan.py
index 1442578..9605c89 100644
--- a/tests/TestSuite_vxlan.py
+++ b/tests/TestSuite_vxlan.py
@@ -472,8 +472,8 @@ class TestVxlan(TestCase):
config.outer_mac_dst = self.dut_port_mac
config.create_pcap()
self.dut.send_expect("start", "testpmd>", 10)
+ self.pmdout.wait_link_status_up(self.dut_port)
config.send_pcap(self.tester_iface)
-
# check whether detect vxlan type
out = self.dut.get_session_output(timeout=2)
print(out)
@@ -572,6 +572,7 @@ class TestVxlan(TestCase):
# send vxlan packet
config.create_pcap()
self.dut.send_expect("start", "testpmd>", 10)
+ self.pmdout.wait_link_status_up(self.dut_port)
config.send_pcap(self.tester_iface)
out = self.dut.get_session_output(timeout=2)
print(out)
@@ -606,7 +607,7 @@ class TestVxlan(TestCase):
self.dut.send_expect("set verbose 1", "testpmd>", 10)
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
-
+ self.pmdout.wait_link_status_up(self.dut_port)
# check normal packet
self.send_and_detect(outer_udp_dst=1234)
# check vxlan + UDP inner packet
@@ -642,7 +643,7 @@ class TestVxlan(TestCase):
self.dut.send_expect("set verbose 1", "testpmd>", 10)
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
-
+ self.pmdout.wait_link_status_up(self.dut_port)
# check normal ipv6 packet
self.send_and_detect(outer_ip6_src="FE80:0:0:0:0:0:0:0",
outer_ip6_dst="FE80:0:0:0:0:0:0:1",
@@ -692,7 +693,7 @@ class TestVxlan(TestCase):
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
-
+ self.pmdout.wait_link_status_up(self.dut_port)
# check normal packet + ip checksum invalid
self.send_and_check(outer_ip_invalid=1, outer_udp_dst=1234)
# check vxlan packet + inner ip checksum invalid
@@ -754,6 +755,7 @@ class TestVxlan(TestCase):
self.dut.send_expect("set fwd csum", "testpmd>", 10)
self.csum_set_type('outer-ip', self.recv_port)
self.csum_set_type('udp', self.recv_port)
+ self.csum_set_type('outer-udp', self.recv_port)
self.csum_set_type('tcp', self.recv_port)
self.csum_set_type('sctp', self.recv_port)
self.dut.send_expect("csum parse-tunnel on %d" %
@@ -761,7 +763,7 @@ class TestVxlan(TestCase):
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
-
+ self.pmdout.wait_link_status_up(self.dut_port)
# check normal ipv6 packet
self.send_and_check(outer_ip6_src="FE80:0:0:0:0:0:0:0",
outer_ip6_dst="FE80:0:0:0:0:0:0:1")
@@ -821,7 +823,7 @@ class TestVxlan(TestCase):
self.dut.send_expect("set verbose 1", "testpmd>", 10)
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
-
+ self.pmdout.wait_link_status_up(self.dut_port)
config = VxlanTestConfig(self)
config_vlan = VxlanTestConfig(self, inner_vlan=1)
config.outer_mac_dst = self.dut_port_mac
@@ -892,6 +894,7 @@ class TestVxlan(TestCase):
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
+ self.pmdout.wait_link_status_up(self.dut_port)
rule = 'flow create {} ingress pattern eth / ipv4 / udp / vxlan vni is {} / eth dst is {} / end actions pf ' \
'/ queue index {} / end'.format(self.dut_port,
config.vni,
@@ -1048,7 +1051,7 @@ class TestVxlan(TestCase):
self.dut.send_expect("set fwd io", "testpmd>", 10)
self.dut.send_expect("start", "testpmd>", 10)
-
+ self.pmdout.wait_link_status_up(self.dut_port)
if BIDIRECT:
wirespeed = self.wirespeed(self.nic, PACKET_LEN, 2)
else:
@@ -1131,6 +1134,7 @@ class TestVxlan(TestCase):
self.dut.send_expect("set fwd csum", "testpmd>", 10)
self.enable_vxlan(self.dut_port)
self.enable_vxlan(self.recv_port)
+ self.pmdout.wait_link_status_up(self.dut_port)
# redirect flow to another queue by tunnel filter
rule_config = {
--
2.7.4
next reply other threads:[~2021-11-24 8:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-24 8:33 Yu Jiang [this message]
2021-11-30 3:28 ` Tu, Lijuan
-- strict thread matches above, loose matches on Subject: below --
2021-11-22 6:24 Yu Jiang
2021-11-22 7:41 ` Jiang, YuX
2021-11-22 14:51 ` Tu, Lijuan
2021-11-20 7:50 Yu Jiang
2021-11-19 7:33 Yu Jiang
2021-11-19 8:31 ` Jiang, YuX
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1637742820-28741-1-git-send-email-yux.jiang@intel.com \
--to=yux.jiang@intel.com \
--cc=dts@dpdk.org \
--cc=xueqin.lin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).