test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id
@ 2022-09-14  7:37 hailinx xu
  2022-09-14  7:37 ` [dts][PATCH v2 2/2] tests/ice_advanced_rss: " hailinx xu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: hailinx xu @ 2022-09-14  7:37 UTC (permalink / raw)
  To: dts, qi.fu; +Cc: hailinx xu

add packets for ice support ipv6 next protocol id

Signed-off-by: hailinx xu <hailinx.xu@intel.com>
---
 test_plans/ice_advanced_rss_test_plan.rst | 124 ++++++++++++++++++++--
 1 file changed, 115 insertions(+), 9 deletions(-)

diff --git a/test_plans/ice_advanced_rss_test_plan.rst b/test_plans/ice_advanced_rss_test_plan.rst
index b6488573..36bd25ba 100644
--- a/test_plans/ice_advanced_rss_test_plan.rst
+++ b/test_plans/ice_advanced_rss_test_plan.rst
@@ -944,6 +944,11 @@ not hit pattern packets are the same in this test case::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IP(dst="192.168.0.1", src="192.168.0.2")/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+   sendp([Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
+
 Subcase: MAC_IPV6_L2SRC
 -----------------------
 1. create rss rule::
@@ -963,6 +968,10 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="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)],iface="ens786f0")
 
+ipv6_next_proto packet::
+
+   sendp([Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-nonfrag packets::
 
@@ -995,6 +1004,10 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27: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)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+   sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-nonfrag packets::
 
@@ -1033,6 +1046,12 @@ ipv6-udp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27: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)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27: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)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+   sendp([Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+   sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+   sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-nonfrag packets::
 
@@ -1065,6 +1084,10 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+   sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-nonfrag packets::
 
@@ -1097,6 +1120,10 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+   sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-nonfrag packets::
 
@@ -1132,6 +1159,11 @@ ipv6-udp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+   sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+   sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-nonfrag packets::
 
@@ -1157,6 +1189,10 @@ ipv4_udp_vxlan_ipv6_udp packet::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6()/UDP()/VXLAN()/Ether()/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)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 not hit pattern packets are the same in this test case::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="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")/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
@@ -1174,6 +1210,10 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="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)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
@@ -1190,6 +1230,10 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27: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)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
@@ -1208,6 +1252,12 @@ ipv6-udp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27: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)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27: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)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
@@ -1224,12 +1274,15 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=33)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L3DST
 ---------------------------
 1. create rss rule::
@@ -1246,7 +1299,6 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L3SRC_L4SRC
 ---------------------------------
 1. create rss rule::
@@ -1258,12 +1310,15 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L3SRC_L4DST
 ---------------------------------
 1. create rss rule::
@@ -1275,12 +1330,15 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L3DST_L4SRC
 ---------------------------------
 1. create rss rule::
@@ -1292,12 +1350,15 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L3DST_L4DST
 ---------------------------------
 1. create rss rule::
@@ -1309,12 +1370,15 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L4SRC
 ---------------------------
 1. create rss rule::
@@ -1326,12 +1390,15 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:55", dst="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=32,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_L4DST
 ---------------------------
 1. create rss rule::
@@ -1348,7 +1415,6 @@ ipv6-udp packets::
 
     sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
 
-
 Subcase: MAC_IPV6_UDP_IPV6
 --------------------------
 1. create rss rule::
@@ -1361,12 +1427,16 @@ ipv6-udp packets::
     sendp([Ether(dst="00:11:22:33:44:55", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="enp134s0f0")
     sendp([Ether(dst="00:11:22:33:44:55", 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:2021")/UDP(sport=22,dport=23)/("X"*480)],iface="enp134s0f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
     sendp([Ether(dst="00:11:22:33:44:53", src="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp134s0f0")
 
-
 Subcase: MAC_IPV6_UDP_ALL
 -------------------------
 1. create rss rule::
@@ -1381,6 +1451,13 @@ ipv6-udp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="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=32,dport=23)/("X"*480)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:55", dst="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=33)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto packets::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=33)/("X"*480)],iface="ens786f0")
+
 3. hit pattern/not defined input set:
 ipv6-udp packets::
 
@@ -1833,6 +1910,11 @@ ipv6-udp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="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)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto::
+
+   sendp(['Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=123)/("X"*480)],iface="ens786f0")
+   sendp(['Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/("X"*480)],iface="ens786f0")
+
 3. not hit pattern with switched value of input set in the rule:
 ipv4-nonfrag packets::
 
@@ -1857,6 +1939,11 @@ ipv6-tcp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="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")/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 Test case: symmetric MAC_IPV6_TCP
 =================================
 1. create rss rule::
@@ -1869,6 +1956,11 @@ ipv6-tcp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="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")/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. not hit pattern/not defined input set packets::
 ipv6-udp packets::
 
@@ -1888,6 +1980,11 @@ ipv6-sctp packets::
     sendp([Ether(src="00:11:22:33:44:55", dst="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")/SCTP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
     sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
 
+ipv6_next_proto::
+
+    sendp([Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt()/IPv6ExtHdrDestOpt(nh=132)/SCTP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt()/IPv6ExtHdrDestOpt(nh=132)/SCTP(sport=22,dport=23)/("X"*480)],iface="ens786f0")
+
 3. not hit pattern/not defined input set packets::
 ipv6-udp packets::
 
@@ -2333,14 +2430,17 @@ Test case: MAC_IPV6_UDP_L4_CHKSUM
 2. basic hit pattern packet::
 
     p1 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/UDP(sport=22, dport=23, chksum=0x1)/("X"*48)
+    pp1 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22, dport=23, chksum=0x1)/("X"*48)
 
 3. hit pattern/changed defined input set::
 
     p2 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/UDP(sport=22, dport=23, chksum=0x2)/("X"*48)
+    pp2 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22, dport=23, chksum=0x2)/("X"*48)
 
 4. hit pattern/changed not defined input set::
 
     p3 = Ether(src="52:00:00:00:00:01", dst="00:11:22:33:44:53")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2021", src="ABAB:910A:2222:5498:8475:1111:3900:1011")/UDP(sport=32, dport=33, chksum=0x1)/("X"*48)
+    pp3 = Ether(src="52:00:00:00:00:01", dst="00:11:22:33:44:53")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2021", src="ABAB:910A:2222:5498:8475:1111:3900:1011")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=32, dport=33, chksum=0x1)/("X"*48)
 
 5. not hit pattern::
 
@@ -2355,14 +2455,17 @@ Test case: MAC_IPV6_TCP_L4_CHKSUM
 2. basic hit pattern packet::
 
     p1 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/TCP(sport=22, dport=23, chksum=0x1)/("X"*48)
+    pp1 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/IPv6ExtHdrDestOpt(nh=6)/UDP(sport=22, dport=23, chksum=0x1)/("X"*48)
 
 3. hit pattern/changed defined input set::
 
     p2 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/TCP(sport=22, dport=23, chksum=0x2)/("X"*48)
+    pp2 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/IPv6ExtHdrDestOpt(nh=6)/UDP(sport=22, dport=23, chksum=0x2)/("X"*48)
 
 4. hit pattern/changed not defined input set::
 
     p3 = Ether(src="52:00:00:00:00:01", dst="00:11:22:33:44:53")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2021", src="ABAB:910A:2222:5498:8475:1111:3900:1011")/TCP(sport=32, dport=33, chksum=0x1)/("X"*48)
+    pp3 = Ether(src="52:00:00:00:00:01", dst="00:11:22:33:44:53")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2021", src="ABAB:910A:2222:5498:8475:1111:3900:1011")/IPv6ExtHdrDestOpt(nh=6)/UDP(sport=22, dport=23, chksum=0x1)/("X"*48)
 
 5. not hit pattern::
 
@@ -2377,14 +2480,17 @@ Test case: MAC_IPV6_SCTP_L4_CHKSUM
 2. basic hit pattern packet::
 
     p1 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/SCTP(sport=22, dport=23, chksum=0xffffffff)/("X"*48)
+    pp1 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/IPv6ExtHdrDestOpt(nh=132)/UDP(sport=22, dport=23, chksum=0x1)/("X"*48)
 
 3. hit pattern/changed defined input set::
 
     p2 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/SCTP(sport=22, dport=23, chksum=0xfffffffe)/("X"*48)
+    pp2 = Ether(src="52:00:00:00:00:00", dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", src="ABAB:910A:2222:5498:8475:1111:3900:1010")/IPv6ExtHdrDestOpt(nh=132)/UDP(sport=22, dport=23, chksum=0x2)/("X"*48)
 
 4. hit pattern/changed not defined input set::
 
     p3 = Ether(src="52:00:00:00:00:01", dst="00:11:22:33:44:53")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2021", src="ABAB:910A:2222:5498:8475:1111:3900:1011")/SCTP(sport=32, dport=33, chksum=0xffffffff)/("X"*48)
+    pp3 = Ether(src="52:00:00:00:00:01", dst="00:11:22:33:44:53")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2021", src="ABAB:910A:2222:5498:8475:1111:3900:1011")/IPv6ExtHdrDestOpt(nh=132)/UDP(sport=22, dport=23, chksum=0x1)/("X"*48)
 
 5. not hit pattern::
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dts][PATCH v2 2/2] tests/ice_advanced_rss: support ipv6 next protocol id
  2022-09-14  7:37 [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id hailinx xu
@ 2022-09-14  7:37 ` hailinx xu
  2022-09-20  8:39   ` Fu, Qi
  2022-09-20  8:51   ` lijuan.tu
  2022-09-14  7:37 ` [dts][PATCH v2 0/2] add ipv6 next protocol packets hailinx xu
  2022-09-20  8:38 ` [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id Fu, Qi
  2 siblings, 2 replies; 6+ messages in thread
From: hailinx xu @ 2022-09-14  7:37 UTC (permalink / raw)
  To: dts, qi.fu; +Cc: hailinx xu

add packets for ice support ipv6 next protocol id

Signed-off-by: hailinx xu <hailinx.xu@intel.com>
---
 tests/TestSuite_ice_advanced_rss.py | 838 +++++++++++++++++++++++++++-
 1 file changed, 833 insertions(+), 5 deletions(-)

diff --git a/tests/TestSuite_ice_advanced_rss.py b/tests/TestSuite_ice_advanced_rss.py
index 9155d15a..f26e90b1 100644
--- a/tests/TestSuite_ice_advanced_rss.py
+++ b/tests/TestSuite_ice_advanced_rss.py
@@ -85,6 +85,9 @@ mac_ipv6_toeplitz_basic_pkt = {
     "nvgre": [
         'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)',
     ],
+    "ipv6-next-proto": [
+        'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=123)/Raw("x"*40)'
+    ],
 }
 
 mac_ipv6_toeplitz_non_basic_pkt = [
@@ -98,6 +101,9 @@ mac_ipv6_udp_toeplitz_basic_pkt = {
     "ipv4_udp_vxlan_ipv6_udp": [
         'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6()/UDP()/VXLAN()/Ether()/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)',
     ],
+    "ipv6-next-proto-udp": [
+        'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/Raw("x"*40)'
+    ],
 }
 
 mac_ipv6_udp_toeplitz_non_basic_pkt = [
@@ -113,6 +119,9 @@ mac_ipv6_tcp_toeplitz_basic_pkt = {
     "ipv4_tcp_vxlan_ipv6_tcp": [
         'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)',
     ],
+    "ipv6-next-proto-tcp": [
+        'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=6)/TCP(sport=22,dport=23)/Raw("x"*40)'
+    ],
 }
 
 mac_ipv6_tcp_toeplitz_non_basic_pkt = [
@@ -128,6 +137,9 @@ mac_ipv6_sctp_toeplitz_basic_pkt = {
     "ipv4_sctp_vxlan_ipv6_sctp": [
         'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=22,dport=23)/("X"*480)',
     ],
+    "ipv6-next-proto-sctp": [
+        'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=132)/SCTP(sport=22,dport=23)/Raw("x"*40)'
+    ],
 }
 
 mac_ipv6_sctp_toeplitz_non_basic_pkt = [
@@ -2140,6 +2152,18 @@ mac_ipv6_l2_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/UDP(sport=25,dport=99)/("X"*480)',
             "action": {"check_hash_same": "ipv6-udp"},
         },
+        {
+            "send_packet": mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"],
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrDestOpt(nh=123)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
         {
             "send_packet": mac_ipv6_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2151,6 +2175,7 @@ mac_ipv6_l2_src = {
                 mac_ipv6_toeplitz_basic_pkt["ipv6-nonfrag"][0],
                 mac_ipv6_toeplitz_basic_pkt["ipv6-icmp"][0],
                 mac_ipv6_toeplitz_basic_pkt["ipv6-udp"][0],
+                mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"][0],
             ],
             "action": "check_no_hash",
         },
@@ -2198,6 +2223,22 @@ mac_ipv6_l2_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2027")/UDP(sport=25,dport=99)/("X"*480)',
             "action": {"check_hash_same": "ipv6-udp"},
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrRouting(nh=123)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
         {
             "send_packet": mac_ipv6_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2280,6 +2321,30 @@ mac_ipv6_l2src_l2dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/UDP(sport=25,dport=99)/("X"*480)',
             "action": {"check_hash_same": "ipv6-udp"},
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrHopByHop(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrHopByHop(nh=122)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
         {
             "send_packet": mac_ipv6_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2338,6 +2403,22 @@ mac_ipv6_l3_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=33)/("X"*480)',
             "action": {"check_hash_same": "ipv6-udp"},
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrSegmentRouting(nh=122)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
         {
             "send_packet": mac_ipv6_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2397,6 +2478,18 @@ mac_ipv6_l3_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)',
             "action": {"check_hash_same": "ipv6-udp"},
         },
+        {
+            "send_packet": mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"],
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=122)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
         {
             "send_packet": mac_ipv6_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2468,6 +2561,26 @@ mac_ipv6_all = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)',
             "action": {"check_hash_same": "ipv6-udp"},
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_toeplitz_basic_pkt["ipv6-next-proto"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrDestOpt()/IPv6ExtHdrRouting"
+                )
+            ),
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt()/IPv6ExtHdrRouting(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt()/IPv6ExtHdrRouting(nh=123)/("X"*480)',
+            "action": {"check_hash_different": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt()/IPv6ExtHdrRouting(nh=122)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
         {
             "send_packet": mac_ipv6_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2504,6 +2617,18 @@ mac_ipv6_udp_l2_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/UDP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2536,6 +2661,18 @@ mac_ipv6_udp_l2_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/UDP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2576,6 +2713,26 @@ mac_ipv6_udp_l2src_l2dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/UDP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2608,6 +2765,22 @@ mac_ipv6_udp_l3_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=17)/UDP(sport=32,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2641,6 +2814,22 @@ mac_ipv6_udp_l3_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=17)/UDP(sport=32,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2674,6 +2863,22 @@ mac_ipv6_udp_l3src_l4src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2707,6 +2912,22 @@ mac_ipv6_udp_l3src_l4dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2740,6 +2961,22 @@ mac_ipv6_udp_l3dst_l4src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2773,6 +3010,22 @@ mac_ipv6_udp_l3dst_l4dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2806,6 +3059,22 @@ mac_ipv6_udp_l4_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2839,6 +3108,22 @@ mac_ipv6_udp_l4_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2884,6 +3169,34 @@ mac_ipv6_udp_all = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27: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)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt()/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_udp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -2917,6 +3230,18 @@ mac_ipv6_udp_ipv6 = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=23)/("X"*480)',
             "action": "check_hash_different",
         },
+        {
+            "send_packet": mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrDestOpt(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
         {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
@@ -2963,6 +3288,31 @@ mac_ipv6_udp_l4_chksum = {
             ),
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "dport=23", "dport=23, chksum=0x1"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"]).replace(
+                    "dport=23", "dport=23, chksum=0x2"
+                )
+            ),
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_udp_toeplitz_basic_pkt["ipv6-next-proto-udp"])
+                .replace("sport=22,dport=23", "sport=22,dport=23,chksum=0x1")
+                .replace("1800:2929", "1800:3939")
+                .replace("2020", "3030")
+            ),
+            "action": "check_hash_same",
+        },
         {
             "send_packet": eval(
                 str(mac_ipv6_toeplitz_basic_pkt["ipv6-udp"]).replace(
@@ -3002,6 +3352,22 @@ mac_ipv6_tcp_l2_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/TCP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3035,11 +3401,27 @@ mac_ipv6_tcp_l2_dst = {
             "action": "check_hash_same",
         },
         {
-            "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
-            "action": "check_no_hash",
-        },
-    ],
-    "post-test": [
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
+        {
+            "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
+            "action": "check_no_hash",
+        },
+    ],
+    "post-test": [
         {
             "send_packet": [
                 mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-tcp"][0],
@@ -3074,6 +3456,30 @@ mac_ipv6_tcp_l2src_l2dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/TCP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3106,6 +3512,22 @@ mac_ipv6_tcp_l3_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/TCP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrSegmentRouting(nh=6)/TCP(sport=32,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3139,6 +3561,22 @@ mac_ipv6_tcp_l3_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=32,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3172,6 +3610,22 @@ mac_ipv6_tcp_l3src_l4src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/TCP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3205,6 +3659,22 @@ mac_ipv6_tcp_l3src_l4dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/TCP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3238,6 +3708,22 @@ mac_ipv6_tcp_l3dst_l4src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3271,6 +3757,22 @@ mac_ipv6_tcp_l3dst_l4dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3304,6 +3806,18 @@ mac_ipv6_tcp_l4_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/TCP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3337,6 +3851,18 @@ mac_ipv6_tcp_l4_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/TCP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3382,6 +3908,30 @@ mac_ipv6_tcp_all = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_tcp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3415,6 +3965,22 @@ mac_ipv6_tcp_ipv6 = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/TCP(sport=22,dport=23)/("X"*480)',
             "action": "check_hash_different",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_tcp_toeplitz_basic_pkt["ipv6-next-proto-tcp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrSegmentRouting(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
         {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
@@ -3436,6 +4002,7 @@ mac_ipv6_tcp_l4_chksum = eval(
     .replace("mac_ipv6_udp", "mac_ipv6_tcp")
     .replace("ipv6 / udp", "ipv6 / tcp")
     .replace("/UDP(sport=", "/TCP(sport=")
+    .replace("nh=17", "nh=6")
 )
 
 # mac_ipv6_sctp
@@ -3456,6 +4023,22 @@ mac_ipv6_sctp_l2_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/SCTP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3488,6 +4071,22 @@ mac_ipv6_sctp_l2_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/SCTP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3528,6 +4127,30 @@ mac_ipv6_sctp_l2src_l2dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/SCTP(sport=25,dport=99)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrSegmentRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="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")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2923",dst="CDCD:910A:2222:5498:8475:1111:3900:2025")/IPv6ExtHdrSegmentRouting(nh=132)/SCTP(sport=25,dport=99)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3560,6 +4183,22 @@ mac_ipv6_sctp_l3_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/SCTP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=132)/SCTP(sport=32,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3593,6 +4232,22 @@ mac_ipv6_sctp_l3_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=132)/SCTP(sport=32,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3626,6 +4281,22 @@ mac_ipv6_sctp_l3src_l4src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/SCTP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrRouting(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3659,6 +4330,22 @@ mac_ipv6_sctp_l3src_l4dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/SCTP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3692,6 +4379,22 @@ mac_ipv6_sctp_l3dst_l4src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3725,6 +4428,22 @@ mac_ipv6_sctp_l3dst_l4dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3758,6 +4477,22 @@ mac_ipv6_sctp_l4_src = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/SCTP(sport=22,dport=33)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3791,6 +4526,22 @@ mac_ipv6_sctp_l4_dst = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/SCTP(sport=32,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3836,6 +4587,34 @@ mac_ipv6_sctp_all = {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=22,dport=23)/("X"*480)',
             "action": "check_hash_same",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=32,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=33)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_same",
+        },
         {
             "send_packet": mac_ipv6_sctp_toeplitz_non_basic_pkt,
             "action": "check_no_hash",
@@ -3869,6 +4648,22 @@ mac_ipv6_sctp_ipv6 = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/SCTP(sport=22,dport=23)/("X"*480)',
             "action": "check_hash_different",
         },
+        {
+            "send_packet": eval(
+                str(mac_ipv6_sctp_toeplitz_basic_pkt["ipv6-next-proto-sctp"]).replace(
+                    "IPv6ExtHdrDestOpt", "IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting"
+                )
+            ),
+            "action": "save_hash",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/IPv6ExtHdrHopByHop()/IPv6ExtHdrRouting(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": "check_hash_different",
+        },
         {
             "send_packet": 'Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=33)/("X"*480)',
             "action": "check_hash_same",
@@ -3891,6 +4686,7 @@ mac_ipv6_sctp_l4_chksum = eval(
     .replace("/SCTP(sport=", "/TCP(sport=")
     .replace("ipv6 / udp", "ipv6 / sctp")
     .replace("/UDP(sport=", "/SCTP(sport=")
+    .replace("nh=17", "nh=132")
 )
 
 # toeplitz related data end
@@ -4355,6 +5151,14 @@ mac_ipv6_symmetric = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IP(dst="192.168.0.2", src="192.168.0.1")/("X"*480)',
             "action": {"check_hash_different": "ipv4-nonfrag"},
         },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt(nh=123)/("X"*480)',
+            "action": {"save_hash": "ipv6-next-proto"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt(nh=123)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto"},
+        },
     ],
     "post-test": [
         {
@@ -4415,6 +5219,14 @@ mac_ipv6_udp_symmetric = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)',
             "action": {"check_hash_different": "ipv6-tcp"},
         },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": {"save_hash": "ipv6-next-proto-udp"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrSegmentRouting(nh=17)/UDP(sport=22,dport=23)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto-udp"},
+        },
     ],
     "post-test": [
         {
@@ -4459,6 +5271,14 @@ mac_ipv6_tcp_symmetric = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)',
             "action": {"check_hash_different": "ipv6-udp"},
         },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": {"save_hash": "ipv6-next-proto-tcp"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrHopByHop(nh=6)/TCP(sport=22,dport=23)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto-tcp"},
+        },
     ],
     "post-test": [
         {
@@ -4495,6 +5315,14 @@ mac_ipv6_sctp_symmetric = {
             "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=22,dport=23)/("X"*480)',
             "action": {"check_hash_same": "ipv6-sctp"},
         },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="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")/IPv6ExtHdrDestOpt()/IPv6ExtHdrDestOpt(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": {"save_hash": "ipv6-next-proto-sctp"},
+        },
+        {
+            "send_packet": 'Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrDestOpt()/IPv6ExtHdrDestOpt(nh=132)/SCTP(sport=22,dport=23)/("X"*480)',
+            "action": {"check_hash_same": "ipv6-next-proto-sctp"},
+        },
     ],
     "post-test": [
         {
-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dts][PATCH v2 0/2] add ipv6 next protocol packets
  2022-09-14  7:37 [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id hailinx xu
  2022-09-14  7:37 ` [dts][PATCH v2 2/2] tests/ice_advanced_rss: " hailinx xu
@ 2022-09-14  7:37 ` hailinx xu
  2022-09-20  8:38 ` [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id Fu, Qi
  2 siblings, 0 replies; 6+ messages in thread
From: hailinx xu @ 2022-09-14  7:37 UTC (permalink / raw)
  To: dts, qi.fu; +Cc: hailinx xu

v1: add packets for ice support ipv6 next protocol id
v2: change packets name

hailinx xu (2):
  test_plans/ice_advanced_rss: ipv6 next proto packets
  tests/ice_advanced_rss: ipv6 next proto packets

 test_plans/ice_advanced_rss_test_plan.rst | 124 +++-
 tests/TestSuite_ice_advanced_rss.py       | 838 +++++++++++++++++++++-
 2 files changed, 948 insertions(+), 14 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id
  2022-09-14  7:37 [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id hailinx xu
  2022-09-14  7:37 ` [dts][PATCH v2 2/2] tests/ice_advanced_rss: " hailinx xu
  2022-09-14  7:37 ` [dts][PATCH v2 0/2] add ipv6 next protocol packets hailinx xu
@ 2022-09-20  8:38 ` Fu, Qi
  2 siblings, 0 replies; 6+ messages in thread
From: Fu, Qi @ 2022-09-20  8:38 UTC (permalink / raw)
  To: Xu, HailinX, dts

> -----Original Message-----
> From: Xu, HailinX <hailinx.xu@intel.com>
> Sent: Wednesday, September 14, 2022 3:38 PM
> To: dts@dpdk.org; Fu, Qi <qi.fu@intel.com>
> Cc: Xu, HailinX <hailinx.xu@intel.com>
> Subject: [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next
> protocol id
> 
> add packets for ice support ipv6 next protocol id
> 
> Signed-off-by: hailinx xu <hailinx.xu@intel.com>
> ---
>  test_plans/ice_advanced_rss_test_plan.rst | 124 ++++++++++++++++++++--
>  1 file changed, 115 insertions(+), 9 deletions(-)
> 
Acked-by: Fu, Qi <qi.fu@intel.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [dts][PATCH v2 2/2] tests/ice_advanced_rss: support ipv6 next protocol id
  2022-09-14  7:37 ` [dts][PATCH v2 2/2] tests/ice_advanced_rss: " hailinx xu
@ 2022-09-20  8:39   ` Fu, Qi
  2022-09-20  8:51   ` lijuan.tu
  1 sibling, 0 replies; 6+ messages in thread
From: Fu, Qi @ 2022-09-20  8:39 UTC (permalink / raw)
  To: Xu, HailinX, dts

> -----Original Message-----
> From: Xu, HailinX <hailinx.xu@intel.com>
> Sent: Wednesday, September 14, 2022 3:38 PM
> To: dts@dpdk.org; Fu, Qi <qi.fu@intel.com>
> Cc: Xu, HailinX <hailinx.xu@intel.com>
> Subject: [dts][PATCH v2 2/2] tests/ice_advanced_rss: support ipv6 next protocol
> id
> 
> add packets for ice support ipv6 next protocol id
> 
> Signed-off-by: hailinx xu <hailinx.xu@intel.com>
> ---
>  tests/TestSuite_ice_advanced_rss.py | 838 +++++++++++++++++++++++++++-
>  1 file changed, 833 insertions(+), 5 deletions(-)
> 
Acked-by: Fu, Qi <qi.fu@intel.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dts][PATCH v2 2/2] tests/ice_advanced_rss: support ipv6 next protocol id
  2022-09-14  7:37 ` [dts][PATCH v2 2/2] tests/ice_advanced_rss: " hailinx xu
  2022-09-20  8:39   ` Fu, Qi
@ 2022-09-20  8:51   ` lijuan.tu
  1 sibling, 0 replies; 6+ messages in thread
From: lijuan.tu @ 2022-09-20  8:51 UTC (permalink / raw)
  To: dts, qi.fu, hailinx xu; +Cc: hailinx xu

On Wed, 14 Sep 2022 15:37:40 +0800, hailinx xu <hailinx.xu@intel.com> wrote:
> add packets for ice support ipv6 next protocol id
> 
> Signed-off-by: hailinx xu <hailinx.xu@intel.com>

Acked-by: Lijuan Tu <lijuan.tu@intel.com>
Series applied, thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-09-20  8:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14  7:37 [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id hailinx xu
2022-09-14  7:37 ` [dts][PATCH v2 2/2] tests/ice_advanced_rss: " hailinx xu
2022-09-20  8:39   ` Fu, Qi
2022-09-20  8:51   ` lijuan.tu
2022-09-14  7:37 ` [dts][PATCH v2 0/2] add ipv6 next protocol packets hailinx xu
2022-09-20  8:38 ` [dts][PATCH v2 1/2] test_plans/ice_advanced_rss: support ipv6 next protocol id Fu, Qi

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).