From: Yaqi Tang <yaqi.tang@intel.com>
To: dts@dpdk.org
Cc: Yaqi Tang <yaqi.tang@intel.com>
Subject: [dts][PATCH V1] tests/cvl_advanced_iavf_rss_pppol2tpoudp: add test cases for l2tpv2 control and data
Date: Tue, 15 Mar 2022 12:10:41 +0800 [thread overview]
Message-ID: <20220315041041.397913-1-yaqi.tang@intel.com> (raw)
Support IAVF PPPoL2TPv2oUDP RSS Hash, and required to distribute packets based on inner IP src+dest address and TCP/UDP src+dest port.
Signed-off-by: Yaqi Tang <yaqi.tang@intel.com>
Tested-by: Yaqi Tang < yaqi.tang@intel.com>
---
| 1321 +++++++++++++++++
1 file changed, 1321 insertions(+)
--git a/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py b/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py
index 81cff39d..3a6bbd97 100644
--- a/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py
+++ b/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py
@@ -1714,6 +1714,1150 @@ vector_case_64 = [
},
]
+#l2tpv2 control + data
+vector_case_65 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_CONTROL",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type control session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_66 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_L2TPV2_CONTROL",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type control session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_67 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_L2TPV2_CONTROL",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type control session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_68 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_L2TPV2_CONTROL",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type control session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_69 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_70 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_L2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_71 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_l session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_72 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_l session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_73 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_s session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_74 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_s session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_75 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_76 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_77 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_l_s session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_78 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_l_s session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_79 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_80 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_L2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_81 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_l session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_82 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_l session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_83 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_s session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_84 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_s session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_85 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_86 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_87 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_l_s session_id is 0x1111 / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_88 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_l_s session_id is 0x1111 / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_89 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_90 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_91 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_l session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_92 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_l session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_93 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_s session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_94 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_s session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_95 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_96 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_o session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_97 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_l_s session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_98 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv4 / udp / l2tpv2 type data_l_s session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_99 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_100 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_101 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_l session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_102 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_L",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_l session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_103 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_s session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_104 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_s session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_105 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_106 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_O",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_o session_id is 0x1111 offset_size is 6 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_107 = [
+ {
+ "sub_casename": "l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data_l_s session_id is 0x1111 / ppp / end actions rss types l2tpv2 end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
+
+vector_case_108 = [
+ {
+ "sub_casename": "eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_L_S",
+ "port_id": 0,
+ "rule": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 / ipv6 / udp / l2tpv2 type data_l_s session_id is 0x1111 / ppp / end actions rss types eth l2-src-only end key_len 0 queues end / end",
+ "test": [
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "save_hash"
+ },
+ {
+ "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_different"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_hash_same"
+ },
+ {
+ "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
+ "action": "check_no_hash"
+ },
+ ]
+ },
+]
class TestCVLAdvancedIAVFRSSPPPoL2TPv2oUDP(TestCase):
@@ -2038,6 +3182,183 @@ class TestCVLAdvancedIAVFRSSPPPoL2TPv2oUDP(TestCase):
def test_case_eth_ipv4_udp_l2tpv2_ppp_ipv6_tcp_ipv6_MAC_IPV4_PPPoL2TPV2_IPV6_TCP(self):
self.switch_testpmd(symmetric=False)
self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_64)
+
+ #l2tpv2 control + data
+ def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_CONTROL(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_65)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_L2TPV2_CONTROL(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_66)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_L2TPV2_CONTROL(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_67)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_L2TPV2_CONTROL(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_68)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_69)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_L2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_70)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_71)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_72)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_73)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_74)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_75)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_76)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_77)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_78)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_79)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_L2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_80)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_81)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_82)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_83)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_84)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_85)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_86)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_87)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_88)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_89)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_90)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_91)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_92)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_93)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_94)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_95)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_96)
+
+ def test_case_l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_97)
+
+ def test_case_eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_98)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_99)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_100)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_101)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_L(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_102)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_103)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_104)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_105)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_O(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_106)
+
+ def test_case_l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_107)
+
+ def test_case_eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_L_S(self):
+ self.switch_testpmd(symmetric=False)
+ self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_108)
def tear_down(self):
# destroy all flow rule on port 0
--
2.25.1
next reply other threads:[~2022-03-15 4:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-15 4:10 Yaqi Tang [this message]
2022-03-23 7:24 ` lijuan.tu
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=20220315041041.397913-1-yaqi.tang@intel.com \
--to=yaqi.tang@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).