* [dts][PATCH V1] tests/cvl_advanced_iavf_rss_pppol2tpoudp: add test cases for l2tpv2 control and data
@ 2022-03-15 4:10 Yaqi Tang
2022-03-23 7:24 ` lijuan.tu
0 siblings, 1 reply; 2+ messages in thread
From: Yaqi Tang @ 2022-03-15 4:10 UTC (permalink / raw)
To: dts; +Cc: Yaqi Tang
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-03-23 7:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-15 4:10 [dts][PATCH V1] tests/cvl_advanced_iavf_rss_pppol2tpoudp: add test cases for l2tpv2 control and data Yaqi Tang
2022-03-23 7:24 ` lijuan.tu
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).