From: Weiyuan Li <weiyuanx.li@intel.com>
To: dts@dpdk.org
Cc: Weiyuan Li <weiyuanx.li@intel.com>
Subject: [dts][PATCH V2 2/4] tests/ice_advanced_iavf_rss: add new test suite
Date: Fri, 29 Jul 2022 15:11:12 +0800 [thread overview]
Message-ID: <20220729071114.10788-2-weiyuanx.li@intel.com> (raw)
In-Reply-To: <20220729071114.10788-1-weiyuanx.li@intel.com>
Add DPDK22.07 new feature test suite.
Signed-off-by: Weiyuan Li <weiyuanx.li@intel.com>
---
v2:
-modify the ice_iavf_fdir scipt tear_down method and destroy
environment first.
| 654 +++++++++++++++++++++++
1 file changed, 654 insertions(+)
--git a/tests/TestSuite_ice_advanced_iavf_rss.py b/tests/TestSuite_ice_advanced_iavf_rss.py
index e560c9e6..b4a7290b 100644
--- a/tests/TestSuite_ice_advanced_iavf_rss.py
+++ b/tests/TestSuite_ice_advanced_iavf_rss.py
@@ -80,6 +80,19 @@ mac_ipv6_toeplitz_basic_pkt = {
# ],
}
+mac_ipv6_toeplitz_basic_multicast_pkt = {
+ "ipv6-nonfrag": [
+ 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/("X"*480)',
+ ],
+ "ipv6-icmp": [
+ 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/ICMP()/("X"*480)',
+ ],
+ "ipv6-udp": [
+ 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/UDP(sport=22,dport=23)/("X"*480)',
+ ],
+}
+
+
mac_ipv6_udp_toeplitz_basic_pkt = {
"ipv6-udp": [
'Ether(dst="%s", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)'
@@ -161,6 +174,295 @@ mac_ipv4_l2_src = {
],
}
+mac_ipv4_toeplitz_basic_multicast_pkt = {
+ "ipv4-nonfrag": [
+ 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.2")/("X"*480)',
+ ],
+ "ipv4-icmp": [
+ 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.2")/ICMP()/("X"*480)',
+ ],
+ "ipv4-tcp": [
+ 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.2")/TCP(sport=22,dport=23)/("X"*480)',
+ ],
+}
+
+# mac_ipv4 multicast
+mac_ipv4_l2_src_multicast = {
+ "sub_casename": "mac_ipv4_l2_src_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-nonfrag"],
+ "action": {"save_hash": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.2")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-icmp"],
+ "action": {"save_hash": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-icmp"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-tcp"],
+ "action": {"save_hash": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.2")/TCP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/TCP(sport=19,dport=99)/("X"*480)',
+ "action": {"check_hash_same": "ipv4-tcp"},
+ },
+ ],
+}
+
+mac_ipv4_l2_dst_multicast = {
+ "sub_casename": "mac_ipv4_l2_dst_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / end actions rss types eth l2-dst-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-nonfrag"],
+ "action": {"save_hash": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:67", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.5")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-icmp"],
+ "action": {"save_hash": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:67", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.5")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv4-icmp"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-tcp"],
+ "action": {"save_hash": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:67", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/TCP(sport=19,dport=99)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.5")/TCP(sport=19,dport=99)/("X"*480)',
+ "action": {"check_hash_same": "ipv4-tcp"},
+ },
+ ],
+}
+
+mac_ipv4_l2src_l2dst_multicast = {
+ "sub_casename": "mac_ipv4_l2src_l2dst_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / end actions rss types eth end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-nonfrag"],
+ "action": {"save_hash": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.2", src="192.168.0.2")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-icmp"],
+ "action": {"save_hash": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.2", src="192.168.0.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv4-icmp"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-tcp"],
+ "action": {"save_hash": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.2", src="192.168.0.2")/TCP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.0.5")/TCP(sport=23,dport=25)/("X"*480)',
+ "action": {"check_hash_same": "ipv4-tcp"},
+ },
+ ],
+}
+
+mac_ipv4_l3_src_multicast = {
+ "sub_casename": "mac_ipv4_l3_src_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-nonfrag"],
+ "action": {"save_hash": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.1.2")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.2", src="192.168.0.2")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-icmp"],
+ "action": {"save_hash": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.1.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.2", src="192.168.0.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv4-icmp"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-tcp"],
+ "action": {"save_hash": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.1.2")/TCP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.2", src="192.168.0.2")/TCP(sport=32,dport=33)/("X"*480)',
+ "action": {"check_hash_same": "ipv4-tcp"},
+ },
+ ],
+}
+
+mac_ipv4_l3_dst_multicast = {
+ "sub_casename": "mac_ipv4_l3_dst_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-nonfrag"],
+ "action": {"save_hash": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.2.1", src="192.168.0.2")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.1.2")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-icmp"],
+ "action": {"save_hash": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.2.1", src="192.168.0.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.1.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv4-icmp"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-tcp"],
+ "action": {"save_hash": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.2.1", src="192.168.0.2")/TCP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.1.2")/TCP(sport=32,dport=33)/("X"*480)',
+ "action": {"check_hash_same": "ipv4-tcp"},
+ },
+ ],
+}
+
+mac_ipv4_all_multicast = {
+ "sub_casename": "mac_ipv4_all_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-nonfrag"],
+ "action": {"save_hash": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.2.1", src="192.168.0.2")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.1.2")/("X"*480)',
+ "action": {"check_hash_different": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.2")/("X"*480)',
+ "action": {"check_hash_same": "ipv4-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-icmp"],
+ "action": {"save_hash": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.2.1", src="192.168.0.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.1.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv4-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.2")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv4-icmp"},
+ },
+ {
+ "send_packet": mac_ipv4_toeplitz_basic_multicast_pkt["ipv4-tcp"],
+ "action": {"save_hash": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.2.1", src="192.168.0.2")/TCP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IP(dst="224.0.0.1", src="192.168.1.2")/TCP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv4-tcp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IP(dst="224.0.0.1", src="192.168.0.2")/TCP(sport=32,dport=33)/("X"*480)',
+ "action": {"check_hash_same": "ipv4-tcp"},
+ },
+ ],
+}
+
mac_ipv4_l2_dst = {
"sub_casename": "mac_ipv4_l2_dst",
"port_id": 0,
@@ -1853,6 +2155,283 @@ mac_ipv4_sctp_chksum = [
for element in mac_ipv4_udp_chksum
]
+# mac_ipv6 multicast
+mac_ipv6_l2_src_multicast = {
+ "sub_casename": "mac_ipv6_l2_src_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-nonfrag"],
+ "action": {"save_hash": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/("X"*480)',
+ "action": {"check_hash_same": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-icmp"],
+ "action": {"save_hash": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv6-icmp"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-udp"],
+ "action": {"save_hash": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/UDP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/UDP(sport=25,dport=99)/("X"*480)',
+ "action": {"check_hash_same": "ipv6-udp"},
+ },
+ ],
+}
+
+mac_ipv6_l2_dst_multicast = {
+ "sub_casename": "mac_ipv6_l2_dst_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / end actions rss types eth l2-dst-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-nonfrag"],
+ "action": {"save_hash": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:67", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/("X"*480)',
+ "action": {"check_hash_same": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-icmp"],
+ "action": {"save_hash": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:67", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv6-icmp"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-udp"],
+ "action": {"save_hash": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:67", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/UDP(sport=25,dport=99)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::23")/UDP(sport=25,dport=99)/("X"*480)',
+ "action": {"check_hash_same": "ipv6-udp"},
+ },
+ ],
+}
+
+mac_ipv6_l2src_l2dst_multicast = {
+ "sub_casename": "mac_ipv6_l2src_l2dst_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / end actions rss types eth end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-nonfrag"],
+ "action": {"save_hash": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::25")/("X"*480)',
+ "action": {"check_hash_same": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-icmp"],
+ "action": {"save_hash": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::25")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv6-icmp"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-udp"],
+ "action": {"save_hash": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/UDP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="ff01::25")/UDP(sport=25,dport=99)/("X"*480)',
+ "action": {"check_hash_same": "ipv6-udp"},
+ },
+ ],
+}
+
+mac_ipv6_l3_src_multicast = {
+ "sub_casename": "mac_ipv6_l3_src_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-nonfrag"],
+ "action": {"save_hash": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_same": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-icmp"],
+ "action": {"save_hash": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::25")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv6-icmp"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-udp"],
+ "action": {"save_hash": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::25")/UDP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/UDP(sport=32,dport=33)/("X"*480)',
+ "action": {"check_hash_same": "ipv6-udp"},
+ },
+ ],
+}
+
+mac_ipv6_l3_dst_multicast = {
+ "sub_casename": "mac_ipv6_l3_dst_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-nonfrag"],
+ "action": {"save_hash": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::25")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_same": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-icmp"],
+ "action": {"save_hash": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::25")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv6-icmp"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-udp"],
+ "action": {"save_hash": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::25")/UDP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/UDP(sport=32,dport=33)/("X"*480)',
+ "action": {"check_hash_same": "ipv6-udp"},
+ },
+ ],
+}
+
+mac_ipv6_all_multicast = {
+ "sub_casename": "mac_ipv6_all_multicast",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-nonfrag"],
+ "action": {"save_hash": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::21")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_different": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/("X"*480)',
+ "action": {"check_hash_same": "ipv6-nonfrag"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-icmp"],
+ "action": {"save_hash": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::21")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/ICMP()/("X"*480)',
+ "action": {"check_hash_different": "ipv6-icmp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/ICMP()/("X"*480)',
+ "action": {"check_hash_same": "ipv6-icmp"},
+ },
+ {
+ "send_packet": mac_ipv6_toeplitz_basic_multicast_pkt["ipv6-udp"],
+ "action": {"save_hash": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::21")/UDP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="ff01::2")/UDP(sport=22,dport=23)/("X"*480)',
+ "action": {"check_hash_different": "ipv6-udp"},
+ },
+ {
+ "send_packet": 'Ether(dst="11:22:33:44:55:66", src="68:05:CA:BB:26:E1")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="ff01::2")/UDP(sport=32,dport=33)/("X"*480)',
+ "action": {"check_hash_same": "ipv6-udp"},
+ },
+ ],
+}
+
# mac_ipv6
mac_ipv6_l2_src = {
"sub_casename": "mac_ipv6_l2_src",
@@ -3424,6 +4003,16 @@ mac_ipv4 = [
mac_ipv4_l3_dst,
mac_ipv4_all,
]
+
+mac_ipv4_multicast = [
+ mac_ipv4_l2_src_multicast,
+ mac_ipv4_l2_dst_multicast,
+ mac_ipv4_l2src_l2dst_multicast,
+ mac_ipv4_l3_src_multicast,
+ mac_ipv4_l3_dst_multicast,
+ mac_ipv4_all_multicast,
+]
+
mac_ipv4_ipv4_chksum = [mac_ipv4_ipv4_chksum]
mac_ipv4_udp = [
@@ -3480,6 +4069,15 @@ mac_ipv6 = [
mac_ipv6_all,
]
+mac_ipv6_multicast = [
+ mac_ipv6_l2_src_multicast,
+ mac_ipv6_l2_dst_multicast,
+ mac_ipv6_l2src_l2dst_multicast,
+ mac_ipv6_l3_src_multicast,
+ mac_ipv6_l3_dst_multicast,
+ mac_ipv6_all_multicast,
+]
+
mac_ipv6_udp = [
mac_ipv6_udp_l2_src,
mac_ipv6_udp_l2_dst,
@@ -5785,6 +6383,31 @@ class AdvancedIavfRSSTest(TestCase):
"""
Run before each test case.
"""
+ if self.running_case in ["test_mac_ipv4_multicast", "test_mac_ipv6_multicast"]:
+ self.flag = "vf-true-promisc-support"
+ self.dut.send_expect(
+ "ethtool --set-priv-flags %s %s on"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"], self.flag),
+ "# ",
+ )
+ self.dut.send_expect(
+ "ethtool --show-priv-flags %s"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"]),
+ "# ",
+ )
+
+ out = self.dut.send_expect(
+ "ip link set %s vf 0 trust on"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"]),
+ "# ",
+ )
+ if "RTNETLINK answers: Invalid argument" in out:
+ self.dut.send_expect(
+ "ip link set %s vf 0 trust on"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"]),
+ "# ",
+ )
+
self.pkt = Packet()
self.pmd_output = PmdOutput(self.dut)
self.launch_testpmd()
@@ -5836,12 +6459,16 @@ class AdvancedIavfRSSTest(TestCase):
self.pmd_output.execute_cmd("port config all rss all")
self.pmd_output.execute_cmd("set fwd rxonly")
self.pmd_output.execute_cmd("set verbose 1")
+ self.pmd_output.execute_cmd("set allmulti all on")
res = self.pmd_output.wait_link_status_up("all", timeout=15)
self.verify(res is True, "there have port link is down")
def test_mac_ipv4(self):
self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4)
+ def test_mac_ipv4_multicast(self):
+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_multicast)
+
def test_mac_ipv4_udp(self):
self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_udp)
@@ -5854,6 +6481,9 @@ class AdvancedIavfRSSTest(TestCase):
def test_mac_ipv6(self):
self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6)
+ def test_mac_ipv6_multicast(self):
+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_multicast)
+
def test_mac_ipv6_udp(self):
self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_udp)
@@ -6631,6 +7261,30 @@ class AdvancedIavfRSSTest(TestCase):
self.dut.send_command("clear port stats all", timeout=1)
self.pmd_output.execute_cmd("stop")
self.pmd_output.execute_cmd("quit", "#")
+ if self.running_case in ["test_mac_ipv4_multicast", "test_mac_ipv6_multicast"]:
+ self.flag = "vf-true-promisc-support"
+ self.dut.send_expect(
+ "ethtool --set-priv-flags %s %s off"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"], self.flag),
+ "# ",
+ )
+ self.dut.send_expect(
+ "ethtool --show-priv-flags %s"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"]),
+ "# ",
+ )
+
+ out = self.dut.send_expect(
+ "ip link set %s vf 0 trust off"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"]),
+ "# ",
+ )
+ if "RTNETLINK answers: Invalid argument" in out:
+ self.dut.send_expect(
+ "ip link set %s vf 0 trust off"
+ % (self.dut.ports_info[self.dut_ports[0]]["intf"]),
+ "# ",
+ )
def tear_down_all(self):
self.dut.kill_all()
--
2.27.0
next prev parent reply other threads:[~2022-07-29 7:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-29 7:11 [dts][PATCH V2 1/4] tests/ice_iavf_fdir: " Weiyuan Li
2022-07-29 7:11 ` Weiyuan Li [this message]
2022-07-29 7:11 ` [dts][PATCH V2 3/4] test_plans/ice_iavf_fdir: add new testplan Weiyuan Li
2022-07-29 7:11 ` [dts][PATCH V2 4/4] test_plans/ice_advanced_iavf_rss: " Weiyuan Li
2022-08-01 7:17 ` Jiale, SongX
2022-08-01 10:20 ` [dts][PATCH V2 1/4] tests/ice_iavf_fdir: add new test suite Peng, Yuan
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=20220729071114.10788-2-weiyuanx.li@intel.com \
--to=weiyuanx.li@intel.com \
--cc=dts@dpdk.org \
/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).