* [dts] [PATCH V1 0/1] ipfix_flow_classify: upload test plan 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. @ 2018-01-04 6:02 yufengx.mo 2018-01-04 6:02 ` [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan yufengx.mo 0 siblings, 1 reply; 4+ messages in thread From: yufengx.mo @ 2018-01-04 6:02 UTC (permalink / raw) To: dts; +Cc: yufengmx From: yufengmx <yufengx.mo@intel.com> yufengmx (1): ipfix_flow_classify: upload test plan 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 -- 2.14.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan 2018-01-04 6:02 [dts] [PATCH V1 0/1] ipfix_flow_classify: upload test plan 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 yufengx.mo @ 2018-01-04 6:02 ` yufengx.mo 0 siblings, 0 replies; 4+ messages in thread From: yufengx.mo @ 2018-01-04 6:02 UTC (permalink / raw) To: dts; +Cc: yufengmx From: yufengmx <yufengx.mo@intel.com> 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. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- 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 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. + +==================== +ipfix flow classify +==================== + +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=$DPDK_PATH +export RTE_SDK=`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 by +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) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output contain the following message + rule[0] count=1 + or + rule[1] count=1 + +Test Case : check invalid rule with udp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output has no message as "rule[xxx] count=xxx", such as + rule[0] count=1 + +Test Case : check valid rule with tcp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output contain the following message + rule[2] count=1 + or + rule[3] count=1 + +Test Case : check invalid rule with tcp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output has no message as "rule[xxx] count=xxx", such as + rule[2] count=1 + +Test Case : check valid rule with sctp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output contain the following message + rule[4] count=1 + +Test Case : check invalid rule with sctp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output has no "rule[xxx] count=xxx" message, such as + rule[4] count=1 + +Test Case mixed stream: (performance) +========================================== +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=<rule config file> + +*. send mixed stream by ixia as above + +*. check flow_classify output only contain the following count message + rule[0] count=1 + rule[1] count=1 + rule[2] count=1 + rule[3] count=1 + rule[4] count=1 -- 2.14.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [dts] [PATCH V1 0/1] ipfix_flow_classify: upload test plan 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. @ 2018-01-04 5:56 yufengx.mo 2018-01-04 5:56 ` [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan yufengx.mo 0 siblings, 1 reply; 4+ messages in thread From: yufengx.mo @ 2018-01-04 5:56 UTC (permalink / raw) To: dts; +Cc: yufengmx From: yufengmx <yufengx.mo@intel.com> yufengmx (1): ipfix_flow_classify: upload test plan 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 -- 2.14.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan 2018-01-04 5:56 [dts] [PATCH V1 0/1] ipfix_flow_classify: upload test plan 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 yufengx.mo @ 2018-01-04 5:56 ` yufengx.mo 2018-01-09 5:48 ` Liu, Yong 0 siblings, 1 reply; 4+ messages in thread From: yufengx.mo @ 2018-01-04 5:56 UTC (permalink / raw) To: dts; +Cc: yufengmx From: yufengmx <yufengx.mo@intel.com> 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. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- 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 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. + +==================== +ipfix flow classify +==================== + +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=$DPDK_PATH +export RTE_SDK=`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 by +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) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output contain the following message + rule[0] count=1 + or + rule[1] count=1 + +Test Case : check invalid rule with udp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output has no message as "rule[xxx] count=xxx", such as + rule[0] count=1 + +Test Case : check valid rule with tcp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output contain the following message + rule[2] count=1 + or + rule[3] count=1 + +Test Case : check invalid rule with tcp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output has no message as "rule[xxx] count=xxx", such as + rule[2] count=1 + +Test Case : check valid rule with sctp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output contain the following message + rule[4] count=1 + +Test Case : check invalid rule with sctp stream (performance) +========================================== +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=<rule config file> + +*. send stream by ixia + +*. check flow_classify output has no "rule[xxx] count=xxx" message, such as + rule[4] count=1 + +Test Case mixed stream: (performance) +========================================== +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=<rule config file> + +*. send mixed stream by ixia as above + +*. check flow_classify output only contain the following count message + rule[0] count=1 + rule[1] count=1 + rule[2] count=1 + rule[3] count=1 + rule[4] count=1 -- 2.14.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan 2018-01-04 5:56 ` [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan yufengx.mo @ 2018-01-09 5:48 ` Liu, Yong 0 siblings, 0 replies; 4+ messages in thread From: Liu, Yong @ 2018-01-09 5:48 UTC (permalink / raw) To: Mo, YufengX, dts; +Cc: Mo, YufengX Yufen, Please change performance cases name as format "UDP stream flow classification performance". Please keep segment tag "=" align with test case name. Please align the shell code content format like: Description of the command:: 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 <yufengx.mo@intel.com> > Subject: [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan > > From: yufengmx <yufengx.mo@intel.com> > > > 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. > > Signed-off-by: yufengmx <yufengx.mo@intel.com> > --- > 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 > > 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. > + > +==================== > +ipfix flow classify > +==================== > + > +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=$DPDK_PATH > +export RTE_SDK=`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 by > +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) > +========================================== > +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=<rule config file> > + > +*. send stream by ixia > + > +*. check flow_classify output contain the following message > + rule[0] count=1 > + or > + rule[1] count=1 > + > +Test Case : check invalid rule with udp stream (performance) > +========================================== > +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=<rule config file> > + > +*. send stream by ixia > + > +*. check flow_classify output has no message as "rule[xxx] count=xxx", > such as > + rule[0] count=1 > + > +Test Case : check valid rule with tcp stream (performance) > +========================================== > +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=<rule config file> > + > +*. send stream by ixia > + > +*. check flow_classify output contain the following message > + rule[2] count=1 > + or > + rule[3] count=1 > + > +Test Case : check invalid rule with tcp stream (performance) > +========================================== > +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=<rule config file> > + > +*. send stream by ixia > + > +*. check flow_classify output has no message as "rule[xxx] count=xxx", > such as > + rule[2] count=1 > + > +Test Case : check valid rule with sctp stream (performance) > +========================================== > +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=<rule config file> > + > +*. send stream by ixia > + > +*. check flow_classify output contain the following message > + rule[4] count=1 > + > +Test Case : check invalid rule with sctp stream (performance) > +========================================== > +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=<rule config file> > + > +*. send stream by ixia > + > +*. check flow_classify output has no "rule[xxx] count=xxx" message, such > as > + rule[4] count=1 > + > +Test Case mixed stream: (performance) > +========================================== > +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=<rule config file> > + > +*. send mixed stream by ixia as above > + > +*. check flow_classify output only contain the following count message > + rule[0] count=1 > + rule[1] count=1 > + rule[2] count=1 > + rule[3] count=1 > + rule[4] count=1 > -- > 2.14.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-09 5:49 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-01-04 6:02 [dts] [PATCH V1 0/1] ipfix_flow_classify: upload test plan 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 yufengx.mo 2018-01-04 6:02 ` [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan yufengx.mo -- strict thread matches above, loose matches on Subject: below -- 2018-01-04 5:56 [dts] [PATCH V1 0/1] ipfix_flow_classify: upload test plan 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 yufengx.mo 2018-01-04 5:56 ` [dts] [PATCH V1 1/1] ipfix_flow_classify: upload test plan yufengx.mo 2018-01-09 5:48 ` Liu, Yong
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).