test suite reviews and discussions
 help / color / mirror / Atom feed
From: Song Jiale <songx.jiale@intel.com>
To: dts@dpdk.org
Cc: Song Jiale <songx.jiale@intel.com>
Subject: [dts] [PATCH V1 1/2] tests/ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp: add new cases according to testplan
Date: Wed, 28 Dec 2022 12:32:33 +0000	[thread overview]
Message-ID: <20221228123234.628532-1-songx.jiale@intel.com> (raw)

add 9 subcases according to testplan.

Signed-off-by: Song Jiale <songx.jiale@intel.com>
---
 ...advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp.py | 781 +++++++++++++++---
 1 file changed, 683 insertions(+), 98 deletions(-)

diff --git a/tests/TestSuite_ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp.py b/tests/TestSuite_ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp.py
index 0c24188a..cf2e9cc6 100644
--- a/tests/TestSuite_ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp.py
+++ b/tests/TestSuite_ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp.py
@@ -523,9 +523,9 @@ mac_ipv6_ah = {
     ],
 }
 
-mac_vlan_ipv4_pay_packets = {
+mac_vlan_ipv4_vlan_packets = {
     "match": {
-        "mac_vlan_ipv4_pay": [
+        "mac_vlan_ipv4_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -544,37 +544,94 @@ mac_vlan_ipv4_pay_packets = {
     ],
 }
 
-mac_vlan_ipv4_pay = {
-    "sub_casename": "mac_vlan_ipv4_pay",
+mac_vlan_ipv4_vlan = {
+    "sub_casename": "mac_vlan_ipv4_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv4_pay_packets["match"]["mac_vlan_ipv4_pay"][0],
+            "send_packet": mac_vlan_ipv4_vlan_packets["match"]["mac_vlan_ipv4_vlan"][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv4_pay_packets["match"]["mac_vlan_ipv4_pay"][1],
+            "send_packet": mac_vlan_ipv4_vlan_packets["match"]["mac_vlan_ipv4_vlan"][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv4_pay_packets["match"]["mac_vlan_ipv4_pay"][2],
+            "send_packet": mac_vlan_ipv4_vlan_packets["match"]["mac_vlan_ipv4_vlan"][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv4_pay_packets['mismatch'][0],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv4_vlan_packets["mismatch"][0],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv4_pay_packets["match"]["mac_vlan_ipv4_pay"]
+        for pkt in mac_vlan_ipv4_vlan_packets["match"]["mac_vlan_ipv4_vlan"]
     ],
 }
 
-mac_vlan_ipv4_udp_pay_packets = {
+mac_vlan_ipv4_l3dst_packets = {
     "match": {
-        "mac_vlan_ipv4_udp_pay": [
+        "mac_vlan_ipv4_l3dst": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.3")/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ],
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)'.format(
+            vf0_mac
+        )
+    ],
+}
+
+mac_vlan_ipv4_l3dst = {
+    "sub_casename": "mac_vlan_ipv4_l3dst",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv4_l3dst_packets["match"]["mac_vlan_ipv4_l3dst"][
+                0
+            ],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_l3dst_packets["match"]["mac_vlan_ipv4_l3dst"][
+                1
+            ],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_l3dst_packets["match"]["mac_vlan_ipv4_l3dst"][
+                2
+            ],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv4_l3dst_packets["mismatch"][0],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv4_l3dst_packets["match"]["mac_vlan_ipv4_l3dst"]
+    ],
+}
+
+mac_vlan_ipv4_pay = [mac_vlan_ipv4_vlan, mac_vlan_ipv4_l3dst]
+
+mac_vlan_ipv4_udp_vlan_packets = {
+    "match": {
+        "mac_vlan_ipv4_udp_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -596,43 +653,165 @@ mac_vlan_ipv4_udp_pay_packets = {
     ],
 }
 
-mac_vlan_ipv4_udp_pay = {
-    "sub_casename": "mac_vlan_ipv4_udp_pay",
+mac_vlan_ipv4_udp_vlan = {
+    "sub_casename": "mac_vlan_ipv4_udp_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv4_udp_pay_packets["match"][
-                "mac_vlan_ipv4_udp_pay"
+            "send_packet": mac_vlan_ipv4_udp_vlan_packets["match"][
+                "mac_vlan_ipv4_udp_vlan"
             ][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv4_udp_pay_packets["match"][
-                "mac_vlan_ipv4_udp_pay"
+            "send_packet": mac_vlan_ipv4_udp_vlan_packets["match"][
+                "mac_vlan_ipv4_udp_vlan"
             ][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv4_udp_pay_packets["match"][
-                "mac_vlan_ipv4_udp_pay"
+            "send_packet": mac_vlan_ipv4_udp_vlan_packets["match"][
+                "mac_vlan_ipv4_udp_vlan"
             ][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv4_udp_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv4_udp_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv4_udp_vlan_packets["match"]["mac_vlan_ipv4_udp_vlan"]
+    ],
+}
+
+mac_vlan_ipv4_udp_l3src_packets = {
+    "match": {
+        "mac_vlan_ipv4_udp_l3src": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=19,dport=99)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+    ],
+}
+
+mac_vlan_ipv4_udp_l3src = {
+    "sub_casename": "mac_vlan_ipv4_udp_l3src",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][
+                "mac_vlan_ipv4_udp_l3src"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][
+                "mac_vlan_ipv4_udp_l3src"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][
+                "mac_vlan_ipv4_udp_l3src"
+            ][2],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv4_udp_l3src_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv4_udp_l3src_packets["match"]["mac_vlan_ipv4_udp_l3src"]
+    ],
+}
+
+mac_vlan_ipv4_udp_l4dst_packets = {
+    "match": {
+        "mac_vlan_ipv4_udp_l4dst": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=24)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.4")/UDP(sport=19,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+    ],
+}
+
+mac_vlan_ipv4_udp_l4dst = {
+    "sub_casename": "mac_vlan_ipv4_udp_l4dst",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][
+                "mac_vlan_ipv4_udp_l4dst"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][
+                "mac_vlan_ipv4_udp_l4dst"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][
+                "mac_vlan_ipv4_udp_l4dst"
+            ][2],
+            "action": "check_hash_same",
+        },
+        # {
+        #    "send_packet": mac_vlan_ipv4_udp_l4dst_packets["mismatch"],
+        #    "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv4_udp_pay_packets["match"]["mac_vlan_ipv4_udp_pay"]
+        for pkt in mac_vlan_ipv4_udp_l4dst_packets["match"]["mac_vlan_ipv4_udp_l4dst"]
     ],
 }
 
-mac_vlan_ipv4_tcp_pay_packets = {
+mac_vlan_ipv4_udp_pay = [
+    mac_vlan_ipv4_udp_vlan,
+    mac_vlan_ipv4_udp_l3src,
+    mac_vlan_ipv4_udp_l4dst,
+]
+
+mac_vlan_ipv4_tcp_vlan_packets = {
     "match": {
-        "mac_vlan_ipv4_tcp_pay": [
+        "mac_vlan_ipv4_tcp_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -654,43 +833,114 @@ mac_vlan_ipv4_tcp_pay_packets = {
     ],
 }
 
-mac_vlan_ipv4_tcp_pay = {
-    "sub_casename": "mac_vlan_ipv4_tcp_pay",
+mac_vlan_ipv4_tcp_vlan = {
+    "sub_casename": "mac_vlan_ipv4_tcp_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / tcp / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv4_tcp_pay_packets["match"][
-                "mac_vlan_ipv4_tcp_pay"
+            "send_packet": mac_vlan_ipv4_tcp_vlan_packets["match"][
+                "mac_vlan_ipv4_tcp_vlan"
             ][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv4_tcp_pay_packets["match"][
-                "mac_vlan_ipv4_tcp_pay"
+            "send_packet": mac_vlan_ipv4_tcp_vlan_packets["match"][
+                "mac_vlan_ipv4_tcp_vlan"
             ][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv4_tcp_pay_packets["match"][
-                "mac_vlan_ipv4_tcp_pay"
+            "send_packet": mac_vlan_ipv4_tcp_vlan_packets["match"][
+                "mac_vlan_ipv4_tcp_vlan"
             ][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv4_tcp_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv4_tcp_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv4_tcp_vlan_packets["match"]["mac_vlan_ipv4_tcp_vlan"]
+    ],
+}
+
+mac_vlan_ipv4_tcp_l3src_l4src_packets = {
+    "match": {
+        "mac_vlan_ipv4_tcp_l3src_l4src": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=22,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=99)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+    ],
+}
+
+mac_vlan_ipv4_tcp_l3src_l4src = {
+    "sub_casename": "mac_vlan_ipv4_tcp_l3src_l4src",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][
+                "mac_vlan_ipv4_tcp_l3src_l4src"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][
+                "mac_vlan_ipv4_tcp_l3src_l4src"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][
+                "mac_vlan_ipv4_tcp_l3src_l4src"
+            ][2],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][
+                "mac_vlan_ipv4_tcp_l3src_l4src"
+            ][3],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv4_tcp_pay_packets["match"]["mac_vlan_ipv4_tcp_pay"]
+        for pkt in mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][
+            "mac_vlan_ipv4_tcp_l3src_l4src"
+        ]
     ],
 }
 
-mac_vlan_ipv4_sctp_pay_packets = {
+mac_vlan_ipv4_tcp_pay = [mac_vlan_ipv4_tcp_vlan, mac_vlan_ipv4_tcp_l3src_l4src]
+
+mac_vlan_ipv4_sctp_vlan_packets = {
     "match": {
-        "mac_vlan_ipv4_sctp_pay": [
+        "mac_vlan_ipv4_sctp_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -712,43 +962,130 @@ mac_vlan_ipv4_sctp_pay_packets = {
     ],
 }
 
-mac_vlan_ipv4_sctp_pay = {
-    "sub_casename": "mac_vlan_ipv4_sctp_pay",
+mac_vlan_ipv4_sctp_vlan = {
+    "sub_casename": "mac_vlan_ipv4_sctp_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / sctp / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv4_sctp_pay_packets["match"][
-                "mac_vlan_ipv4_sctp_pay"
+            "send_packet": mac_vlan_ipv4_sctp_vlan_packets["match"][
+                "mac_vlan_ipv4_sctp_vlan"
             ][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv4_sctp_pay_packets["match"][
-                "mac_vlan_ipv4_sctp_pay"
+            "send_packet": mac_vlan_ipv4_sctp_vlan_packets["match"][
+                "mac_vlan_ipv4_sctp_vlan"
             ][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv4_sctp_pay_packets["match"][
-                "mac_vlan_ipv4_sctp_pay"
+            "send_packet": mac_vlan_ipv4_sctp_vlan_packets["match"][
+                "mac_vlan_ipv4_sctp_vlan"
             ][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv4_sctp_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv4_sctp_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv4_sctp_vlan_packets["match"]["mac_vlan_ipv4_sctp_vlan"]
+    ],
+}
+
+mac_vlan_ipv4_sctp_all_packets = {
+    "match": {
+        "mac_vlan_ipv4_sctp_all": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=19,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=99)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+    ],
+}
+
+mac_vlan_ipv4_sctp_all = {
+    "sub_casename": "mac_vlan_ipv4_sctp_all",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][
+                "mac_vlan_ipv4_sctp_all"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][
+                "mac_vlan_ipv4_sctp_all"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][
+                "mac_vlan_ipv4_sctp_all"
+            ][2],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][
+                "mac_vlan_ipv4_sctp_all"
+            ][3],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][
+                "mac_vlan_ipv4_sctp_all"
+            ][4],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][
+                "mac_vlan_ipv4_sctp_all"
+            ][5],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv4_sctp_all_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv4_sctp_pay_packets["match"]["mac_vlan_ipv4_sctp_pay"]
+        for pkt in mac_vlan_ipv4_sctp_all_packets["match"]["mac_vlan_ipv4_sctp_all"]
     ],
 }
 
-mac_vlan_ipv6_pay_packets = {
+mac_vlan_ipv4_sctp_pay = [mac_vlan_ipv4_sctp_vlan, mac_vlan_ipv4_sctp_all]
+
+mac_vlan_ipv6_vlan_packets = {
     "match": {
-        "mac_vlan_ipv6_pay": [
+        "mac_vlan_ipv6_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -767,37 +1104,94 @@ mac_vlan_ipv6_pay_packets = {
     ],
 }
 
-mac_vlan_ipv6_pay = {
-    "sub_casename": "mac_vlan_ipv6_pay",
+mac_vlan_ipv6_vlan = {
+    "sub_casename": "mac_vlan_ipv6_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv6_pay_packets["match"]["mac_vlan_ipv6_pay"][0],
+            "send_packet": mac_vlan_ipv6_vlan_packets["match"]["mac_vlan_ipv6_vlan"][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv6_pay_packets["match"]["mac_vlan_ipv6_pay"][1],
+            "send_packet": mac_vlan_ipv6_vlan_packets["match"]["mac_vlan_ipv6_vlan"][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv6_pay_packets["match"]["mac_vlan_ipv6_pay"][2],
+            "send_packet": mac_vlan_ipv6_vlan_packets["match"]["mac_vlan_ipv6_vlan"][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv6_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv6_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv6_vlan_packets["match"]["mac_vlan_ipv6_vlan"]
+    ],
+}
+
+mac_vlan_ipv6_l3src_packets = {
+    "match": {
+        "mac_vlan_ipv6_l3src": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/Raw("y" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)'.format(
+            vf0_mac
+        )
+    ],
+}
+
+mac_vlan_ipv6_l3src = {
+    "sub_casename": "mac_vlan_ipv6_l3src",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv6_l3src_packets["match"]["mac_vlan_ipv6_l3src"][
+                0
+            ],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_l3src_packets["match"]["mac_vlan_ipv6_l3src"][
+                1
+            ],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_l3src_packets["match"]["mac_vlan_ipv6_l3src"][
+                2
+            ],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv6_l3src_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv6_pay_packets["match"]["mac_vlan_ipv6_pay"]
+        for pkt in mac_vlan_ipv6_l3src_packets["match"]["mac_vlan_ipv6_l3src"]
     ],
 }
 
-mac_vlan_ipv6_udp_pay_packets = {
+mac_vlan_ipv6_pay = [mac_vlan_ipv6_vlan, mac_vlan_ipv6_l3src]
+
+mac_vlan_ipv6_udp_vlan_packets = {
     "match": {
-        "mac_vlan_ipv6_udp_pay": [
+        "mac_vlan_ipv6_udp_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -819,43 +1213,103 @@ mac_vlan_ipv6_udp_pay_packets = {
     ],
 }
 
-mac_vlan_ipv6_udp_pay = {
-    "sub_casename": "mac_vlan_ipv6_udp_pay",
+mac_vlan_ipv6_udp_vlan = {
+    "sub_casename": "mac_vlan_ipv6_udp_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / udp / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv6_udp_pay_packets["match"][
-                "mac_vlan_ipv6_udp_pay"
+            "send_packet": mac_vlan_ipv6_udp_vlan_packets["match"][
+                "mac_vlan_ipv6_udp_vlan"
             ][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv6_udp_pay_packets["match"][
-                "mac_vlan_ipv6_udp_pay"
+            "send_packet": mac_vlan_ipv6_udp_vlan_packets["match"][
+                "mac_vlan_ipv6_udp_vlan"
             ][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv6_udp_pay_packets["match"][
-                "mac_vlan_ipv6_udp_pay"
+            "send_packet": mac_vlan_ipv6_udp_vlan_packets["match"][
+                "mac_vlan_ipv6_udp_vlan"
             ][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv6_udp_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv6_udp_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        #  },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv6_udp_vlan_packets["match"]["mac_vlan_ipv6_udp_vlan"]
+    ],
+}
+
+mac_vlan_ipv6_udp_l4src_packets = {
+    "match": {
+        "mac_vlan_ipv6_udp_l4src": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=19,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=99)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+    ],
+}
+
+mac_vlan_ipv6_udp_l4src = {
+    "sub_casename": "mac_vlan_ipv6_udp_l4src",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / udp / end actions rss types ipv6-udp l4-src-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][
+                "mac_vlan_ipv6_udp_l4src"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][
+                "mac_vlan_ipv6_udp_l4src"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][
+                "mac_vlan_ipv6_udp_l4src"
+            ][2],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv6_udp_l4src_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv6_udp_pay_packets["match"]["mac_vlan_ipv6_udp_pay"]
+        for pkt in mac_vlan_ipv6_udp_l4src_packets["match"]["mac_vlan_ipv6_udp_l4src"]
     ],
 }
 
-mac_vlan_ipv6_tcp_pay_packets = {
+mac_vlan_ipv6_udp_pay = [mac_vlan_ipv6_udp_vlan, mac_vlan_ipv6_udp_l4src]
+
+mac_vlan_ipv6_tcp_vlan_packets = {
     "match": {
-        "mac_vlan_ipv6_tcp_pay": [
+        "mac_vlan_ipv6_tcp_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -877,43 +1331,103 @@ mac_vlan_ipv6_tcp_pay_packets = {
     ],
 }
 
-mac_vlan_ipv6_tcp_pay = {
-    "sub_casename": "mac_vlan_ipv6_tcp_pay",
+mac_vlan_ipv6_tcp_vlan = {
+    "sub_casename": "mac_vlan_ipv6_tcp_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / tcp / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv6_tcp_pay_packets["match"][
-                "mac_vlan_ipv6_tcp_pay"
+            "send_packet": mac_vlan_ipv6_tcp_vlan_packets["match"][
+                "mac_vlan_ipv6_tcp_vlan"
             ][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv6_tcp_pay_packets["match"][
-                "mac_vlan_ipv6_tcp_pay"
+            "send_packet": mac_vlan_ipv6_tcp_vlan_packets["match"][
+                "mac_vlan_ipv6_tcp_vlan"
             ][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv6_tcp_pay_packets["match"][
-                "mac_vlan_ipv6_tcp_pay"
+            "send_packet": mac_vlan_ipv6_tcp_vlan_packets["match"][
+                "mac_vlan_ipv6_tcp_vlan"
             ][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv6_tcp_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv6_tcp_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv6_tcp_vlan_packets["match"]["mac_vlan_ipv6_tcp_vlan"]
+    ],
+}
+
+mac_vlan_ipv6_tcp_l3dst_packets = {
+    "match": {
+        "mac_vlan_ipv6_tcp_l3dst": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=19,dport=99)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+    ],
+}
+
+mac_vlan_ipv6_tcp_l3dst = {
+    "sub_casename": "mac_vlan_ipv6_tcp_l3dst",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][
+                "mac_vlan_ipv6_tcp_l3dst"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][
+                "mac_vlan_ipv6_tcp_l3dst"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][
+                "mac_vlan_ipv6_tcp_l3dst"
+            ][2],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv6_tcp_pay_packets["match"]["mac_vlan_ipv6_tcp_pay"]
+        for pkt in mac_vlan_ipv6_tcp_l3dst_packets["match"]["mac_vlan_ipv6_tcp_l3dst"]
     ],
 }
 
-mac_vlan_ipv6_sctp_pay_packets = {
+mac_vlan_ipv6_tcp_pay = [mac_vlan_ipv6_tcp_vlan, mac_vlan_ipv6_tcp_l3dst]
+
+mac_vlan_ipv6_sctp_vlan_packets = {
     "match": {
-        "mac_vlan_ipv6_sctp_pay": [
+        "mac_vlan_ipv6_sctp_vlan": [
             'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
                 vf0_mac
             ),
@@ -935,40 +1449,111 @@ mac_vlan_ipv6_sctp_pay_packets = {
     ],
 }
 
-mac_vlan_ipv6_sctp_pay = {
-    "sub_casename": "mac_vlan_ipv6_sctp_pay",
+mac_vlan_ipv6_sctp_vlan = {
+    "sub_casename": "mac_vlan_ipv6_sctp_vlan",
     "port_id": 0,
     "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / sctp / end actions rss types c-vlan end key_len 0 queues end / end",
     "test": [
         {
-            "send_packet": mac_vlan_ipv6_sctp_pay_packets["match"][
-                "mac_vlan_ipv6_sctp_pay"
+            "send_packet": mac_vlan_ipv6_sctp_vlan_packets["match"][
+                "mac_vlan_ipv6_sctp_vlan"
             ][0],
             "action": "save_hash",
         },
         {
-            "send_packet": mac_vlan_ipv6_sctp_pay_packets["match"][
-                "mac_vlan_ipv6_sctp_pay"
+            "send_packet": mac_vlan_ipv6_sctp_vlan_packets["match"][
+                "mac_vlan_ipv6_sctp_vlan"
             ][1],
             "action": "check_hash_different",
         },
         {
-            "send_packet": mac_vlan_ipv6_sctp_pay_packets["match"][
-                "mac_vlan_ipv6_sctp_pay"
+            "send_packet": mac_vlan_ipv6_sctp_vlan_packets["match"][
+                "mac_vlan_ipv6_sctp_vlan"
             ][2],
             "action": "check_hash_same",
         },
         # {
-        #     'send_packet': mac_vlan_ipv6_sctp_pay_packets['mismatch'],
-        #     'action': 'check_no_hash_or_different',
+        #     "send_packet": mac_vlan_ipv6_sctp_vlan_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
         # },
     ],
     "post-test": [
         {"send_packet": pkt, "action": "check_no_hash_or_different"}
-        for pkt in mac_vlan_ipv6_sctp_pay_packets["match"]["mac_vlan_ipv6_sctp_pay"]
+        for pkt in mac_vlan_ipv6_sctp_vlan_packets["match"]["mac_vlan_ipv6_sctp_vlan"]
+    ],
+}
+
+mac_vlan_ipv6_sctp_l3dst_l4dst_packets = {
+    "match": {
+        "mac_vlan_ipv6_sctp_l3dst_l4dst": [
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=99)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+            'Ether(src="10:22:33:44:55:99", dst="{}",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=19,dport=23)/Raw("x" * 80)'.format(
+                vf0_mac
+            ),
+        ]
+    },
+    "mismatch": [
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
+        'Ether(src="10:22:33:44:55:66", dst="{}",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)'.format(
+            vf0_mac
+        ),
     ],
 }
 
+mac_vlan_ipv6_sctp_l3dst_l4dst = {
+    "sub_casename": "mac_vlan_ipv6_sctp_l3dst_l4dst",
+    "port_id": 0,
+    "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / sctp / end actions rss types ipv6-sctp l3-dst-only l4-dst-only end key_len 0 queues end / end",
+    "test": [
+        {
+            "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][
+                "mac_vlan_ipv6_sctp_l3dst_l4dst"
+            ][0],
+            "action": "save_hash",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][
+                "mac_vlan_ipv6_sctp_l3dst_l4dst"
+            ][1],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][
+                "mac_vlan_ipv6_sctp_l3dst_l4dst"
+            ][2],
+            "action": "check_hash_different",
+        },
+        {
+            "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][
+                "mac_vlan_ipv6_sctp_l3dst_l4dst"
+            ][3],
+            "action": "check_hash_same",
+        },
+        # {
+        #     "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["mismatch"],
+        #     "action": "check_no_hash_or_different",
+        # },
+    ],
+    "post-test": [
+        {"send_packet": pkt, "action": "check_no_hash_or_different"}
+        for pkt in mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][
+            "mac_vlan_ipv6_sctp_l3dst_l4dst"
+        ]
+    ],
+}
+
+mac_vlan_ipv6_sctp_pay = [mac_vlan_ipv6_sctp_vlan, mac_vlan_ipv6_sctp_l3dst_l4dst]
+
 
 class ICE_advance_iavf_rss_vlan_ah_l2tp_pfcp(TestCase):
     def set_up_all(self):
-- 
2.25.1


             reply	other threads:[~2022-12-28  4:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-28 12:32 Song Jiale [this message]
2022-12-28 12:32 ` [dts] [PATCH V1 2/2] test_plans/ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp: add 9 subcase Song Jiale
2022-12-29  4:08   ` Peng, Yuan
2022-12-30  5:52   ` Li, WeiyuanX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221228123234.628532-1-songx.jiale@intel.com \
    --to=songx.jiale@intel.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).