From patchwork Fri Dec 9 08:07:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lingli Chen X-Patchwork-Id: 120695 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 587E9A00C2; Fri, 9 Dec 2022 10:04:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5198E40E0F; Fri, 9 Dec 2022 10:04:47 +0100 (CET) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 6F76740E03 for ; Fri, 9 Dec 2022 10:04:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670576685; x=1702112685; h=from:to:cc:subject:date:message-id; bh=Ig1NK3kenYL3yeHHd85eJvjwiDWYwymItYZRJE13qwg=; b=dV4QBGQg6sF+LJNFPF6l+skG408/hWfzk6nJxSqcSR8uW28hhfI/aj+c xS7grGhDv/MYcLpbFYYZ1tdOhwjCVdE9phsAOrgYrsSxPFWwZcmYr1O2v gqpHiPgFfDtLHAhnNKyDH0BNQp+fFmeBwLK25i7fIf4o2tiSVyA2CdrsD kXNMvZ3da4pBhgsL0MZ/9V1y2ez2LUxddr/7dn0I6tAbVYDRg2GfteyWV o0gDjD2HzvrWmkBO1DsjffwWjmQgpZtcijsyUcV06SoQq6b2yO6eTWup3 h6ygw3iYKYjFEuQINqbGC1xZ3BwSDy2wD4Q/UiH3NsKXStF5WRWOjXK0i A==; X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="379631188" X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; d="scan'208";a="379631188" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Dec 2022 01:04:44 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="597672421" X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; d="scan'208";a="597672421" Received: from unknown (HELO localhost.localdomain) ([10.239.252.99]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Dec 2022 01:04:42 -0800 From: Lingli Chen To: dts@dpdk.org Cc: zhiminx.huang@intel.com, Lingli Chen Subject: [dts][PATCH V1 1/2] test_plans/ddp_*: remove flow_director_filter raw pkt test case Date: Fri, 9 Dec 2022 03:07:56 -0500 Message-Id: <20221209080757.2372-1-linglix.chen@intel.com> X-Mailer: git-send-email 2.17.1 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 According to dpdk commit 5007ac1318 (ethdev: remove deprecated Flow Director configuration) remove flow_director_filter raw pkt test case. Signed-off-by: Lingli Chen --- test_plans/ddp_gtp_qregion_test_plan.rst | 413 ------------------- test_plans/ddp_ppp_l2tp_test_plan.rst | 482 ----------------------- 2 files changed, 895 deletions(-) diff --git a/test_plans/ddp_gtp_qregion_test_plan.rst b/test_plans/ddp_gtp_qregion_test_plan.rst index bc3b9b68..362d44d5 100644 --- a/test_plans/ddp_gtp_qregion_test_plan.rst +++ b/test_plans/ddp_gtp_qregion_test_plan.rst @@ -668,419 +668,6 @@ Test Case: Inner IPv6 dst controls GTP-U IPv6 queue in queue region IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/UDP()/Raw('x'*20) - -Test Case: Flow director for GTP IPv4 with default fd input set -=============================================================== -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update GTP IPv4 flow type id 26 to pctype id 22 mapping item:: - - testpmd> port config 0 pctype mapping update 22 26 - -3. Default flow director input set is teid, start testpmd, set fwd rxonly, - enable output print - -4. Send GTP IPv4 packets, check to receive packet from queue 0:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - -5. Use scapy to generate GTP IPv4 raw packet test_gtp.raw, source/destination - address and port should be swapped in the template and traffic packets:: - - a=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(dst="1.1.1.1", - src="2.2.2.2")/UDP(dport=40, sport=50)/Raw('x'*20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 1~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 26 fwd queue 36 - fd_id 1 packet test_gtp.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - -10. Send non-matched inner src IPv4/dst IPv4/sport/dport packets, check to - receive packets from queue 36:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(src="1.1.1.2", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(src="1.1.1.1", - dst="2.2.2.3")/UDP(sport=40, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=41, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=51)/Raw('x'*20) - -11. Send non-matched teid GTP IPv4 packets, check to receive packet from - queue 0:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header(teid=0xff)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - - -Test Case: Flow director for GTP IPv4 according to inner dst IPv4 -================================================================= -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update GTP IPv4 flow type id 26 to pctype id 22 mapping item:: - - testpmd> port config 0 pctype mapping update 22 26 - -3. Reset GTP IPv4 flow director configure:: - - testpmd> port config 0 pctype 22 fdir_inset clear all - -4. Inner dst IPv4 words are 27 and 28, enable flow director input set for - them:: - - testpmd> port config 0 pctype 22 fdir_inset set field 27 - testpmd> port config 0 pctype 22 fdir_inset set field 28 - -5. Start testpmd, set fwd rxonly, enable output print - -6. Send GTP IPv4 packets, check to receive packet from queue 0:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - -7. Use scapy to generate GTP IPv4 raw packet test_gtp.raw, source/destination - address and port should be swapped in the template and traffic packets:: - - a=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(dst="1.1.1.1", - src="2.2.2.2")/UDP(dport=40, sport=50)/Raw('x'*20) - -8. Setup raw flow type filter for flow director, configured queue is random - queue between 1~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 26 fwd queue 36 - fd_id 1 packet test_gtp.raw - -9. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - -10. Send non-matched inner src IPv4/sport/dport packets, check to receive - packets from queue 36:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.2", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=41, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=51)/Raw('x'*20) - -11. Send non-matched inner dst IPv4 packets, check to receive packet from - queue 0:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.3")/UDP(sport=40, dport=50)/Raw('x'*20) - - -Test Case: Flow director for GTP IPv4 according to inner src IPv4 -================================================================= -1. Check flow ptype to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update GTP IPv4 flow type id 26 to pctype id 22 mapping item:: - - testpmd> port config 0 pctype mapping update 22 26 - -3. Reset GTP IPv4 flow director configure:: - - testpmd> port config 0 pctype 22 fdir_inset clear all - -4. Inner src IPv4 words are 15 and 16, enable flow director input set for - them:: - - testpmd> port config 0 pctype 22 fdir_inset set field 15 - testpmd> port config 0 pctype 22 fdir_inset set field 16 - -5. Start testpmd, set fwd rxonly, enable output print - -6. Send GTP IPv4 packets, check to receive packet from queue 0:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - -7. Use scapy to generate GTP IPv4 raw packet test_gtp.raw, source/destination - address and port should be swapped in the template and traffic packets:: - - a=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(dst="1.1.1.1", - src="2.2.2.2")/UDP(dport=40, sport=50)/Raw('x'*20) - -8. Setup raw flow type filter for flow director, configured queue is random - queue between 1~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 26 fwd queue 36 - fd_id 1 packet test_gtp.raw - -9. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - -10. Send non-matched inner dst IPv4/sport/dport packets, check to receive - packets from queue 36:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.3")/UDP(sport=40, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=41, dport=50)/Raw('x'*20) - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=40, dport=51)/Raw('x'*20) - -11. Send non-matched inner src IPv4 packets, check to receive packet - from queue 0:: - - p=Ether()/IPv6()/UDP(dport=2152)/GTP_U_Header()/IP(src="1.1.1.2", - dst="2.2.2.2")/UDP(sport=40, dport=50)/Raw('x'*20) - - -Test Case: Flow director for GTP IPv6 with default fd input set -=============================================================== -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update GTP IPv6 flow type id 23 to pctype id 23 mapping item:: - - testpmd> port config 0 pctype mapping update 23 23 - -3. Default flow director input set is teid, start testpmd, set fwd rxonly, - enable output print - -4. Send GTP IPv6 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - -5. Use scapy to generate GTP IPv6 raw packet test_gtp.raw, source/destination - address and port should be swapped in the template and traffic packets:: - - a=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(dst="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - src="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(dport=40,sport=50)/Raw('x'*20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 1~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 23 fwd queue 36 - fd_id 1 packet test_gtp.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - -8. Send non-matched inner src IPv6/dst IPv6/sport/dport packets, check to - receive packets from queue 36:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0002")/ - UDP(sport=40,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=41,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=51)/Raw('x'*20) - -11. Send non-matched teid packets, check to receive packet - from queue 0:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xff)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - - -Test Case: Flow director for GTP IPv6 according to inner dst IPv6 -================================================================= -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update GTP IPv6 flow type id 23 to pctype id 23 mapping item:: - - testpmd> port config 0 pctype mapping update 23 23 - -3. Reset GTP IPv6 flow director configure:: - - testpmd> port config 0 pctype 23 fdir_inset clear all - -4. Inner dst IPv6 words are 21~28 , enable flow director input set for them:: - - testpmd> port config 0 pctype 23 fdir_inset set field 21 - testpmd> port config 0 pctype 23 fdir_inset set field 22 - testpmd> port config 0 pctype 23 fdir_inset set field 23 - testpmd> port config 0 pctype 23 fdir_inset set field 24 - testpmd> port config 0 pctype 23 fdir_inset set field 25 - testpmd> port config 0 pctype 23 fdir_inset set field 26 - testpmd> port config 0 pctype 23 fdir_inset set field 27 - testpmd> port config 0 pctype 23 fdir_inset set field 28 - -5. Start testpmd, set fwd rxonly, enable output print - -6. Send GTP IPv6 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - -7. Use scapy to generate GTP IPv6 raw packet test_gtp.raw, source/destination - address and port should be swapped in the template and traffic packets:: - - a=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(dst="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - src="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(dport=40,sport=50)/Raw('x'*20) - -8. Setup raw flow type filter for flow director, configured queue is random - queue between 1~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 23 fwd queue 36 - fd_id 1 packet test_gtp.raw - -9. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - -10. Send non-matched inner src IPv6/sport/dport packets, check to receive - packets from queue 36:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=41,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=51)/Raw('x'*20) - -11. Send non-matched inner dst IPv6 packets, check to receive packet - from queue 0:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0002")/ - UDP(sport=40,dport=50)/Raw('x'*20) - - -Test Case: Flow director for GTP IPv6 according to inner src IPv6 -================================================================= -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update GTP IPv6 flow type id 23 to pctype id 23 mapping item:: - - testpmd> port config 0 pctype mapping update 23 23 - -3. Reset GTP IPv6 flow director configure:: - - testpmd> port config 0 pctype 23 fdir_inset clear all - -4. Inner src IPv6 words are 13~20, enable flow director input set for them:: - - testpmd> port config 0 pctype 23 fdir_inset set field 13 - testpmd> port config 0 pctype 23 fdir_inset set field 14 - testpmd> port config 0 pctype 23 fdir_inset set field 15 - testpmd> port config 0 pctype 23 fdir_inset set field 16 - testpmd> port config 0 pctype 23 fdir_inset set field 17 - testpmd> port config 0 pctype 23 fdir_inset set field 18 - testpmd> port config 0 pctype 23 fdir_inset set field 19 - testpmd> port config 0 pctype 23 fdir_inset set field 20 - -5. Start testpmd, set fwd rxonly, enable output print - -6. Send GTP IPv6 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - -7. Use scapy to generate GTP IPv6 raw packet test_gtp.raw, source/destination - address and port should be swapped in the template and traffic packets:: - - a=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(dst="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - src="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(dport=40,sport=50)/Raw('x'*20) - -8. Setup raw flow type filter for flow director, configured queue is random - queue between 1~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 23 fwd queue 36 - fd_id 1 packet test_gtp.raw - -9. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - -10. Send non-matched inner dst IPv6/sport/dport packets, check to receive - packets from queue 36:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0002")/ - UDP(sport=40,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=41,dport=50)/Raw('x'*20) - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=51)/Raw('x'*20) - -11. Send non-matched inner src IPv6 packets, check to receive packet from - queue 0:: - - p=Ether()/IP()/UDP(dport=2152)/GTP_U_Header(teid=0xfe)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=40,dport=50)/Raw('x'*20) - - Test Case: Outer 64 bit prefix dst controls GTP-C queue ======================================================= 1. Check flow type to pctype mapping:: diff --git a/test_plans/ddp_ppp_l2tp_test_plan.rst b/test_plans/ddp_ppp_l2tp_test_plan.rst index 35b0d805..e1cebdbc 100644 --- a/test_plans/ddp_ppp_l2tp_test_plan.rst +++ b/test_plans/ddp_ppp_l2tp_test_plan.rst @@ -620,485 +620,3 @@ Test Case: RSS for PPPoL2TP IPv4 according to dport p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4001, dport=8000)/Raw('x' * 20) - -Test Case: Flow director for PPPoE with default input set -========================================================= - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoE PAY flow type id 30 to pcytpe id 17 mapping item:: - - testpmd> port config 0 pctype mapping update 17 30 - -3. Start testpmd, set fwd rxonly, enable output print - -4. Send PPPoE packets, check to receive packet from queue 0:: - - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:01")/ - PPPoE(sessionid=0x7) - -5. Use scapy to generate PPPoE raw packet test_pppoe.raw, - source/destination address should be swapped in the template - and traffic packets:: - - a=Ether(dst="3C:FD:FE:A3:A0:01", src="4C:FD:FE:A3:A0:01")/ - PPPoE(sessionid=0x7) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 30 fwd queue 36 fd_id 1 - packet test_pppoe.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:01")/ - PPPoE(sessionid=0x7) - -8. Default flow director input set are MAC SA and session ID, send non-matched - SA, sessionid, check to receive packet from queue 0:: - - p=Ether(src="3C:FD:FE:A3:A0:02", dst="4C:FD:FE:A3:A0:01")/ - PPPoE(sessionid=0x7) - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:01")/ - PPPoE(sessionid=0x8) - -9. Send non-matched MAC DA, check to receive packet from queue 36:: - - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:02")/ - PPPoE(sessionid=0x7) - -Test Case: Flow director for PPPoE IPv4 with default input set -============================================================== - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoE IPv4 flow type id 28 to pcytpe id 15 mapping item:: - - testpmd> port config 0 pctype mapping update 15 28 - -3. Start testpmd, set fwd rxonly, enable output print - -4. Send PPPoE IPv4 packets, check to receive packet from queue 0:: - - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=4000,dport=8000)/Raw('x' * 20) - -5. Use scapy to generate PPPoE IPv4 raw packet test_pppoe.raw, - source/destination address and port should be swapped in the template - and traffic packets:: - - a=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(dst="1.1.1.1", - src="2.2.2.2")/UDP(dport=4000,sport=8000)/Raw('x' * 20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 28 fwd queue 36 fd_id - 1 packet test_pppoe.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=4000,dport=8000)/Raw('x' * 20) - -8. Send non-matched inner src IP, inner dst IP, sport, dport packets, check to - receive packet from queue 0:: - - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(src="1.1.1.2", - dst="2.2.2.2")/UDP(sport=4000,dport=8000)/Raw('x' * 20) - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(src="1.1.1.1", - dst="2.2.2.3")/UDP(sport=4000,dport=8000)/Raw('x' * 20) - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=4001,dport=8000)/Raw('x' * 20) - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x21)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=4000,dport=8001)/Raw('x' * 20) - -9. Send non-matched sessionid packets, check to receive packet from queue 36:: - - p=Ether()/PPPoE(sessionid=0x8)/PPP(proto=0x21)/IP(src="1.1.1.1", - dst="2.2.2.2")/UDP(sport=4000,dport=8000)/Raw('x' * 20) - -Test Case: Flow director for PPPoE IPv6 with default input set -============================================================== - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoE IPv6 flow type id 29 to pcytpe id 16 mapping item:: - - testpmd> port config 0 pctype mapping update 16 29 - -3. Start testpmd, set fwd rxonly, enable output print - -4. Send PPPoE IPv6 packets, check to receive packet from queue 0:: - - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000,dport=8000)/Raw('x' * 20) - -5. Use scapy to generate PPPoE IPv4 raw packet test_pppoe.raw, - source/destination address and port should be swapped in the template - and traffic packets:: - - a=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(dst="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - src="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(dport=4000,sport=8000)/Raw('x' * 20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 29 fwd queue 36 fd_id 1 - packet test_pppoe.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000,dport=8000)/Raw('x' * 20) - -8. Send non-matched inner src IPv6, inner dst IPv6, sport, dport packets, - check to receive packet from queue 0:: - - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000,dport=8000)/Raw('x' * 20) - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0002")/ - UDP(sport=4000,dport=8000)/Raw('x' * 20) - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4001,dport=8000)/Raw('x' * 20) - p=Ether()/PPPoE(sessionid=0x7)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000,dport=8001)/Raw('x' * 20) - -9. Send non-matched sessionid packets, check to receive packet from queue 36:: - - p=Ether()/PPPoE(sessionid=0x8)/PPP(proto=0x57)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000,dport=8000)/Raw('x' * 20) - -Test Case: Flow director for L2TPv2 PAY with default input set -============================================================== - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update L2TP PAY flow type id 26 to pcytpe id 21 mapping item:: - - testpmd> port config 0 pctype mapping update 21 26 - -3. Start testpmd, set fwd rxonly, enable output print - -4. Send L2TP PAY packets, check to receive packet from queue 0:: - - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:01")/IP()/ - UDP(dport=1701, sport=1701)/L2TP(sessionid=0x7)/Raw('x' * 20) - -5. Use scapy to generate L2TP PAY raw packet test_l2tp.raw, - source/destination address should be swapped in the template - and traffic packets:: - - a=Ether(dst="3C:FD:FE:A3:A0:01", src="4C:FD:FE:A3:A0:01")/IP()/ - UDP(dport=1701, sport=1701)/L2TP(sessionid=0x7)/Raw('x' * 20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 26 fwd queue 36 fd_id 1 - packet test_l2tp.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:01")/IP()/ - UDP(dport=1701, sport=1701)/L2TP(sessionid=0x7)/Raw('x' * 20) - -8. Default flow director input set are MAC SA and session ID, send non-matched - SA, sessionid, check to receive packet from queue 0:: - - p=Ether(src="3C:FD:FE:A3:A0:02", dst="4C:FD:FE:A3:A0:01")/IP()/ - UDP(dport=1701, sport=1701)/L2TP(sessionid=0x7)/Raw('x' * 20) - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:01")/IP()/ - UDP(dport=1701, sport=1701)/L2TP(sessionid=0x8)/Raw('x' * 20) - -9. Send non-matched MAC DA, check to receive packet from queue 36:: - - p=Ether(src="3C:FD:FE:A3:A0:01", dst="4C:FD:FE:A3:A0:02")/IP()/ - UDP(dport=1701, sport=1701)/L2TP(sessionid=0x7)/Raw('x' * 20) - -Test Case: Flow director for PPPoL2TP IPv4 with default input set -================================================================= - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoL2TP IPv4 flow type id 23 to pcytpe id 18 mapping item:: - - testpmd> port config 0 pctype mapping update 18 23 - -3. Start testpmd, set fwd rxonly, enable output print - -4. Send PPPoL2TP IPv4 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - -5. Use scapy to generate PPPoL2TP IPv4 raw packet test_pppol2tp.raw, - source/destination address and port should be swapped in the template - and traffic packets:: - - a=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(dst="1.1.1.1",src="2.2.2.2")/UDP(dport=4000, sport=8000)/Raw('x' * 20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 23 fwd queue 36 fd_id 1 - packet test_pppol2tp.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - -8. Send non-matched inner src IP, inner dst IP, sport, dport packets, check to - receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.2",dst="2.2.2.2")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.3")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4001, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4000, dport=8001)/Raw('x' * 20) - -Test Case: Flow director for PPPoL2TP IPv6 with default input set -================================================================= - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoL2TP IPv6 flow type id 24 to pcytpe id 19 mapping item:: - - testpmd> port config 0 pctype mapping update 19 24 - -3. Start testpmd, set fwd rxonly, enable output print - -4. Send PPPoL2TP IPv6 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - -5. Use scapy to generate PPPoL2TP IPv6 raw packet test_pppol2tp.raw, - source/destination address and port should be swapped in the template - and traffic packets:: - - a=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(dst="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - src="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(dport=4000, sport=8000)/Raw('x' * 20) - -6. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 24 fwd queue 36 - fd_id 1 packet test_pppol2tp.raw - -7. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - -8. Send non-matched inner src IPv6, inner dst IPv6, sport, dport packets, - check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0002")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4001, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8001)/Raw('x' * 20) - -Test Case: Flow director for PPPoL2TP IPv4 according to inner destination IPv4 -============================================================================== - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoL2TP IPv4 flow type id 23 to pcytpe id 18 mapping item:: - - testpmd> port config 0 pctype mapping update 18 23 - -3. Reset PPPoL2TP IPv4 flow director input set configuration:: - - testpmd> port config 0 pctype 18 fdir_inset clear all - -4. Inner dst IP words are 27 and 28, enable flow director input set - for them:: - - testpmd> port config 0 pctype 18 fdir_inset set field 27 - testpmd> port config 0 pctype 18 fdir_inset set field 28 - -5. Start testpmd, set fwd rxonly, enable output print - -6. Send PPPoL2TP IPv4 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - -7. Use scapy to generate PPPoL2TP IPv4 raw packet test_pppol2tp.raw, - source/destination address and port should be swapped in the template - and traffic packets:: - - a=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(dst="1.1.1.1",src="2.2.2.2")/UDP(dport=4000, sport=8000)/Raw('x' * 20) - -8. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 23 fwd queue 36 - fd_id 1 packet test_pppol2tp.raw - -9. Send matched swapped traffic packet, check to receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - -10. Send matched inner dst IP, but non-matched inner src IP, sport, - dport packets, check to receive packet from queue 36:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.2",dst="2.2.2.2")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4001, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.2")/UDP(sport=4000, dport=8001)/Raw('x' * 20) - -11. Send non-matched inner dst IP packets, check to receive packet from - queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0021)/ - IP(src="1.1.1.1",dst="2.2.2.3")/UDP(sport=4000, dport=8000)/Raw('x' * 20) - -Test Case: Flow director for PPPoL2TP IPv6 according to inner destination IPv6 -============================================================================== - -1. Check flow type to pctype mapping:: - - testpmd> show port 0 pctype mapping - -2. Update PPPoL2TP IPv6 flow type id 24 to pcytpe id 19 mapping item:: - - testpmd> port config 0 pctype mapping update 19 24 - -3. Reset PPPoL2TP IPv6 flow director input set configuration:: - - testpmd> port config 0 pctype 19 fdir_inset clear all - -4. Inner dst IPv6 words are 21~28, enable flow director input set - for them:: - - testpmd> port config 0 pctype 19 fdir_inset set field 21 - testpmd> port config 0 pctype 19 fdir_inset set field 22 - testpmd> port config 0 pctype 19 fdir_inset set field 23 - testpmd> port config 0 pctype 19 fdir_inset set field 24 - testpmd> port config 0 pctype 19 fdir_inset set field 25 - testpmd> port config 0 pctype 19 fdir_inset set field 26 - testpmd> port config 0 pctype 19 fdir_inset set field 27 - testpmd> port config 0 pctype 19 fdir_inset set field 28 - -5. Start testpmd, set fwd rxonly, enable output print - -6. Send PPPoL2TP IPv6 packets, check to receive packet from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - -7. Use scapy to generate PPPoL2TP IPv6 raw packet test_pppol2tp.raw, - source/destination address and port should be swapped in the template - and traffic packets:: - - a=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(dst="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - src="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(dport=4000, sport=8000)/Raw('x' * 20) - -8. Setup raw flow type filter for flow director, configured queue is random - queue between 0~63, such as 36:: - - testpmd> flow_director_filter 0 mode raw add flow 24 fwd queue 36 - fd_id 1 packet test_pppol2tp.raw - -9. Send matched swapped traffic packet, check receive packet from - configured queue 36:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - -10. Send matched inner dst IPv6, but non-matched inner src IPv6, - sport, dport packets, check to receive packet from queue 36:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0002", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) - p=(Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4001, dport=8000)/Raw('x' * 20) - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0001")/ - UDP(sport=4000, dport=8001)/Raw('x' * 20) - -11. Send non-matched inner dst IPv6 packets, check to receive packet - from queue 0:: - - p=Ether()/IP()/UDP(dport=1701, sport=1701)/PPP_L2TP(proto=0x0057)/ - IPv6(src="1001:0db8:85a3:0000:0000:8a2e:0370:0001", - dst="2001:0db8:85a3:0000:0000:8a2e:0370:0002")/ - UDP(sport=4000, dport=8000)/Raw('x' * 20) From patchwork Fri Dec 9 08:07:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lingli Chen X-Patchwork-Id: 120696 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7787FA034C; Fri, 9 Dec 2022 10:04:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 70B28410FB; Fri, 9 Dec 2022 10:04:48 +0100 (CET) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 9CC0740E03 for ; Fri, 9 Dec 2022 10:04:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670576686; x=1702112686; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=N2m9hHBR1Dz8+fh5qWUWF+JjdBgctIW2xrtXxdPU13E=; b=OVB5iVMKJf9X1glrggwuyT1M5+ZlYTFUXhZ6PIBcxckFBgUd8UBpCFfW r04SE0EeTetcGWhNK9e02cQxczWowvL1kSqvCriTBh4d1Xml3U/d7nH+U 5kVODSVEJWfLn4ApqoJhjf9HUd+11Uir9UKaHNnF4vkx3e9iViPeZJkjM H9+S2FQ4Bu51+xEzTNZJ8JxB09NScSLfEIxv6EZNUBHtyaUTiQssdKv96 wZGO1nfkXu3mepUOCkJG8adBJ1MD9PON6wjACCF+73thE/EqfefgSH0qf KJYudDKSWz65XgSB08j0NUx58vdzoXEJjmneHZp2iT8DAiuUGz6e7bIZd w==; X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="379631196" X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; d="scan'208";a="379631196" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Dec 2022 01:04:46 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="597672424" X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; d="scan'208";a="597672424" Received: from unknown (HELO localhost.localdomain) ([10.239.252.99]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Dec 2022 01:04:44 -0800 From: Lingli Chen To: dts@dpdk.org Cc: zhiminx.huang@intel.com, Lingli Chen Subject: [dts][PATCH V1 2/2] tests/ddp_*: remove flow_director_filter raw pkt test case Date: Fri, 9 Dec 2022 03:07:57 -0500 Message-Id: <20221209080757.2372-2-linglix.chen@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20221209080757.2372-1-linglix.chen@intel.com> References: <20221209080757.2372-1-linglix.chen@intel.com> 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 According to dpdk commit 5007ac1318 (ethdev: remove deprecated Flow Director configuration) remove flow_director_filter raw pkt test case. Signed-off-by: Lingli Chen --- tests/TestSuite_ddp_gtp_qregion.py | 138 ------------------------- tests/TestSuite_ddp_ppp_l2tp.py | 160 ----------------------------- 2 files changed, 298 deletions(-) diff --git a/tests/TestSuite_ddp_gtp_qregion.py b/tests/TestSuite_ddp_gtp_qregion.py index a3dea1b2..7d6508b6 100644 --- a/tests/TestSuite_ddp_gtp_qregion.py +++ b/tests/TestSuite_ddp_gtp_qregion.py @@ -288,62 +288,6 @@ class TestDdpGtpQregion(TestCase): "Failed update flow type to pctype mapping!!!", ) - def run_fd_test(self, crlwords, flowtype, pctype, keywords, qchecks): - """ - Use dynamic flowtype/pctype mapping, use default or dynamic change - control words to set flow director input configuration for new - protocol, setup raw flow type filter for flow director, check flow - director could work. - crlwords: control words of keyword - flowtype: define flow type 23~63 values for GTP packet types as test - plan table. - pctype: profile defines below 10~25 pctypes for GTP packet types. - keywords: keywords have Session ID, S-Port, D-Port, IP SA, IP DA and - etc. - qchecks: define sameq and difq. If change keywords, direct packets to - queue 0, otherwise direct packets to same queue. - """ - - self.flowtype_pctype_mapping(flowtype, pctype) - if crlwords is not None: - self.dut_testpmd.execute_cmd("port stop all") - time.sleep(1) - self.dut_testpmd.execute_cmd( - "port config 0 pctype %s fdir_inset clear all" % pctype - ) - for word in crlwords: - self.dut_testpmd.execute_cmd( - "port config 0 pctype %s fdir_inset set field %s" % (pctype, word) - ) - self.dut_testpmd.execute_cmd("port start all") - self.dut_testpmd.execute_cmd("set fwd rxonly") - self.dut_testpmd.execute_cmd("set verbose 1") - self.dut_testpmd.execute_cmd("start") - self.dut_testpmd.wait_link_status_up(self.dut_ports[0]) - qnum = self.send_verify_fd(flowtype, keywords, "word_opt") - self.verify(qnum == 0, "Receive packet from wrong queue!!!") - self.raw_packet_generate(flowtype) - queue = random.randint(1, self.PF_QUEUE - 1) - self.dut_testpmd.execute_cmd( - "flow_director_filter 0 mode raw add flow %d fwd queue %d \ - fd_id 1 packet /tmp/test_gtp.raw" - % (flowtype, queue) - ) - qnum = self.send_verify_fd(flowtype, keywords, "word_opt") - qdef = qnum - self.verify(qnum == queue, "Receive packet from wrong queue!!!") - for word, chk in zip(keywords, qchecks): - qnum = self.send_verify_fd(flowtype, word, "chg_sufword_opt") - if qnum == qdef: - result = "sameq" - elif qnum == 0: - result = "difq" - self.verify( - result == chk, - "Faild to verify flow director when \ - key word change!!!", - ) - def run_gtp_test(self, crlwords, flowtype, pctype, qmin, qmax, keyword): """ Use dynamic flowtype/pctype mapping, queue region, dynamic change @@ -523,88 +467,6 @@ class TestDdpGtpQregion(TestCase): crlwords = list(range(21, 29)) self.run_gtp_test(crlwords, 23, 23, 10, 25, "dst_ipv6") - def test_fd_gtpu_ipv4(self): - """ - GTP is supported by NVM with profile updated. Download profile then - set queue region/flowtype/pctype mapping, default flow director input - set configuration is teid, setup raw flow type filter for flow - director check flow director could work when sending matched teid - packets to configured queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_ip", "dst_ip", "sport", "dport", "teid"] - qchecks = ["sameq", "sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 26, 22, keywords, qchecks) - - def test_fd_gtpu_ipv4_dstip(self): - """ - GTP is supported by NVM with profile updated. Download profile then - set queue region/flowtype/pctype mapping, dynamic to change flow - director input set configuration for dst IPv4 words 27~28, setup - raw flow type filter for flow director, check flow director could - work when sending matched dst IPv4 packets to configured queue, - otherwise direct packets to queue 0. - """ - crlwords = list(range(27, 29)) - keywords = ["src_ip", "sport", "dport", "dst_ip"] - qchecks = ["sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 26, 22, keywords, qchecks) - - def test_fd_gtpu_ipv4_srcip(self): - """ - GTP is supported by NVM with profile updated. Download profile then - set queue region/flowtype/pctype mapping, dynamic to change flow - director input set configuration for src IPv4 words 15~16, setup - raw flow type filter for flow director, check flow director could - work when sending matched src IPv4 packets to configured queue, - otherwise direct packets to queue 0. - """ - crlwords = list(range(15, 17)) - keywords = ["dst_ip", "sport", "dport", "src_ip"] - qchecks = ["sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 26, 22, keywords, qchecks) - - def test_fd_gtpu_ipv6(self): - """ - GTP is supported by NVM with profile updated. Download profile then - set queue region/flowtype/pctype mapping, default flow director input - set configuration is teid, setup raw flow type filter for flow - director check flow director could work when sending matched teid - packets to configured queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_ipv6", "dst_ipv6", "sport", "dport", "teid"] - qchecks = ["sameq", "sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 23, 23, keywords, qchecks) - - def test_fd_gtpu_ipv6_dstipv6(self): - """ - GTP is supported by NVM with profile updated. Download profile then - set queue region/flowtype/pctype mapping, dynamic to change flow - director input set configuration for dst IPv6 words 21~28, setup - raw flow type filter for flow director, check flow director could - work when sending matched dst IPv6 packets to configured queue, - otherwise direct packets to queue 0. - """ - crlwords = list(range(21, 29)) - keywords = ["src_ipv6", "sport", "dport", "teid", "dst_ipv6"] - qchecks = ["sameq", "sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 23, 23, keywords, qchecks) - - def test_fd_gtpu_ipv6_srcipv6(self): - """ - GTP is supported by NVM with profile updated. Download profile then - set queue region/flowtype/pctype mapping, dynamic to change flow - director input set configuration for src IPv6 words 13~20, setup - raw flow type filter for flow director, check flow director could - work when sending matched src IPv6 packets to configured queue, - otherwise direct packets to queue 0. - """ - crlwords = list(range(13, 21)) - keywords = ["dst_ipv6", "sport", "dport", "teid", "src_ipv6"] - qchecks = ["sameq", "sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 23, 23, keywords, qchecks) - def test_outer_64pre_dst_contrl_gtpcq(self): """ GTP is supported by NVM with profile updated. Download profile then diff --git a/tests/TestSuite_ddp_ppp_l2tp.py b/tests/TestSuite_ddp_ppp_l2tp.py index c0890a48..b0468706 100644 --- a/tests/TestSuite_ddp_ppp_l2tp.py +++ b/tests/TestSuite_ddp_ppp_l2tp.py @@ -295,60 +295,6 @@ class TestDdpPppL2tp(TestCase): result = "difq" self.verify(result == chk, "Faild to verify RSS when key word change!!!") - def run_fd_test(self, crlwords, flowtype, pctype, keywords, qchecks): - """ - Use dynamic flowtype/pctype mapping, use default or dynamic change - control words to set flow director input configuration for new - protocol, setup raw flow type filter for flow director, check flow - director could work. - crlwords: control words of keyword - flowtype: define flow type 23~63 values for PPPoE and PPPoL2TPv2 packet - types as test plan table. - pctype: profile defines below 14~21 pctypes for PPPoE and PPPoL2TPv2 - packet types. - keywords: keywords have Session ID, S-Port, D-Port, IP SA, IP DA and - etc. - qchecks: define sameq and difq. If change keywords, direct packets to - queue 0, otherwise direct packets to same queue. - """ - - self.pctype_flowtype_mapping(flowtype, pctype) - if crlwords is not None: - self.dut_testpmd.execute_cmd("port stop all") - time.sleep(1) - self.dut_testpmd.execute_cmd( - "port config 0 pctype %s fdir_inset clear all" % pctype - ) - for word in crlwords: - self.dut_testpmd.execute_cmd( - "port config 0 pctype %s fdir_inset set field %s" % (pctype, word) - ) - self.dut_testpmd.execute_cmd("port start all") - self.dut_testpmd.execute_cmd("start") - qnum = self.send_and_verify(flowtype, "def", "fd") - self.verify(qnum == 0, "Receive packet from wrong queue!!!") - self.raw_packet_generate(flowtype) - queue = random.randint(1, self.PF_QUEUE - 1) - self.dut_testpmd.execute_cmd( - "flow_director_filter 0 mode raw add flow %d fwd queue %d \ - fd_id 1 packet /tmp/test.raw" - % (flowtype, queue) - ) - qnum = self.send_and_verify(flowtype, "def", "fd") - qdef = qnum - self.verify(qnum == queue, "Receive packet from wrong queue!!!") - for word, chk in zip(keywords, qchecks): - qnum = self.send_and_verify(flowtype, word, "fd") - if qnum == qdef: - result = "sameq" - elif qnum == 0: - result = "difq" - self.verify( - result == chk, - "Faild to verify flow director when \ - key word change!!!", - ) - def test_rss_pppoe(self): """ PPPoE is supported by NVM with profile updated. Download profile then @@ -481,112 +427,6 @@ class TestDdpPppL2tp(TestCase): qchecks = ["difq", "sameq"] self.run_rss_test(crlwords, 23, 18, keywords, qchecks) - def test_fd_pppoe(self): - """ - PPPoE is supported by NVM with profile updated. Download profile then - set flowtype/pctype mapping, default flow director input set are MAC - SA, session ID, setup raw flow type filter for flow director, check - flow director could work when sending matched packets to configured - queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_mac", "session_id", "dst_mac"] - qchecks = ["difq", "difq", "sameq"] - self.run_fd_test(crlwords, 30, 17, keywords, qchecks) - - def test_fd_l2tp(self): - """ - L2TPv2 PAY is supported by NVM with profile updated. Download profile - then set flowtype/pctype mapping, default flow director input set are - MAC SA, session ID, setup raw flow type filter for flow director, check - flow director could work when sending matched packets to configured - queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_mac", "session_id", "dst_mac"] - qchecks = ["difq", "difq", "sameq"] - self.run_fd_test(crlwords, 26, 21, keywords, qchecks) - - def test_fd_pppoe_ipv4(self): - """ - PPPoE IPv4 is supported by NVM with profile updated. Download - profile then set flowtype/pctype mapping, default flow director input - set are IPv4 SA, IPv4 DA, S-Port, D-Port, setup raw flow type filter - for flow director, check flow director could work when sending matched - packets to configured queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_ip", "dst_ip", "sport", "dport", "session_id"] - qchecks = ["difq", "difq", "difq", "difq", "sameq"] - self.run_fd_test(crlwords, 28, 15, keywords, qchecks) - - def test_fd_pppoe_ipv6(self): - """ - PPPoE IPv6 is supported by NVM with profile updated. Download - profile then set flowtype/pctype mapping, default flow director input - set are IPv6 SA, IPv6 DA, S-Port, D-Port, setup raw flow type filter - for flow director, check flow director could work when sending matched - packets to configured queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_ipv6", "dst_ipv6", "sport", "dport", "session_id"] - qchecks = ["difq", "difq", "difq", "difq", "sameq"] - self.run_fd_test(crlwords, 29, 16, keywords, qchecks) - - def test_fd_pppol2tp_ipv4(self): - """ - PPPoL2TPv2 IPv4 is supported by NVM with profile updated. Download - profile then set flowtype/pctype mapping, default flow director input - set are IPv4 SA, IPv4 DA, S-Port, D-Port, setup raw flow type filter - for flow director, check flow director could work when sending matched - packets to configured queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_ip", "dst_ip", "sport", "dport"] - qchecks = ["difq", "difq", "difq", "difq"] - self.run_fd_test(crlwords, 23, 18, keywords, qchecks) - - def test_fd_pppol2tp_ipv6(self): - """ - PPPoL2TPv2 IPv6 is supported by NVM with profile updated. Download - profile then set flowtype/pctype mapping, default flow director input - set are IPv6 SA, IPv6 DA, S-Port, D-Port, setup raw flow type filter - for flow director, check flow director could work when sending matched - packets to configured queue, otherwise direct packets to queue 0. - """ - crlwords = None - keywords = ["src_ipv6", "dst_ipv6", "sport", "dport"] - qchecks = ["difq", "difq", "difq", "difq"] - self.run_fd_test(crlwords, 24, 19, keywords, qchecks) - - def test_fd_pppol2tp_ipv4_dstip(self): - """ - PPPoL2TPv2 IPv4 is supported by NVM with profile updated. Download - profile then set flowtype/pctype mapping, dynamic to change flow - director input set configuration for IPv4 DA words 27~28, setup - raw flow type filter for flow director, check flow director could - work when sending matched IPv4 DA packets to configured queue, - otherwise direct packets to queue 0. - """ - crlwords = list(range(27, 29)) - keywords = ["src_ip", "sport", "dport", "dst_ip"] - qchecks = ["sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 23, 18, keywords, qchecks) - - def test_fd_pppol2tp_ipv6_dstipv6(self): - """ - PPPoL2TPv2 IPv6 is supported by NVM with profile updated. Download - profile then set flowtype/pctype mapping, dynamic to change flow - director input set configuration for IPv6 DA words 21~28, setup - raw flow type filter for flow director, check flow director could - work when sending matched IPv6 DA packets to configured queue, - otherwise direct packets to queue 0. - """ - crlwords = list(range(21, 29)) - keywords = ["src_ipv6", "sport", "dport", "dst_ipv6"] - qchecks = ["sameq", "sameq", "sameq", "difq"] - self.run_fd_test(crlwords, 24, 19, keywords, qchecks) - def tear_down(self): self.dut_testpmd.execute_cmd("stop") out = self.dut_testpmd.execute_cmd("ddp get list 0")