From patchwork Tue May 24 08:19:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 111705 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 4187DA04FF; Tue, 24 May 2022 10:19:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A88142685; Tue, 24 May 2022 10:19:26 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 129C5400D6 for ; Tue, 24 May 2022 10:19:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653380364; x=1684916364; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=W84PiLUYyCkeRtvbcHYzKNyxDZZXPd4u6UZl/HNgvBQ=; b=LZcFWYNEcc+0vMMUkq8e9rH4spAqD5p0toS+JUhA9/ZyfFHh4V2IUMe7 0VA8j5vbrOFfcWmdf1cwe9hn5YNCJT0S0T0x0dWjJa3ymce9/oSHLdtVS w5wJhp0l/4hFKWAG47OnljX4LxKsa17huWjhUXy805BzbBar9Y4BzGO3T qB0roLKpA1qfqYimXD9jpYKjEjxrwgTQom4cP0gsugFAB0Uw1b8mVgnny 0wYlbk/uogiU4lnKvWja3pUe0Yw7jTMEvNBmSIacHG0wH6QzhA20S64Hk d7iEm+8cKTWCWnN7LJiQnq62wniQcInKpowdkADPW4/yVOgrm/Mk6tpXy w==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="255531534" X-IronPort-AV: E=Sophos;i="5.91,248,1647327600"; d="scan'208";a="255531534" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 01:19:23 -0700 X-IronPort-AV: E=Sophos;i="5.91,248,1647327600"; d="scan'208";a="745126395" Received: from unknown (HELO daily-regression-131.intel.com) ([10.239.251.131]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 01:19:22 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V3 3/5] test_plans/ice_ip_fragment_rte_flow:extend mismatch pkts Date: Tue, 24 May 2022 16:19:12 +0800 Message-Id: <20220524081914.44538-4-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220524081914.44538-1-zhiminx.huang@intel.com> References: <20220524081914.44538-1-zhiminx.huang@intel.com> MIME-Version: 1.0 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 1.add more info for ipfragment rule. 2.mismatch pkt should cover mismatch inputset pkts and mismatch pattern pkts. Signed-off-by: Zhimin Huang --- .../ice_ip_fragment_rte_flow_test_plan.rst | 72 ++++++++++++------- 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/test_plans/ice_ip_fragment_rte_flow_test_plan.rst b/test_plans/ice_ip_fragment_rte_flow_test_plan.rst index 18e0ad28..34b8efdc 100644 --- a/test_plans/ice_ip_fragment_rte_flow_test_plan.rst +++ b/test_plans/ice_ip_fragment_rte_flow_test_plan.rst @@ -118,6 +118,11 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions queue index 1 / mark / end Flow rule #0 created +.. note:: + + For ipfragment rule, it's a fixed combination for parser to know that a fragment pkt. + dpdk care about the bit 12-13 of fragment offset, so the valid range is 0x2000-0x1fff, the spec is 0x2000 and mask is 0x2000. + 2. send matched pkts and check two pkts distributed to queue 1, `RSS hash=0x261a7deb - RSS queue=0x1` in output:: scapy: @@ -136,17 +141,16 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example 3. send mismatched pkts and check fdir id is none:: scapy: - p = Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) - pkts=fragment6(p, 500) - sendp(pkts, iface="enp1s0") + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) + sendp(p, iface="enp1s0") - Sent 2 packets. - dut.10.240.183.133: port 0/queue 3: received 1 packets - src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 - ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD - port 0/queue 3: received 1 packets - src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=296 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 - ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD + port 0/queue 11: received 1 packets + src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x0800 - length=700 - nb_segs=1 - RSS hash=0x7bd13a5b - RSS queue=0xb - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0xb + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD + port 0/queue 0: received 1 packets + src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=728 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x0 + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 4. destroy rule re-send step 2 pkts and check fdir id is none:: @@ -255,7 +259,8 @@ Subcase 1: MAC_IPV4_FRAG fdir queue index 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 2: MAC_IPV4_FRAG fdir rss queues ----------------------------------------- @@ -270,7 +275,8 @@ Subcase 2: MAC_IPV4_FRAG fdir rss queues 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 3: MAC_IPV4_FRAG fdir passthru -------------------------------------- @@ -285,7 +291,8 @@ Subcase 3: MAC_IPV4_FRAG fdir passthru 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 4: MAC_IPV4_FRAG fdir drop ---------------------------------- @@ -300,7 +307,8 @@ Subcase 4: MAC_IPV4_FRAG fdir drop 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 5: MAC_IPV4_FRAG fdir mark+rss -------------------------------------- @@ -315,7 +323,8 @@ Subcase 5: MAC_IPV4_FRAG fdir mark+rss 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 6: MAC_IPV4_FRAG fdir mark ---------------------------------- @@ -330,7 +339,8 @@ Subcase 6: MAC_IPV4_FRAG fdir mark 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Test case: MAC_IPV6_FRAG pattern fdir fragment ============================================== @@ -348,7 +358,8 @@ Subcase 1: MAC_IPV6_FRAG fdir queue index 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 2: MAC_IPV6_FRAG fdir rss queues ---------------------------------------- @@ -363,7 +374,8 @@ Subcase 2: MAC_IPV6_FRAG fdir rss queues 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 3: MAC_IPV6_FRAG fdir passthru -------------------------------------- @@ -378,7 +390,8 @@ Subcase 3: MAC_IPV6_FRAG fdir passthru 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 4: MAC_IPV6_FRAG fdir drop ---------------------------------- @@ -393,7 +406,8 @@ Subcase 4: MAC_IPV6_FRAG fdir drop 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 5: MAC_IPV6_FRAG fdir mark+rss -------------------------------------- @@ -408,7 +422,8 @@ Subcase 5: MAC_IPV6_FRAG fdir mark+rss 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 6: MAC_IPV6_FRAG fdir mark ---------------------------------- @@ -423,7 +438,8 @@ Subcase 6: MAC_IPV6_FRAG fdir mark 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Test case: MAC_IPV4_FRAG_fdir_with_l2 ===================================== @@ -444,7 +460,8 @@ take 'mac_ipv4_frag_l2dst_fdir_queue_index' example:: 3.unmatched packets: - p=Ether(dst='00:00:00:00:00:01')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkts=fragment6(p, 500) + Ether(dst='00:00:00:00:00:01')/IP()/Raw('X'*666) + Ether(dst='00:00:00:00:00:01')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) .. note:: @@ -469,7 +486,8 @@ take 'mac_ipv6_frag_l2dst_fdir_queue_index' example:: 3.unmatched packets: - p=Ether(dst='00:00:00:00:00:01')/IP(id=47750)/Raw('X'*666); pkts=fragment(p, fragsize=500) + Ether(dst='00:00:00:00:00:01')/IPv6()/Raw('X'*666) + Ether(dst='00:00:00:00:00:01')/IP(id=47750)/Raw('X'*666) .. note:: @@ -495,7 +513,8 @@ take 'mac_ipv4_frag_l3src_fdir_queue_index' example:: 3.unmatched packets: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkts=fragment6(p, 500) + Ether()/IP(src='192.168.1.1')/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) subcase 1: MAC_IPV4_FRAG_fdir_with_l3dst ---------------------------------------- @@ -522,7 +541,8 @@ take 'mac_ipv6_frag_l3src_fdir_queue_index' example:: 3.unmatched packets: - p=Ether()/IP(id=47750, src='192.168.1.1')/Raw('X'*666); pkts=fragment(p, fragsize=500) + Ether()/IPv6(src='2001::1')/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) subcase 1: MAC_IPV6_FRAG_fdir_with_l3dst ----------------------------------------