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 D7036A3295 for ; Wed, 23 Oct 2019 11:41:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C19111BFE9; Wed, 23 Oct 2019 11:41:38 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 23D3ACF3 for ; Wed, 23 Oct 2019 11:41:35 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Oct 2019 02:41:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,220,1569308400"; d="scan'208";a="397987842" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga005.fm.intel.com with ESMTP; 23 Oct 2019 02:41:34 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 23 Oct 2019 02:41:34 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.96]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.165]) with mapi id 14.03.0439.000; Wed, 23 Oct 2019 17:41:32 +0800 From: "Tu, Lijuan" To: "Han, YingyaX" , "dts@dpdk.org" CC: "Han, YingyaX" Thread-Topic: [dts] [PATCH V1] add vmdq_dcb test plan Thread-Index: AQHVhYpJFhGdRqj42kymlPg7OCvEmqdoAPzQ Date: Wed, 23 Oct 2019 09:41:32 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BB459B5@SHSMSX101.ccr.corp.intel.com> References: <20191018155955.51620-1-yingyax.han@intel.com> In-Reply-To: <20191018155955.51620-1-yingyax.han@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjQ4NTBjOWQtMTNiMS00MWFkLWE5ODktNTBhMmU3YTNkMmM4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiK0REWjZkeml0cGtoNVUxMjJ0SE1NbVFsTTVtcTgyaVFkNWtyOEwrY2Q0Q1NsVm1pNWlLRkttRU1RUnpcL3BFbUUifQ== x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH V1] add vmdq_dcb test plan 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" Applied, thanks > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of hanyingya > Sent: Saturday, October 19, 2019 12:00 AM > To: dts@dpdk.org > Cc: Han, YingyaX > Subject: [dts] [PATCH V1] add vmdq_dcb test plan >=20 > Signed-off-by: hanyingya > --- > test_plans/vmdq_dcb_test_plan.rst | 116 > ++++++++++++++++++++++++++++++ > 1 file changed, 116 insertions(+) > create mode 100644 test_plans/vmdq_dcb_test_plan.rst >=20 > diff --git a/test_plans/vmdq_dcb_test_plan.rst > b/test_plans/vmdq_dcb_test_plan.rst > new file mode 100644 > index 0000000..31e8612 > --- /dev/null > +++ b/test_plans/vmdq_dcb_test_plan.rst > @@ -0,0 +1,116 @@ > +.. Copyright (c) < 2019 >, 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. > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D > +Fortville: Support of RX Packet Filtering using VMDQ & DCB Features > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D > + > +The Intel Network Interface Card(e.g. XL710), supports a number of > +packet filtering functions which can be used to distribute incoming > +packets into a number of reception (RX) queues. VMDQ & DCB is a pair of > +such filtering functions which operate on VLAN-tagged packets to > +distribute those packets to 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 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. > + > +The VMDQ & DCB features are enabled in the ``vmdq_dcb`` example > +application contained in the DPDK, and this application should be used > +to validate the feature. > + > +Prerequisites > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +- The DPDK is compiled for the appropriate target type in each case, > +and > + the VMDQ & DCB 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(inclusive) and the VLAN user priority field > +increments from > + 0 to 7 (inclusive) for each VLAN ID. > +- Build vmdq_dcb example, > + make -C examples/vmdq_dcb RTE_SDK=3D`pwd` T=3Dx86_64-native-linuxapp- > gcc > + > +Test Case 1: Verify VMDQ & DCB with 32 Pools and 4 TCs > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > + > +1. Run the application as the following:: > + > + ./examples/vmdq_dcb/build/vmdq_dcb_app -c 0xff -n 4 -- -p 0x3 > + --nb-pools 32 --nb-tcs 4 --enable-rss > + > +2. Start traffic transmission using approx 10% of line rate. > +3. After a number of seconds, e.g. 15, stop traffic, and ensure no traff= ic > + 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:: > + > + kill -s SIGHUP `pgrep -fl vmdq_dcb_app | awk '{print $1}'` > + > +Expected Result: > + > +- No packet loss is expected. > +- Every RX queue should have received approximately (+/-15%) the same > +number of > + incoming packets > +- verify queue id should be equal "vlan user priority value % 4". > + > +Test Case 2: Verify VMDQ & DCB with 16 Pools and 8 TCs > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > + > +1. change CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM to 8 in > "./config/common_linuxapp", rebuild DPDK. > + > +2. Repeat Test Case 1, with `--nb-pools 16` and `--nb-tcs 8` of the samp= le > application:: > + > + ./examples/vmdq_dcb/build/vmdq_dcb_app -c 0xff -n 4 -- -p 0x3 > + --nb-pools 16 --nb-tcs 8 --enable-rss > + > +Expected result: > +- No packet loss is expected > +- Every RX queue should have received approximately (+/-15%) the same > +number of incoming packets > +- verify queue should be equal "vlan user priority value" > + > +3. change CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM to 16 in > "./config/common_linuxapp", rebuild DPDK. > + > +4. Repeat Test Case 1, with `--nb-pools 16` and `--nb-tcs 8` of the samp= le > application:: > + > + ./examples/vmdq_dcb/build/vmdq_dcb_app -c 0xff -n 4 -- -p 0x3 > + --nb-pools 16 --nb-tcs 8 --enable-rss > + > +Expected result: > +- No packet loss is expected > +- Every RX queue should have received approximately (+/-15%) the same > +number of incoming packets > +- verify queue id should be in [vlan user priority value * 2, vlan user > +priority value * 2 + 1] > + > +(NOTE: SIGHUP output will obviously change to show 8 columns per row, > +with only 16 rows) > \ No newline at end of file > -- > 2.17.1