From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8A450A04EF; Mon, 1 Jun 2020 09:28:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3891B1D426; Mon, 1 Jun 2020 09:28:36 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 9F5001D155 for ; Mon, 1 Jun 2020 09:28:34 +0200 (CEST) IronPort-SDR: WtllbaUwJaOeH6yf+7Zrzubjo4x+OLXWDDuVlOswuAUM5FKNJd1aHABwB0G/eZEcehnaow3zEp ykEZp3DfbfyQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2020 00:28:32 -0700 IronPort-SDR: 9D2S0ofPz1s9FKVhOB9OawG8XE4QRF9ddZn45wv1xZA9uDkP7zMHGJLqkvBXkBkEkxn5lXNeLf RnSXnvxUIvFA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,460,1583222400"; d="scan'208";a="470227651" Received: from unknown (HELO dpdk-lijuan.sh.intel.com) ([10.67.119.192]) by fmsmga005.fm.intel.com with ESMTP; 01 Jun 2020 00:28:29 -0700 From: Lijuan Tu To: dts@dpdk.org Cc: Lijuan Tu Date: Mon, 1 Jun 2020 23:31:58 +0800 Message-Id: <1591025518-131603-1-git-send-email-lijuan.tu@intel.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain; charset=n Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH] test_plan/packet_ordering: enrich discription X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 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" Signed-off-by: Lijuan Tu --- test_plans/packet_ordering_test_plan.rst | 86 ++++++++++++++++++++++++++++---- 1 file changed, 75 insertions(+), 11 deletions(-) diff --git a/test_plans/packet_ordering_test_plan.rst b/test_plans/packet_ordering_test_plan.rst index cac5f7c..193aff4 100644 --- a/test_plans/packet_ordering_test_plan.rst +++ b/test_plans/packet_ordering_test_plan.rst @@ -32,21 +32,83 @@ -=============== -Packet Ordering -=============== +========================================= +Sample Application Tests: Packet Ordering +========================================= This document provides test plan for benchmarking of the Packet Ordering sample application. This is a simple example app featuring packet processing -using Intel® Data Plane Development Kit (Intel® DPDK) based on a sliding window -using a sequence number for the packet and a reorder queue. +using Data Plane Development Kit (DPDK) based on a sliding window using a +sequence number for the packet and a reorder queue. + +This app makes use of the librte_reorder library, it requires at least 3 lcores +for RX, Workers (1 or more) and TX threads. Communication between RX-Workers and +Workers-TX is done by using rings. The flow of mbufs is the following: + + * RX thread gets mbufs from driver, set sequence number and enqueue them in ring. + * Workers dequeue mbufs from ring, do some 'work' and enqueue mbufs in ring. + * TX dequeue mbufs from ring, inserts them in reorder buffer, drains mbufs from + reorder and sends them to the driver. + +Command Usage:: + + ./packet_ordering [EAL options] -- [-p PORTMASK] [--insight-worker] + + -p PORTMASK : hexadecimal bitmask of ports to configure + --insight-worker : print per core stats + +For example:: + + ./packet_ordering -l 30-35 -- -p 0x1 --insight-worker + + RX thread stats: + - Pkts rxd: 17026944 + - Pkts enqd to workers ring: 17026944 + + Worker thread stats on core [31]: + - Pkts deqd from workers ring: 4486598 + - Pkts enqd to tx ring: 4486598 + - Pkts enq to tx failed: 0 + + Worker thread stats on core [32]: + - Pkts deqd from workers ring: 4014658 + - Pkts enqd to tx ring: 4014658 + - Pkts enq to tx failed: 0 + + Worker thread stats on core [33]: + - Pkts deqd from workers ring: 4694356 + - Pkts enqd to tx ring: 4694356 + - Pkts enq to tx failed: 0 + + Worker thread stats on core [34]: + - Pkts deqd from workers ring: 3831332 + - Pkts enqd to tx ring: 3831332 + - Pkts enq to tx failed: 0 + + Worker thread stats: + - Pkts deqd from workers ring: 17026944 + - Pkts enqd to tx ring: 17026944 + - Pkts enq to tx failed: 0 + + TX stats: + - Pkts deqd from tx ring: 17026944 + - Ro Pkts transmitted: 17026944 + - Ro Pkts tx failed: 0 + - Pkts transmitted w/o reorder: 0 + - Pkts tx failed w/o reorder: 0 + + Port 0 stats: + - Pkts in: 17026944 + - Pkts out: 17026944 + - In Errs: 0 + - Out Errs: 0 + - Mbuf Errs: 0 Prerequisites -------------------- +============= -1x Intel® 82599 (Niantic) NICs (1x 10GbE full duplex optical ports per NIC) -plugged into the available PCIe Gen2 8-lane slot. +1x Intel® Ethernet Port (710 series, 82599, etc) Test Case: Packet ordering at different rates ============================================= @@ -54,7 +116,8 @@ Test Case: Packet ordering at different rates The test case will send packets from the external traffic generator through the sample application which will forward them back to the source port. Each packet will have a sequential number which could be used to judge -if a packet is in the right order. +if a packet is in the right order. It's fine to increase packet type, IP dst +addr, etc to generate sequential numbers. Different traffic rates will be tested. The rate will go from 10% to 100% with 10% steps. @@ -93,8 +156,9 @@ Run the app with below sample command:: Test Case: keep the packet ordering =================================== -This is a basic functional test. -The packets order which will pass through a same flow should be guaranteed. +This is a basic functional test without high speed flows. +Send a series of packet for scapy, and check the packets forwarded out from the +app is ordering. 1. Run the sample with below command:: -- 1.8.3.1