@@ -627,43 +627,6 @@ class TestVfOffload(TestCase):
rx_packet_size = [len(p[Raw].load) for p in pkts]
return rx_packet_count, rx_packet_size
- def tcpdump_command(self, command):
- """
- Send a tcpdump related command and return an integer from the output.
- """
-
- result = self.tester.send_expect(command, "#")
- print(result)
- return int(result.strip())
-
- def number_of_packets(self, iface):
- """
- By reading the file generated by tcpdump it counts how many packets are
- forwarded by the sample app and received in the self.tester. The sample app
- will add a known MAC address for the test to look for.
- """
-
- command = (
- "tcpdump -A -nn -e -v -r tcpdump_{iface}.pcap 2>/dev/null | "
- + 'grep -c "seq"'
- )
- return self.tcpdump_command(command.format(**locals()))
-
- def tcpdump_scanner(self, scanner):
- """
- Execute scanner to return results
- """
- scanner_result = self.tester.send_expect(scanner, "#")
- finally_result = re.findall(r"length( \d+)", scanner_result)
- return list(finally_result)
-
- def number_of_bytes(self, iface):
- """
- Get the length of loading_sizes
- """
- scanner = 'tcpdump -n -vv -r tcpdump_{iface}.pcap 2>/dev/null | grep "seq" | grep "length"'
- return self.tcpdump_scanner(scanner.format(**locals()))
-
def test_tso(self):
"""
TSO IPv4 TCP, IPv6 TCP testing.
@@ -761,27 +724,26 @@ class TestVfOffload(TestCase):
out = self.vm0_testpmd.execute_cmd("show port stats all")
print(out)
self.tcpdump_stop_sniff()
- rx_stats = self.number_of_packets(rx_interface)
- tx_stats = self.number_of_packets(tx_interface)
- tx_outlist = self.number_of_bytes(rx_interface)
- tx_outlist.sort(reverse=True)
- self.logger.info(tx_outlist)
+ rx_stats, payload_size_list = self.tcpdump_analyse_sniff(rx_interface)
+ tx_stats, _ = self.tcpdump_analyse_sniff(tx_interface)
+ payload_size_list.sort(reverse=True)
+ self.logger.info(payload_size_list)
if loading_size <= 800:
self.verify(
- rx_stats == tx_stats and int(tx_outlist[0]) == loading_size,
+ rx_stats == tx_stats and int(payload_size_list[0]) == loading_size,
"IPV4 RX or TX packet number not correct",
)
else:
num = loading_size // 800
for i in range(num):
self.verify(
- int(tx_outlist[i]) == 800,
- "the packet segmentation incorrect, %s" % tx_outlist,
+ int(payload_size_list[i]) == 800,
+ "the packet segmentation incorrect, %s" % payload_size_list,
)
if loading_size % 800 != 0:
self.verify(
- int(tx_outlist[num]) == loading_size % 800,
- "the packet segmentation incorrect, %s" % tx_outlist,
+ int(payload_size_list[num]) == loading_size % 800,
+ "the packet segmentation incorrect, %s" % payload_size_list,
)
for loading_size in self.loading_sizes:
@@ -796,27 +758,26 @@ class TestVfOffload(TestCase):
out = self.vm0_testpmd.execute_cmd("show port stats all")
print(out)
self.tcpdump_stop_sniff()
- rx_stats = self.number_of_packets(rx_interface)
- tx_stats = self.number_of_packets(tx_interface)
- tx_outlist = self.number_of_bytes(rx_interface)
- tx_outlist.sort(reverse=True)
- self.logger.info(tx_outlist)
+ rx_stats, payload_size_list = self.tcpdump_analyse_sniff(rx_interface)
+ tx_stats, _ = self.tcpdump_analyse_sniff(tx_interface)
+ payload_size_list.sort(reverse=True)
+ self.logger.info(payload_size_list)
if loading_size <= 800:
self.verify(
- rx_stats == tx_stats and int(tx_outlist[0]) == loading_size,
+ rx_stats == tx_stats and int(payload_size_list[0]) == loading_size,
"IPV6 RX or TX packet number not correct",
)
else:
num = loading_size // 800
for i in range(num):
self.verify(
- int(tx_outlist[i]) == 800,
- "the packet segmentation incorrect, %s" % tx_outlist,
+ int(payload_size_list[i]) == 800,
+ "the packet segmentation incorrect, %s" % payload_size_list,
)
if loading_size % 800 != 0:
self.verify(
- int(tx_outlist[num]) == loading_size % 800,
- "the packet segmentation incorrect, %s" % tx_outlist,
+ int(payload_size_list[num]) == loading_size % 800,
+ "the packet segmentation incorrect, %s" % payload_size_list,
)
@check_supported_nic(
@@ -915,6 +876,7 @@ class TestVfOffload(TestCase):
self.tcpdump_stop_sniff()
rx_stats, payload_size_list = self.tcpdump_analyse_sniff(rx_interface)
tx_stats, _ = self.tcpdump_analyse_sniff(tx_interface)
+ payload_size_list.sort(reverse=True)
self.logger.info(payload_size_list)
if loading_size <= 800:
self.verify(
@@ -958,6 +920,7 @@ class TestVfOffload(TestCase):
self.tcpdump_stop_sniff()
rx_stats, payload_size_list = self.tcpdump_analyse_sniff(rx_interface)
tx_stats, _ = self.tcpdump_analyse_sniff(tx_interface)
+ payload_size_list.sort(reverse=True)
self.logger.info(payload_size_list)
if loading_size <= 800:
self.verify(