From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 6B64B2A1A for ; Wed, 16 Sep 2015 04:37:24 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP; 15 Sep 2015 19:37:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,537,1437462000"; d="scan'208";a="645648394" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga003.jf.intel.com with ESMTP; 15 Sep 2015 19:37:22 -0700 Received: from shecgisg003.sh.intel.com (shecgisg003.sh.intel.com [10.239.29.90]) by shvmail01.sh.intel.com with ESMTP id t8G2bKPm007061; Wed, 16 Sep 2015 10:37:20 +0800 Received: from shecgisg003.sh.intel.com (localhost [127.0.0.1]) by shecgisg003.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t8G2bHaA025185; Wed, 16 Sep 2015 10:37:19 +0800 Received: (from qxu10@localhost) by shecgisg003.sh.intel.com (8.13.6/8.13.6/Submit) id t8G2bHEC025181; Wed, 16 Sep 2015 10:37:17 +0800 From: Qian Xu To: dts@dpdk.org Date: Wed, 16 Sep 2015 10:37:12 +0800 Message-Id: <1442371032-25142-2-git-send-email-qian.q.xu@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1442371032-25142-1-git-send-email-qian.q.xu@intel.com> References: <1442371032-25142-1-git-send-email-qian.q.xu@intel.com> Subject: [dts] [PATCH 2/2][dts v2] Update vmdq test plan to align with scripts. 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: , X-List-Received-Date: Wed, 16 Sep 2015 02:37:25 -0000 v2: no changes. Minor changes at script. v1: update test plan to align with the scripts, and can support FVL and Niantic. Signed-off-by: Qian Xu diff --git a/test_plans/vmdq_test_plan.rst b/test_plans/vmdq_test_plan.rst new file mode 100644 index 0000000..9a3908c --- /dev/null +++ b/test_plans/vmdq_test_plan.rst @@ -0,0 +1,123 @@ +.. Copyright (c) 2010,2011 Intel Corporation + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +========================================================================= +Support of RX/TX Packet Filtering using VMDQ Features of 40G&10G&1G NIC +========================================================================= + +The 1G, 10G 82599 and 40G FVL Network Interface Card (NIC), supports a number of packet +filtering functions which can be used to distribute incoming packets into a +number of reception (RX) queues. VMDQ is a filtering +functions which operate on VLAN-tagged packets to distribute those packets +among up to 512 RX queues. + +The feature itself works by: + +- splitting the incoming packets up into different "pools" - each with its own + set of RX queues - based upon the MAC address and VLAN ID within the VLAN tag of the packet. +- assigning each packet to a specific queue within the pool, based upon the + user priority field within the VLAN tag and MAC address. + +The VMDQ features are enabled in the ``vmdq`` example application +contained in the Intel DPDK, and this application should be used to validate +the feature. + +Prerequisites +============= +- All tests assume a linuxapp setup. +- The port ids of the two 10G or 40G ports to be used for the testing are specified + in the commandline. it use a portmask. +- The Intel DPDK is compiled for the appropriate target type in each case, and + the VMDQ example application is compiled and linked with that DPDK + instance +- Two ports are connected to the test system, one to be used for packet + reception, the other for transmission +- The traffic generator being used is configured to send to the application RX + port a stream of packets with VLAN tags, where the VLAN IDs increment from 0 + to the pools numbers(e.g: for FVL spirit, it's 63, inclusive) as well as the MAC address from + 52:54:00:12:[port_index]:00 to 52:54:00:12:[port_index]:3e and the VLAN user priority field increments from 0 to 7 + (inclusive) for each VLAN ID. In our case port_index = 0 or 1. + + +Test Case: Measure VMDQ pools queues +------------------------------------ +1. Put different number of pools: in the case of 10G 82599 Nic is 64, in the case + of FVL spirit is 63,in case of FVL eagle is 34. +2. Start traffic transmission using approx 10% of line rate. +3. After a number of seconds, e.g. 15, stop traffic, and ensure no traffic + loss (<0.001%) has occurred. +4. Send a hangup signal (SIGHUP) to the application to have it print out the + statistics of how many packets were received per RX queue + +Expected Result: + +- No packet loss is expected +- Every RX queue should have received approximately (+/-15%) the same number of + incoming packets + +Test Case: Measure VMDQ Performance +----------------------------------- + +1. Compile VMDQ example application as in first test above. +2. Run application using a core mask for the appropriate thread and core + settings given in the following list: + + * 1S/1C/1T + * 1S/2C/1T + * 1S/2C/2T + * 1S/4C/1T + +3. Measure maximum RFC2544 performance throughput for bi-directional traffic for + all standard packet sizes. + +Output Format: +The output format should be as below, or any similar table-type, with figures +given in mpps: + ++------------+----------+----------+----------+----------+ +| Frame size | 1S/1C/1T | 1S/2C/1T | 1S/2C/2T | 1S/4C/1T | ++============+==========+==========+==========+==========+ +| 64 | 19.582 | 42.222 | 53.204 | 73.768 | ++------------+----------+----------+----------+----------+ +| 128 | 20.607 | 42.126 | 52.964 | 67.527 | ++------------+----------+----------+----------+----------+ +| 256 | 15.614 | 33.849 | 36.232 | 36.232 | ++------------+----------+----------+----------+----------+ +| 512 | 11.794 | 18.797 | 18.797 | 18.797 | ++------------+----------+----------+----------+----------+ +| 1024 | 9.568 | 9.579 | 9.579 | 9.579 | ++------------+----------+----------+----------+----------+ +| 1280 | 7.692 | 7.692 | 7.692 | 7.692 | ++------------+----------+----------+----------+----------+ +| 1518 | 6.395 | 6.502 | 6.502 | 6.502 | ++------------+----------+----------+----------+----------+ + -- 2.1.0