test suite reviews and discussions
 help / color / mirror / Atom feed
From: Weiyuan Li <weiyuanx.li@intel.com>
To: dts@dpdk.org, yuan.peng@intel.com
Cc: Weiyuan Li <weiyuanx.li@intel.com>
Subject: [dts][PATCH V1 2/4] tests/ice_advanced_iavf_rss: add new test suite
Date: Wed, 27 Jul 2022 10:20:51 +0800	[thread overview]
Message-ID: <20220727022053.11076-2-weiyuanx.li@intel.com> (raw)
In-Reply-To: <20220727022053.11076-1-weiyuanx.li@intel.com>

Add DPDK22.07 new feature test suite.

Signed-off-by: Weiyuan Li <weiyuanx.li@intel.com>
---
 tests/TestSuite_ice_advanced_iavf_rss.py | 654 +++++++++++++++++++++++
 1 file changed, 654 insertions(+)

diff --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


  reply	other threads:[~2022-07-27  2:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27  2:20 [dts][PATCH V1 1/4] test_plans/ice_advanced_iavf_rss: add new testplan Weiyuan Li
2022-07-27  2:20 ` Weiyuan Li [this message]
2022-07-27  2:20 ` [dts][PATCH V1 3/4] test_plans/ice_iavf_fdir: " Weiyuan Li
2022-07-27  2:20 ` [dts][PATCH V1 4/4] tests/ice_iavf_fdir: add new test suite Weiyuan Li

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=20220727022053.11076-2-weiyuanx.li@intel.com \
    --to=weiyuanx.li@intel.com \
    --cc=dts@dpdk.org \
    --cc=yuan.peng@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).