* [dts] [V2 0/2] add a case to test pf negative xstats check
@ 2023-04-17 10:54 Jiale Song
2023-04-17 10:54 ` [dts] [V2 1/2] test_plans/stats_checks: add a case Jiale Song
2023-04-17 10:55 ` [dts] [V2 2/2] tests/stats_checks: " Jiale Song
0 siblings, 2 replies; 3+ messages in thread
From: Jiale Song @ 2023-04-17 10:54 UTC (permalink / raw)
To: dts; +Cc: Jiale Song
add a case to test pf negative xstats check
Jiale Song (2):
test_plans/stats_checks: add a case
tests/stats_checks: add a case
test_plans/stats_checks_test_plan.rst | 139 ++++++++++++++++++++++++++
tests/TestSuite_stats_checks.py | 47 +++++++++
2 files changed, 186 insertions(+)
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [dts] [V2 1/2] test_plans/stats_checks: add a case
2023-04-17 10:54 [dts] [V2 0/2] add a case to test pf negative xstats check Jiale Song
@ 2023-04-17 10:54 ` Jiale Song
2023-04-17 10:55 ` [dts] [V2 2/2] tests/stats_checks: " Jiale Song
1 sibling, 0 replies; 3+ messages in thread
From: Jiale Song @ 2023-04-17 10:54 UTC (permalink / raw)
To: dts; +Cc: Jiale Song
add a case to test pf negative xstats check.
Signed-off-by: Jiale Song <songx.jiale@intel.com>
---
test_plans/stats_checks_test_plan.rst | 139 ++++++++++++++++++++++++++
1 file changed, 139 insertions(+)
diff --git a/test_plans/stats_checks_test_plan.rst b/test_plans/stats_checks_test_plan.rst
index 1b7d722f..e65dc1a1 100644
--- a/test_plans/stats_checks_test_plan.rst
+++ b/test_plans/stats_checks_test_plan.rst
@@ -281,3 +281,142 @@ Test Case: VF xstats Checks
3. Then run the same steps of PF xstats Checks, get same result.
note: because one port forwarding packets, so check rx and tx both in port 0.
+
+Test Case: PF negative xstats check
+===================================
+1. Blind the PF to vfio-pci::
+
+ ./usertools/dpdk-devbind.py -b vfio-pci {pf_pci}
+
+2. Launch testpmd with default mtu::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4
+ testpmd> set fwd mac
+ testpmd> start
+ testpmd> clear port xstats all
+
+3. Set the mtu for the port where the data packet is sent::
+
+ ifconfig ens7 mtu 5018
+
+4. Send jumbo frames::
+
+ sendp(Ether(dst="00:00:00:00:01:00", src="52:00:00:00:00:00")/IP()/Raw(load="X"*4980), iface="ens7")
+
+5. Check port 0 xstats::
+
+ Check rx port can not receive packet.
+ Check ``rx_errors`` and ``rx_oversize_errors`` increased, but other statistics are 0 for tx port.
+ testpmd> show port xstats 0
+ ###### NIC extended statistics for port 0
+ rx_good_packets: 0
+ tx_good_packets: 0
+ rx_good_bytes: 0
+ tx_good_bytes: 0
+ rx_missed_errors: 0
+ rx_errors: 1
+ tx_errors: 0
+ rx_mbuf_allocation_errors: 0
+ rx_q0_packets: 0
+ rx_q0_bytes: 0
+ rx_q0_errors: 0
+ tx_q0_packets: 0
+ tx_q0_bytes: 0
+ rx_unicast_packets: 0
+ rx_multicast_packets: 0
+ rx_broadcast_packets: 0
+ rx_dropped_packets: 0
+ rx_unknown_protocol_packets: 0
+ tx_unicast_packets: 0
+ tx_multicast_packets: 0
+ tx_broadcast_packets: 0
+ tx_dropped_packets: 0
+ tx_link_down_dropped: 0
+ rx_crc_errors: 0
+ rx_illegal_byte_errors: 0
+ rx_error_bytes: 0
+ mac_local_errors: 0
+ mac_remote_errors: 0
+ rx_len_errors: 0
+ tx_xon_packets: 0
+ rx_xon_packets: 0
+ tx_xoff_packets: 0
+ rx_xoff_packets: 0
+ rx_size_64_packets: 0
+ rx_size_65_to_127_packets: 0
+ rx_size_128_to_255_packets: 0
+ rx_size_256_to_511_packets: 0
+ rx_size_512_to_1023_packets: 0
+ rx_size_1024_to_1522_packets: 0
+ rx_size_1523_to_max_packets: 0
+ rx_undersized_errors: 0
+ rx_oversize_errors: 1
+ rx_mac_short_pkt_dropped: 0
+ rx_fragmented_errors: 0
+ rx_jabber_errors: 0
+ tx_size_64_packets: 0
+ tx_size_65_to_127_packets: 0
+ tx_size_128_to_255_packets: 0
+ tx_size_256_to_511_packets: 0
+ tx_size_512_to_1023_packets: 0
+ tx_size_1024_to_1522_packets: 0
+ tx_size_1523_to_max_packets: 0
+
+6. Check port 1 xstats::
+
+ Check all statistics are 0 for tx port.
+ testpmd> show port xstats 1
+ ###### NIC extended statistics for port 1
+ rx_good_packets: 0
+ tx_good_packets: 0
+ rx_good_bytes: 0
+ tx_good_bytes: 0
+ rx_missed_errors: 0
+ rx_errors: 0
+ tx_errors: 0
+ rx_mbuf_allocation_errors: 0
+ rx_q0_packets: 0
+ rx_q0_bytes: 0
+ rx_q0_errors: 0
+ tx_q0_packets: 0
+ tx_q0_bytes: 0
+ rx_unicast_packets: 0
+ rx_multicast_packets: 0
+ rx_broadcast_packets: 0
+ rx_dropped_packets: 0
+ rx_unknown_protocol_packets: 0
+ tx_unicast_packets: 0
+ tx_multicast_packets: 0
+ tx_broadcast_packets: 0
+ tx_dropped_packets: 0
+ tx_link_down_dropped: 0
+ rx_crc_errors: 0
+ rx_illegal_byte_errors: 0
+ rx_error_bytes: 0
+ mac_local_errors: 0
+ mac_remote_errors: 0
+ rx_len_errors: 0
+ tx_xon_packets: 0
+ rx_xon_packets: 0
+ tx_xoff_packets: 0
+ rx_xoff_packets: 0
+ rx_size_64_packets: 0
+ rx_size_65_to_127_packets: 0
+ rx_size_128_to_255_packets: 0
+ rx_size_256_to_511_packets: 0
+ rx_size_512_to_1023_packets: 0
+ rx_size_1024_to_1522_packets: 0
+ rx_size_1523_to_max_packets: 0
+ rx_undersized_errors: 0
+ rx_oversize_errors: 0
+ rx_mac_short_pkt_dropped: 0
+ rx_fragmented_errors: 0
+ rx_jabber_errors: 0
+ tx_size_64_packets: 0
+ tx_size_65_to_127_packets: 0
+ tx_size_128_to_255_packets: 0
+ tx_size_256_to_511_packets: 0
+ tx_size_512_to_1023_packets: 0
+ tx_size_1024_to_1522_packets: 0
+ tx_size_1523_to_max_packets: 0
+
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [dts] [V2 2/2] tests/stats_checks: add a case
2023-04-17 10:54 [dts] [V2 0/2] add a case to test pf negative xstats check Jiale Song
2023-04-17 10:54 ` [dts] [V2 1/2] test_plans/stats_checks: add a case Jiale Song
@ 2023-04-17 10:55 ` Jiale Song
1 sibling, 0 replies; 3+ messages in thread
From: Jiale Song @ 2023-04-17 10:55 UTC (permalink / raw)
To: dts; +Cc: Jiale Song
add a case to test pf negative xstats check.
Signed-off-by: Jiale Song <songx.jiale@intel.com>
---
tests/TestSuite_stats_checks.py | 47 +++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/tests/TestSuite_stats_checks.py b/tests/TestSuite_stats_checks.py
index 6ab5dd19..a9c6e040 100644
--- a/tests/TestSuite_stats_checks.py
+++ b/tests/TestSuite_stats_checks.py
@@ -28,6 +28,8 @@ prefix_list = [
"tx_good_packets",
"rx_good_bytes",
"tx_good_bytes",
+ "rx_errors",
+ "rx_unicast_packets",
"tx_size_64_packets",
"tx_size_65_to_127_packets",
"tx_size_128_to_255_packets",
@@ -42,6 +44,7 @@ prefix_list = [
"rx_size_512_to_1023_packets",
"rx_size_1024_to_1522_packets",
"rx_size_1523_to_max_packets",
+ "rx_oversize_errors",
"rx_size_1024_to_max_packets", # ixgbe
"tx_size_1024_to_max_packets", # ixgbe
]
@@ -384,6 +387,7 @@ class TestStatsChecks(TestCase):
"""
self.netobj_0.enable_jumbo(framesize=1518)
self.netobj_1.enable_jumbo(framesize=1518)
+ self.pmdout.quit()
self.dut.kill_all()
if self._suite_result.test_case == "test_xstats_check_vf":
self.dut.destroy_sriov_vfs_by_port(self.dut_ports[0])
@@ -442,3 +446,46 @@ class TestStatsChecks(TestCase):
dcf_flag=self.dcf_mode, param="--txq=4 --rxq=4 --max-pkt-len=9000"
)
self.xstats_check(0, 0, if_vf=True)
+
+ def test_negative_xstats_check_pf(self):
+ """
+ Test Case: PF negative xstats check
+ """
+ self.pmdout.start_testpmd("default")
+ self.pmdout.execute_cmd("set fwd mac")
+ self.pmdout.execute_cmd("start")
+ self.netobj_0.enable_jumbo(framesize=5018)
+ self.pmdout.wait_link_status_up("all")
+ self.pmdout.execute_cmd("clear port xstats all")
+ self.pmdout.execute_cmd("show port xstats all")
+ # send jumbo frames
+ self.send_scapy_packet(
+ self.rx_port,
+ f'Ether(dst=dutmac, src="52:00:00:00:00:00")/IP()/Raw(load="X"*4980)',
+ )
+ # get all port xstats
+ all_xstats = self.get_xstats([self.rx_port, self.tx_port])
+ rx_xstats = all_xstats[self.rx_port]
+ # check rx port can not receive packet and rx_errors increased
+ for key, value in rx_xstats.items():
+ if key in ["rx_errors", "rx_oversize_errors"]:
+ self.verify(
+ value == 1,
+ "the expected value of %s is 1, but the actual value is %s!!!"
+ % (key, value),
+ )
+ else:
+ self.verify(
+ value == 0,
+ "the expected value of %s is 0, but the actual value is %s!!!"
+ % (key, value),
+ )
+ # check all statistics are 0 for tx port.
+ tx_xstats = all_xstats[self.tx_port]
+ for key, value in tx_xstats.items():
+ self.verify(
+ value == 0,
+ "the expected value of %s is 0, but the actual value is %s!!!"
+ % (key, value),
+ )
+ self.pmdout.execute_cmd("stop")
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-04-17 2:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-17 10:54 [dts] [V2 0/2] add a case to test pf negative xstats check Jiale Song
2023-04-17 10:54 ` [dts] [V2 1/2] test_plans/stats_checks: add a case Jiale Song
2023-04-17 10:55 ` [dts] [V2 2/2] tests/stats_checks: " Jiale Song
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).