[dts] [PATCH] checksum_offload: Support this test in vector mode
pvukkisala at marvell.com
pvukkisala at marvell.com
Fri Jun 14 13:12:36 CEST 2019
From: Phanendra Vukkisala <pvukkisala at marvell.com>
Send and sniff 4 packets to support vector mode
cavium HW stops calculating check sums upon receiving first incorrect checksum. So accept unknown also as bad
Signed-off-by: Phanendra Vukkisala <pvukkisala at marvell.com>
---
tests/TestSuite_checksum_offload.py | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/tests/TestSuite_checksum_offload.py b/tests/TestSuite_checksum_offload.py
index 6541ba5..d4021b9 100644
--- a/tests/TestSuite_checksum_offload.py
+++ b/tests/TestSuite_checksum_offload.py
@@ -118,7 +118,7 @@ class TestChecksumOffload(TestCase):
self.tester.scapy_foreground()
for packet_type in packets_sent.keys():
- self.tester.scapy_append('sendp([%s], iface="%s")' % (packets_sent[packet_type], tx_interface))
+ self.tester.scapy_append('sendp([%s], iface="%s", count=4)' % (packets_sent[packet_type], tx_interface))
self.tester.scapy_execute()
out = self.dut.get_session_output(timeout=1)
lines = out.split("\r\n")
@@ -146,7 +146,10 @@ class TestChecksumOffload(TestCase):
self.verify("PKT_RX_L4_CKSUM_GOOD" in line, "Packet Rx L4 checksum valid-flags error!")
self.verify("PKT_RX_IP_CKSUM_GOOD" in line, "Packet Rx IP checksum valid-flags error!")
elif (flag == 0):
- self.verify("PKT_RX_L4_CKSUM_BAD" in line, "Packet Rx L4 checksum valid-flags error!")
+ if self.nic == "cavium_a063":
+ self.verify("PKT_RX_L4_CKSUM_BAD" in line or "PKT_RX_L4_CKSUM_UNKNOWN" in line, "Packet Rx L4 checksum valid-flags error!")
+ else:
+ self.verify("PKT_RX_L4_CKSUM_BAD" in line, "Packet Rx L4 checksum valid-flags error!")
self.verify("PKT_RX_IP_CKSUM_BAD" in line, "Packet Rx IP checksum valid-flags error!")
self.dut.send_expect("stop", "testpmd>")
@@ -174,11 +177,11 @@ class TestChecksumOffload(TestCase):
self.tester.send_expect("exit()", "#")
- inst = self.tester.tcpdump_sniff_packets(intf=rx_interface, count=len(packets_sent),
+ inst = self.tester.tcpdump_sniff_packets(intf=rx_interface, count=len(packets_sent)*4,
filters=[{'layer':'ether', 'config':{'src': sniff_src}}])
for packet_type in packets_sent.keys():
- self.tester.scapy_append('sendp([%s], iface="%s")' % (packets_sent[packet_type], tx_interface))
+ self.tester.scapy_append('sendp([%s], iface="%s", count=4)' % (packets_sent[packet_type], tx_interface))
self.tester.scapy_execute()
p = self.tester.load_tcpdump_sniff_packets(inst)
@@ -186,7 +189,7 @@ class TestChecksumOffload(TestCase):
reslist = [p[i].pktgen.pkt.sprintf("%IP.chksum%;%TCP.chksum%;%UDP.chksum%;%SCTP.chksum%") for i in range(nr_packets)]
out = string.join(reslist, ",")
packets_received = out.split(',')
- self.verify(len(packets_sent) == len(packets_received), "Unexpected Packets Drop")
+ self.verify(len(packets_sent)*4 == len(packets_received), "Unexpected Packets Drop")
for packet_received in packets_received:
ip_checksum, tcp_checksum, udp_checksum, sctp_checksum = packet_received.split(';')
--
1.7.9.5
More information about the dts
mailing list