From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 854EC271 for ; Tue, 9 Jan 2018 06:49:42 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2018 21:49:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,334,1511856000"; d="scan'208";a="9242272" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga008.jf.intel.com with ESMTP; 08 Jan 2018 21:49:39 -0800 Received: from fmsmsx157.amr.corp.intel.com (10.18.116.73) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Jan 2018 21:49:39 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX157.amr.corp.intel.com (10.18.116.73) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Jan 2018 21:49:39 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.159]) with mapi id 14.03.0319.002; Tue, 9 Jan 2018 13:49:00 +0800 From: "Liu, Yong" To: "Mo, YufengX" , "dts@dpdk.org" CC: "Mo, YufengX" Thread-Topic: [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan Thread-Index: AQHThSDXfjZD/Ev+dkWlwf468fcylqNrDjCg Date: Tue, 9 Jan 2018 05:48:59 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62F42680@SHSMSX103.ccr.corp.intel.com> References: <1515045381-7548-1-git-send-email-yufengx.mo@intel.com> <1515045381-7548-2-git-send-email-yufengx.mo@intel.com> In-Reply-To: <1515045381-7548-2-git-send-email-yufengx.mo@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTgzZDBiYzktMDBmZi00ZjkzLTlkMzMtZTQ5ZTA0NWQ3ZDEwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJLK2dRMEM3bjRRS09ETjd0YitGUzFcL0t1NGNuVGRcL2ZaTkNwMkE1aW92R2VySzBjbFM1U2txT3VsRlE4Y05WMFcifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action 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 1/1] ipfix_flow_classify: upload 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: , X-List-Received-Date: Tue, 09 Jan 2018 05:49:43 -0000 Yufen, Please change performance cases name as format "UDP stream flow classificat= ion performance". Please keep segment tag "=3D" align with test case name. Please align the shell code content format like: Description of the command:: =09 Code content Thanks, Marvin > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of yufengx.mo@intel.com > Sent: Thursday, January 04, 2018 1:56 PM > To: dts@dpdk.org > Cc: Mo, YufengX > Subject: [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan >=20 > From: yufengmx >=20 >=20 > This test plan is for flow classify features. > flow_classify is the tool to call flow_classify lib for group of packets, > just after receiving them or before transmitting them. >=20 > Signed-off-by: yufengmx > --- > test_plans/ipfix_flow_classify_test_plan.rst | 245 > +++++++++++++++++++++++++++ > 1 file changed, 245 insertions(+) > create mode 100644 test_plans/ipfix_flow_classify_test_plan.rst >=20 > diff --git a/test_plans/ipfix_flow_classify_test_plan.rst > b/test_plans/ipfix_flow_classify_test_plan.rst > new file mode 100644 > index 0000000..4f4a95d > --- /dev/null > +++ b/test_plans/ipfix_flow_classify_test_plan.rst > @@ -0,0 +1,245 @@ > +.. Copyright (c) <2018>, 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 > +ipfix flow classify > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +This document provides test plan for flow classify features. > + > +Flow Classify provides flow record information with some measured > properties. > + > +The flow and measurement criteria (action) rules are configured in a txt > file. > + > +Library doesn't maintain any flow records itself, instead flow > information is > +returned to upper layer only for given packets. > + > +flow_classify is the tool to call flow_classify lib for group of packets= , > +just after receiving them or before transmitting them. It provide the > flow type > +interested in, measurement to apply to that flow in > rte_flow_classify_create() > +API, and should providerte_flow_classify object and storage to put > results in > +rte_flow_classify_query() API. > + > +Technical doc refer to:: > +dpdk/doc/guides/sample_app_ug/flow_classify.rst > +dpdk/doc/guides/prog_guide/flow_classify_lib.rst > + > +Prerequisites > +------------- > +2xNICs (2 full duplex optical ports per NIC) > +Flow Classify should run on 2 pair link peer at least. > +No limitation about nic type. > + > +HW configuration > +------------- > + Tester DUT > + .-------. .-------. > + | port0 | <------------------> | port0 | > + | port1 | <------------------> | port1 | > + '-------' '-------' > + > +Stream configuration > +------------- > + > +UDP_1: > +Frame Data/Protocols: Ethernet 2 0800, IPv4,UDP/IP, Fixed 64. > +IPv4 Header Page: Dest Address: 2.2.2.7 Src Address: 2.2.2.3 > +UDP Header: Src Port: 32 Dest Port: 33 > + > +UDP_2: > +Frame Data/Protocols: Ethernet 2 0800, IPv4,UDP/IP, Fixed 64. > +IPv4 Header Page: Dest Address: 9.9.9.7 Src Address: 9.9.9.3 > +UDP Header: Src Port: 32 Dest Port: 33 > + > +UDP_invalid: > +Frame Data/Protocols: Ethernet 2 0800, IPv4,UDP/IP, Fixed 64. > +IPv4 Header Page: Dest Address: 9.8.7.6 Src Address: 192.168.0.36 > +UDP Header: Src Port: 10 Dest Port: 11 > + > +TCP_1: > +Frame Data/Protocols: Ethernet 2 0800, IPv4,TCP/IP, Fixed 64. > +IPv4 Header Page: Dest Address: 9.9.9.7 Src Address: 9.9.9.3 > +TCP Header: Src Port: 32 Dest Port: 33 > + > +TCP_2: > +Frame Data/Protocols: Ethernet 2 0800, IPv4,TCP/IP, Fixed 64. > +IPv4 Header Page: Dest Address: 9.9.8.7 Src Address: 9.9.8.3 > +TCP Header: Src Port: 32 Dest Port: 33 > + > +TCP_invalid: > +Frame Data/Protocols: Ethernet 2 0800, IPv4,TCP/IP, Fixed 64. > +IPv4 Header Page: Dest Address: 9.8.7.6 Src Address: 192.168.0.36 > +TCP Header: Src Port: 10 Dest Port: 11 > + > +SCTP_1: > +Frame Data/Protocols: Ethernet 2 0800, IPv4, None, Fixed 256. > +IPv4 Header Page: Dest Address: 2.3.4.5 Src Address: 6.7.8.9 > +SCTP Header: Src Port: 32 Dest Port: 33 > +Protocol: 132-SCTP > + > +SCTP_invalid: > +Frame Data/Protocols: Ethernet 2 0800, IPv4, None, Fixed 256. > +IPv4 Header Page: Dest Address: 9.8.7.6 Src Address: 192.168.0.36 > +SCTP Header: Src Port: 10 Dest Port: 11 > +Protocol: 132-SCTP > + > +ixia config for stream(ixia tcl command): > +---------- > +each stream should be 32 burst packets, stream interval should be as the > +following command limitaion. > + > +stream config -numBursts 32 > +stream config -gapUnit gapMilliSeconds > +stream config -ifg 10 > +stream config -ibg 1 > +stream config -isg 1000 > +stream config -dma stopStream > + > +Compilation: > +---------- > +cd $DPDK_PATH > +export RTE_TARGET=3D$DPDK_PATH > +export RTE_SDK=3D`pwd` > +make -C examples/flow_classify > + > +Flow classify bin file under: > +$DPDK_PATH/examples/flow_classify/build/flow_classify > + > +rule config file(default): > +$DPDK_PATH/examples/flow_classify/ipv4_rules_file.txt > + > +Test cases > +---------- > +The idea behind the testing process is to compare packet count sending b= y > +ixia packet generater with packet count filtered by flow_classify. Valid > +packets should be in flow_classify output and invalid packets should be > ignored. > +The rules are configured in a txt file. Testing content includes > different > +udp/tcp/sctp stream and multiple rules. > + > +Test Case : check valid rule with udp stream (performance) > +=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 > +Send one valid 32 packets burst stream(UDP_1 or UDP_2 in Stream > configuration), > +then check the total received packets in flow_classify's output message. > + > +*. boot up flow_classify > + ./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send stream by ixia > + > +*. check flow_classify output contain the following message > + rule[0] count=3D1 > + or > + rule[1] count=3D1 > + > +Test Case : check invalid rule with udp stream (performance) > +=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 > +Send one invalid 32 packets burst stream(UDP_invalid in Stream > configuration), > +then check flow_classify's output message has no count message > + > +*. boot up flow_classify > + ./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send stream by ixia > + > +*. check flow_classify output has no message as "rule[xxx] count=3Dxxx", > such as > + rule[0] count=3D1 > + > +Test Case : check valid rule with tcp stream (performance) > +=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 > +Send one valid 32 packets burst stream(TCP_1 or TCP_2 in Stream > configuration), > +then check the total received packets in flow_classify's output message. > + > +*. boot up flow_classify > + ./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send stream by ixia > + > +*. check flow_classify output contain the following message > + rule[2] count=3D1 > + or > + rule[3] count=3D1 > + > +Test Case : check invalid rule with tcp stream (performance) > +=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 > +Send one invalid 32 packets burst stream(TCP_invalid in Stream > configuration), > +then check flow_classify's output message has no count message > + > +*. boot up flow_classify > + ./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send stream by ixia > + > +*. check flow_classify output has no message as "rule[xxx] count=3Dxxx", > such as > + rule[2] count=3D1 > + > +Test Case : check valid rule with sctp stream (performance) > +=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 > +Send one valid 32 packets burst stream(SCTP_1 in Stream configuration), > +then check the total received packets in flow_classify's output message. > + > +*. boot up flow_classify > + ./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send stream by ixia > + > +*. check flow_classify output contain the following message > + rule[4] count=3D1 > + > +Test Case : check invalid rule with sctp stream (performance) > +=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 > +Send one invalid 32 packets burst stream(SCTP_invalid in Stream > configuration), > +then check flow_classify's output message has no count message > + > +*. boot up flow_classify > +./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send stream by ixia > + > +*. check flow_classify output has no "rule[xxx] count=3Dxxx" message, su= ch > as > + rule[4] count=3D1 > + > +Test Case mixed stream: (performance) > +=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 > +Send mixed 32 packets burst stream(all types in Stream configuration), > +then check if they are ignored or filtered by flow_classify > + > +*. boot up flow_classify > + ./flow_classify -c 4 -n 4 -- --rule_ipv4=3D > + > +*. send mixed stream by ixia as above > + > +*. check flow_classify output only contain the following count message > + rule[0] count=3D1 > + rule[1] count=3D1 > + rule[2] count=3D1 > + rule[3] count=3D1 > + rule[4] count=3D1 > -- > 2.14.3