From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 627CDA09E4; Thu, 28 Jan 2021 10:24:28 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A4124067A; Thu, 28 Jan 2021 10:24:28 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 491F740395 for ; Thu, 28 Jan 2021 10:24:25 +0100 (CET) IronPort-SDR: vVR2luJDI3fDEz3qRwt9nvUxyi1db+uAH4Fhb7pJT2vUmj7BA+EiHdEw0YYAn0QR85nmsP6k8l uCx7gDRaScIQ== X-IronPort-AV: E=McAfee;i="6000,8403,9877"; a="167878699" X-IronPort-AV: E=Sophos;i="5.79,382,1602572400"; d="scan'208";a="167878699" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jan 2021 01:24:23 -0800 IronPort-SDR: EF8Dj8ZEnHpFuviMGad95ZS1vRog6qjBPMLvbB6DQhXgXnx9TO7pkOVG+BNRXnQ3NSgCkIzN6v DZfh52Fs/v+Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,382,1602572400"; d="scan'208";a="362793504" Received: from pengyuan-dpdk.sh.intel.com ([10.67.117.236]) by fmsmga008.fm.intel.com with ESMTP; 28 Jan 2021 01:24:21 -0800 From: Peng Yuan To: dts@dpdk.org Cc: Peng Yuan Date: Thu, 28 Jan 2021 02:23:40 +0000 Message-Id: <20210128022340.58939-1-yuan.peng@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dts] [PATCH v2]test_plans: adapt to rss refactor X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" According to the RSS refactor, we changed the negative case, toeplitz case and symmetric cases in such three test plans: cvl_advanced_rss_test_plan.rst cvl_advanced_rss_gtpu_test_plan.rst cvl_advanced_rss_pppoe_vlan_esp_ah_l2tp_pfcp_test_plan.rst Signed-off-by: Peng Yuan diff --git a/test_plans/cvl_advanced_rss_gtpu_test_plan.rst b/test_plans/cvl_advanced_rss_gtpu_test_plan.rst index 1d5a1a2f..3b72dcdb 100644 --- a/test_plans/cvl_advanced_rss_gtpu_test_plan.rst +++ b/test_plans/cvl_advanced_rss_gtpu_test_plan.rst @@ -60,51 +60,51 @@ Pattern and input set | IPv4/IPv6 transport | | | | IPv4/IPv6 payload | | | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_GTPU_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_GTPU_EH_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_GTPU_EH_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_EH_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_EH_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ .. table:: @@ -590,6 +590,21 @@ hit pattern/not defined input set:: sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.1.1", src="192.168.1.2")/UDP(sport=22, dport=33)/("X"*480)],iface="enp216s0f0") +Subcase: MAC_IPV4_GTPU_EH_DL_IPV4_UDP_IPV4 +------------------------------------------ +rule:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + +hit pattern/defined input set:: + + sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.1.1", src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)],iface="enp216s0f0") + sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.0.1", src="192.168.1.2")/UDP(sport=22, dport=23)/("X"*480)],iface="enp216s0f0") + +hit pattern/not defined input set:: + + sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.0.1", src="192.168.0.2")/UDP(sport=32, dport=33)/("X"*480)],iface="enp216s0f0") + Subcase: MAC_IPV4_GTPU_EH_DL_IPV4_UDP ------------------------------------- rule:: @@ -698,6 +713,14 @@ rule:: packets: change the pdu_type value(0->1/1->0) of packets of Subcase MAC_IPV4_GTPU_EH_DL_IPV4_UDP_L4SRC. +Subcase: MAC_IPV4_GTPU_EH_UL_IPV4_UDP_IPV4 +------------------------------------------ +rule:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + +packets: change the pdu_type value(0->1/1->0) of packets of Subcase MAC_IPV4_GTPU_EH_DL_IPV4_UDP_IPV4. + Subcase: MAC_IPV4_GTPU_EH_UL_IPV4_UDP ------------------------------------- rule:: @@ -1049,6 +1072,22 @@ hit pattern/not defined input set:: sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.1.1", src="192.168.1.2")/UDP(sport=22, dport=33)/("X"*480)],iface="enp216s0f0") sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(dst="192.168.1.1", src="192.168.1.2")/UDP(sport=22, dport=33)/("X"*480)],iface="enp216s0f0") +Subcase: MAC_IPV4_GTPU_EH_IPV4_UDP_IPV4 +--------------------------------------- +rule:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + +hit pattern/defined input set:: + + sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.1.1", src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)],iface="enp216s0f0") + sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.0.1", src="192.168.1.2")/UDP(sport=22, dport=23)/("X"*480)],iface="enp216s0f0") + +hit pattern/not defined input set:: + + sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.0.1", src="192.168.0.2")/UDP(sport=32, dport=33)/("X"*480)],iface="enp216s0f0") + sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(dst="192.168.0.1", src="192.168.0.2")/UDP(sport=32, dport=33)/("X"*480)],iface="enp216s0f0") + Subcase: MAC_IPV4_GTPU_EH_IPV4_UDP ---------------------------------- rule:: @@ -1362,6 +1401,21 @@ hit pattern/not defined input set:: sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/IP(dst="192.168.1.1", src="192.168.1.2")/UDP(sport=22,dport=33)/("X"*480)],iface="enp216s0f0") +Subcase: MAC_IPV4_GTPU_IPV4_UDP_IPV4 +------------------------------------ +rule:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + +hit pattern/defined input set:: + + sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.1.1", src="192.168.0.2")/UDP(sport=22,dport=23)/("X"*480)],iface="enp216s0f0") + sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.1.2")/UDP(sport=22,dport=23)/("X"*480)],iface="enp216s0f0") + +hit pattern/not defined input set:: + + sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345)/IP(dst="192.168.0.1", src="192.168.0.2")/UDP(sport=32,dport=33)/("X"*480)],iface="enp216s0f0") + Subcase: MAC_IPV4_GTPU_IPV4_UDP ------------------------------- rule:: @@ -1486,9 +1540,6 @@ Subcase: invalid input set testpmd> flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types ipv6-udp end key_len 0 queues end / end ice_flow_create(): Failed to create flow port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument - testpmd> flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end - ice_flow_create(): Failed to create flow - port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument testpmd> flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types udp end key_len 0 queues end / end ice_flow_create(): Failed to create flow port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument @@ -1502,7 +1553,6 @@ Subcase: invalid input set flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types ipv4-tcp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types ipv6-udp end key_len 0 queues end / end - flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss types udp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss types ipv4 gtpu end key_len 0 queues end / end @@ -2547,11 +2597,8 @@ all the test cases run the same test steps as below: check both the packets are distributed to queues by rss. note: if there is not this type packet in the case, omit this step. 7. distroy the rule and list rule. -8. send the basic packet. - if the rule inner protocol is IPV4_UDP/TCP or IPV6_UDP/TCP, - check the received packet has different hash value in step 4. - if the rule inner protocol is IPV4/IPV6, - check the received packet has not hash value, and distributed to queue 0. +8. send the same packets in step3, only switch ip address. + check the received packets which switched ip address have different hash value. ========================================== Pattern: symmetric outer ipv4 + inner ipv4 @@ -2899,7 +2946,6 @@ Test case: symmetric negative cases flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 l3-dst-only end key_len 0 queues end / end flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end - flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types tcp end key_len 0 queues end / end flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp l3-src-only end key_len 0 queues end / end @@ -2914,7 +2960,6 @@ Test case: symmetric negative cases flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 l3-dst-only end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end - flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types tcp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp l3-src-only end key_len 0 queues end / end diff --git a/test_plans/cvl_advanced_rss_pppoe_vlan_esp_ah_l2tp_pfcp_test_plan.rst b/test_plans/cvl_advanced_rss_pppoe_vlan_esp_ah_l2tp_pfcp_test_plan.rst index 52702686..09928615 100644 --- a/test_plans/cvl_advanced_rss_pppoe_vlan_esp_ah_l2tp_pfcp_test_plan.rst +++ b/test_plans/cvl_advanced_rss_pppoe_vlan_esp_ah_l2tp_pfcp_test_plan.rst @@ -53,18 +53,18 @@ Pattern and input set | | MAC_PPPOE_IPV4_PAY | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, ipv4 | | +---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOE_IPV4_UDP_PAY | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv4-udp | + | | | l4-src-only, l4-dst-only, ipv4-udp, ipv4 | | +---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOE_IPV4_TCP_PAY | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv4-tcp | + | | | l4-src-only, l4-dst-only, ipv4-tcp, ipv4 | | PPPOE +---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOE_IPV6_PAY | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, ipv6 | | +---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOE_IPV6_UDP_PAY | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv6-udp | + | | | l4-src-only, l4-dst-only, ipv6-udp, ipv6 | | +---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOE_IPV6_TCP_PAY | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv6-tcp | + | | | l4-src-only, l4-dst-only, ipv6-tcp, ipv6 | | +---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOE_PAY | eth, l2-src-only, l2-dst-only, pppoe | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ @@ -2110,6 +2110,59 @@ Subcase 12: MAC_PPPOE_IPV4_UDP_PAY_L3_SRC_ONLY_L3_DST_ONLY_L4_SRC_ONLY_L4_DST_ON 4. send packets mismatched the pattern, check the hash values not exist. +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists in the list. + send the matched packets, check the hash values of the packets are not exist. + +Subcase 13: MAC_PPPOE_IPV4_UDP_PAY_IPV4 +--------------------------------------- + +1. validate a rule for RSS type of MAC_PPPOE_IPV4_UDP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_PPPOE_IPV4_UDP_PAY:: + + testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_PPPOE_IPV4_UDP_PAY packet:: + + sendp([Ether(src="00:11:22:33:44:55", dst="10:22:33:44:55:66")/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x"*80)],iface="ens786f0") + + change the fields [Source IP][Dest IP], send packets:: + + sendp([Ether(src="00:11:22:33:44:55", dst="10:22:33:44:55:66")/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x"*80)],iface="ens786f0") + sendp([Ether(src="00:11:22:33:44:55", dst="10:22:33:44:55:66")/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.7")/UDP(sport=25,dport=23)/Raw("x"*80)],iface="ens786f0") + sendp([Ether(src="00:11:22:33:44:55", dst="10:22:33:44:55:66")/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.7")/UDP(sport=25,dport=23)/Raw("x"*80)],iface="ens786f0") + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="00:11:22:33:44:53", dst="10:22:33:44:55:99")/PPPoE(sessionid=7)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=19,dport=99)/Raw("x"*80)],iface="ens786f0") + + check the hash values are the same as the first packet. + +4. send packets mismatched the pattern, check the hash values not exist. + 5. destroy the rule:: testpmd> flow destroy 0 rule 0 diff --git a/test_plans/cvl_advanced_rss_test_plan.rst b/test_plans/cvl_advanced_rss_test_plan.rst index 729a6897..8197e56c 100644 --- a/test_plans/cvl_advanced_rss_test_plan.rst +++ b/test_plans/cvl_advanced_rss_test_plan.rst @@ -56,74 +56,74 @@ Pattern and input set | IPv4/IPv6 + TCP/UDP/SCTP | MAC_IPV4 | eth, l2-src-only, l2-dst-only, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_UDP | eth, l2-src-only, l2-dst-only, ipv4-udp, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only | + | | | l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_TCP | eth, l2-src-only, l2-dst-only, ipv4-tcp, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only | + | | | l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_SCTP | eth, l2-src-only, l2-dst-only, ipv4-sctp, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only | + | | | l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6 | eth, l2-src-only, l2-dst-only, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_UDP | eth, l2-src-only, l2-dst-only, ipv6-udp, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only | + | | | l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_TCP | eth, l2-src-only, l2-dst-only, ipv6-tcp, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only | + | | | l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_SCTP | eth, l2-src-only, l2-dst-only, ipv6-sctp, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only | + | | | l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | GTP-U data packet types | MAC_IPV4_GTPU_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | | IPv4/IPv6 transport | | | | IPv4/IPv6 payload | | | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_GTPU_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_GTPU_EH_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV4_GTPU_EH_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV4_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_EH_IPV4 | gtpu, ipv4, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV4_UDP | gtpu, ipv4-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV4_TCP | gtpu, ipv4-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_IPV6_GTPU_EH_IPV6 | gtpu, ipv6, l3-src-only, l3-dst-only | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV6_UDP | gtpu, ipv6-udp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only | + | | MAC_IPV6_GTPU_EH_IPV6_TCP | gtpu, ipv6-tcp, l3-src-only, l3-dst-only, l4-src-only, l4-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | VLAN | MAC_VLAN_IPV4 | c-vlan | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ @@ -144,24 +144,24 @@ Pattern and input set | PPPOES | MAC_PPPOES_IPV4 | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV4_UDP | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv4-udp | + | | | l4-src-only, l4-dst-only, ipv4-udp, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV4_TCP | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv4-tcp | + | | | l4-src-only, l4-dst-only, ipv4-tcp, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV4_SCTP | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv4-sctp | + | | | l4-src-only, l4-dst-only, ipv4-sctp, ipv4 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV6 | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV6_UDP | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv6-udp | + | | | l4-src-only, l4-dst-only, ipv6-udp, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV6_TCP | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv6-tcp | + | | | l4-src-only, l4-dst-only, ipv6-tcp, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES_IPV6_SCTP | eth, l2-src-only, l2-dst-only, l3-src-only, l3-dst-only, | - | | | l4-src-only, l4-dst-only, ipv6-udp | + | | | l4-src-only, l4-dst-only, ipv6-udp, ipv6 | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ | | MAC_PPPOES | eth, l2-src-only, l2-dst-only, pppoe | +-------------------------------+---------------------------+----------------------------------------------------------------------------------+ @@ -945,6 +945,33 @@ nvgre packet:: sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IP()/NVGRE()/Ether()/IP(dst="192.168.1.1", src="192.168.1.2")/UDP(sport=32,dport=23)/("X"*480)], iface="ens786f0") +Subcase: MAC_IPV4_UDP_IPV4 +-------------------------- +1. create rss rule:: + + flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + +2. hit pattern/defined input set: +ipv4-udp packets:: + + sendp([Ether(dst="00:11:22:33:44:55", src="68:05:CA:BB:26:E0")/IP(dst="192.168.1.1", src="192.168.0.2")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0") + sendp([Ether(dst="00:11:22:33:44:55", src="68:05:CA:BB:26:E0")/IP(dst="192.168.0.1", src="192.168.1.2")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0") + +nvgre packet:: + + sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IP()/NVGRE()/Ether()/IP(dst="192.168.1.1", src="192.168.0.2")/UDP(sport=22,dport=23)/("X"*480)], iface="ens786f0") + sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IP()/NVGRE()/Ether()/IP(dst="192.168.0.1", src="192.168.1.2")/UDP(sport=22,dport=23)/("X"*480)], iface="ens786f0") + + +3. hit pattern/not defined input set: +ipv4-udp packets:: + + sendp([Ether(dst="00:11:22:33:44:53", src="68:05:CA:BB:27:E0")/IP(dst="192.168.0.1", src="192.168.0.2")/UDP(sport=32,dport=33)/("X"*480)],iface="enp134s0f0") + +nvgre packet:: + + sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IP()/NVGRE()/Ether()/IP(dst="192.168.0.1", src="192.168.0.2")/UDP(sport=32,dport=233/("X"*480)], iface="ens786f0") + Subcase: MAC_IPV4_UDP_ALL ------------------------- 1. create rss rule:: @@ -1641,6 +1668,31 @@ ipv4_udp_vxlan_ipv6_udp packet:: sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0") +Subcase: MAC_IPV6_UDP_IPV6 +-------------------------- +1. create rss rule:: + + flow create 0 ingress pattern eth / ipv6 / udp / end actions rss types ipv6 end key_len 0 queues end / end + +2. hit pattern/defined input set: +ipv6-udp packets:: + + sendp([Ether(dst="00:11:22:33:44:55", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="enp134s0f0") + sendp([Ether(dst="00:11:22:33:44:55", src="68:05:CA:BB:26:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=23)/("X"*480)],iface="enp134s0f0") + +ipv4_udp_vxlan_ipv6_udp packet:: + + sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0") + sendp([Ether(src="00:11:22:33:44:55", dst="68:05:CA:BB:26:E0")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(sport=22,dport=23)/("X"*480)],iface="ens786f0") + +3. hit pattern/not defined input set: +ipv6-udp packets:: + + sendp([Ether(dst="00:11:22:33:44:53", src="68:05:CA:BB:27:E0")/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp134s0f0") + +ipv4_udp_vxlan_ipv6_udp packet:: + + sendp([Ether(src="00:11:22:33:44:53", dst="68:05:CA:BB:27:E0")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=23)/("X"*480)],iface="ens786f0") Subcase: MAC_IPV6_UDP_ALL ------------------------- @@ -1787,12 +1839,9 @@ all the test cases run the same test steps as below: check all the packets are distributed to queues by rss. note: if there is not this type packet in the case, omit this step. 7. distroy the rule and list rule. -8. send same packets with step 2. - if the rule is MAC_IPV4_UDP/TCP/SCTP or MAC_IPV6_UDP/TCP/SCTP, - check the received packets which switched ip address have different hash value, - which only switched L4 ports have same hash value. - if the rule is MAC_IPV4 or MAC_IPV6, - check the received packets have not hash value. +8. send same packets with step 3, only switch ip address. + check the received packets which switched ip address have not hash value, + or have different hash value. Test case: symmetric MAC_IPV4 ============================= @@ -2083,9 +2132,12 @@ Test Case: negative case testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-udp end key_len 0 queues end / end ice_flow_create(): Failed to create flow port_flow_complain(): Caught PMD error type 10 (item specification): cause: 0x7fff3b61eb08, Invalid input set: Invalid argument - testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types udp end key_len 0 queues end / end ice_flow_create(): Failed to create flow - port_flow_complain(): Caught PMD error type 10 (item specification): cause: 0x7fff3b61eb08, Invalid input set: Invalid argument + port_flow_complain(): Caught PMD error type 10 (item specification): cause: 0x7fff70533a48, Invalid input set: Invalid argument + testpmd> flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss types tcp end key_len 0 queues end / end + ice_flow_create(): Failed to create flow + port_flow_complain(): Caught PMD error type 10 (item specification): cause: 0x7fff70533a48, Invalid input set: Invalid argument testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-tcp end key_len 0 queues end / end ice_flow_create(): Failed to create flow port_flow_complain(): Caught PMD error type 10 (item specification): cause: 0x7fff3b61eb08, Invalid input set: Invalid argument @@ -2105,7 +2157,8 @@ Test Case: negative case flow validate 0 ingress pattern eth / ipv4 / end actions rss types eth l3-src-only end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / end actions rss types ipv4-udp end key_len 0 queues end / end - flow validate 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end + flow validate 0 ingress pattern eth / ipv4 / udp / end actions rss types udp end key_len 0 queues end / end + flow validate 0 ingress pattern eth / ipv6 / tcp / end actions rss types tcp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-tcp end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / end actions rss types ipv6 end key_len 0 queues end / end flow validate 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 l3-src-only end key_len 0 queues end / end -- 2.17.1