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 21959A04E9; Fri, 29 Nov 2019 10:01:59 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0CE732BD3; Fri, 29 Nov 2019 10:01:59 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 22E9D1F5 for ; Fri, 29 Nov 2019 10:01:54 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2019 01:01:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,256,1571727600"; d="scan'208";a="384029976" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.222]) by orsmga005.jf.intel.com with ESMTP; 29 Nov 2019 01:01:21 -0800 From: yufengmx To: dts@dpdk.org, yinan.wang@intel.com, lihongx.ma@intel.com Cc: yufengmx Date: Fri, 29 Nov 2019 17:03:12 +0800 Message-Id: <20191129090315.60124-3-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191129090315.60124-1-yufengx.mo@intel.com> References: <20191129090315.60124-1-yufengx.mo@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH V3 2/5] doc/dts_gsg/pktgen_prog_guide: update description 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" *. update test methods(latency/loss/throughput/rfc2544) input parameters description. *. add rfc2544 dichotomy usage document. Signed-off-by: yufengmx --- doc/dts_gsg/pktgen_prog_guide.rst | 86 ++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 13 deletions(-) diff --git a/doc/dts_gsg/pktgen_prog_guide.rst b/doc/dts_gsg/pktgen_prog_guide.rst index 32d2082..e0fdcf4 100644 --- a/doc/dts_gsg/pktgen_prog_guide.rst +++ b/doc/dts_gsg/pktgen_prog_guide.rst @@ -145,7 +145,7 @@ define a stream transmit behavior. basic content including:: - 'rate': 0 ~ 100 int type + 'rate': 0 ~ 100 int type, port line rate should set it. 'transmit_mode': TRANSMIT_CONT/TRANSMIT_S_BURST TRANSMIT_CONT define a continuous transmit. TRANSMIT_S_BURST define a burst transmit with custom number of packets. @@ -332,9 +332,22 @@ option traffic_option = { # test method name, if use `measure_throughput`, ignore this key 'method': 'throughput', - # port rate percent + # port rate percent, float(0--100), default value is 100.(reserved) 'rate': 100, - # transmit lasting time second + # warm up time before start main transmission. If it is set, it will start + # a custom time transmission to make sure packet generator under good + # status. It is an optional key. + 'delay': 5, + # the interval time of get throughput statistic (second). + # If set this key value, pktgen will return several throughput statistic + # data in a duration. If not set this key value, only return one statistic + # data. It is used coupled with `duration` option. + 'interval': 1, + # this key works with ``interval`` key. If it is set, the callback + # of suite level will be executed after getting throughput statistic. + # callback method should define as below, don't add sleep in this method. + 'callback' : callback_method, + # transmission lasting time(second), default value is 10 second. 'duration': 5} return value @@ -358,9 +371,13 @@ option traffic_option = { # test method name, if use `measure_loss`, ignore this key 'method': 'loss', - # port rate percent + # port rate percent, float(0--100), default value is 100.(reserved) 'rate': 100, - # transmit lasting time second + # warm up time before start main transmission. If it is set, it will start + # a custom time transmission to make sure packet generator under good + # status. It is an optional key. + 'delay': 5, + # transmission lasting time(second), default value is 10 second. 'duration': 5} return value @@ -382,9 +399,13 @@ option traffic_option = { # test method name, if use `measure_latency`, ignore this key 'method': 'latency', - # port rate percent + # port rate percent, float(0--100), default value is 100.(reserved) 'rate': 100, - # transmit lasting time second + # warm up time before start main transmission. If it is set, it will start + # a custom time transmission to make sure packet generator under ready + # status. It is an optional key. + 'delay': 5, + # transmission lasting time(second), default value is 10 second. 'duration': 5} return value @@ -398,7 +419,7 @@ return value rfc2544 option -------------- -single stream & rfc2544 +rfc2544 testing scenario by decreasing step. option ++++++ @@ -406,15 +427,19 @@ option .. code-block:: python traffic_option = { - # test method name, if use `measure_rfc2544`, ignore this key + # test method name, if use `measure_rfc2544`, ignore this key. 'method': 'rfc2544', - # port rate percent at first round testing, 0 ~ 100, default is 100 + # port rate percent at first round testing, 0 ~ 100, default is 100. 'rate': 100, - # permit packet drop rate + # permit packet drop rate, default is 0.001. 'pdr': 0.001, - # port rate percent drop step, 0 ~ 100 , default is 1 + # port rate percent drop step, 0 ~ 100 , default is 1. 'drop_step': 1, - # transmit lasting time second + # warm up time before start main transmission. If it is set, it will start + # a custom time transmission to make sure packet generator under ready + # status. It is an optional key. + 'delay': 5, + # transmission lasting time(second), default value is 10 second. 'duration': 5} return value @@ -424,6 +449,41 @@ return value loss_stats = (loss_rate, tx_pkts, rx_pkts) +rfc2544_dichotomy option +------------------------ +rfc2544 testing scenario using dichotomy algorithm. + +option +++++++ + +.. code-block:: python + + traffic_option = { + # test method name, if use `measure_rfc2544_dichotomy` method, ignore this key. + 'method': 'rfc2544_dichotomy', + # dichotomy algorithm lower bound rate percent, default is 0. + 'min_rate': 0, + # dichotomy algorithm upper bound rate percent, default is 100. + 'max_rate': 100, + # dichotomy algorithm accuracy, default 0.001. + 'accuracy': 0.001, + # permit packet drop rate, default is 0.001. + 'pdr': 0.001, + # warm up time before start main transmission. If it is set, it will start + # a custom time transmission to make sure packet generator under ready + # status. It is an optional key. + 'delay': 5, + # transmission lasting time(second), default value is 10 second. + 'duration': 10} + +return value +++++++++++++ + +.. code-block:: python + + loss_stats = (loss_rate, tx_pkts, rx_pkts) + + reference example ================= This example show how to use pktgen in suite script. In fact, most scenario are -- 2.21.0