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 7775DA04DD; Thu, 2 Jan 2020 04:29:13 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6D7D11BF9D; Thu, 2 Jan 2020 04:29:13 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id A0C4E1BF9B for ; Thu, 2 Jan 2020 04:29:11 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Jan 2020 19:29:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,385,1571727600"; d="scan'208";a="369219731" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga004.jf.intel.com with ESMTP; 01 Jan 2020 19:29:10 -0800 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 1 Jan 2020 19:29:10 -0800 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 1 Jan 2020 19:29:09 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.197]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.132]) with mapi id 14.03.0439.000; Thu, 2 Jan 2020 11:29:08 +0800 From: "Chen, Zhaoyan" To: "Mo, YufengX" , "dts@dpdk.org" , "Wang, Yinan" , "Ma, LihongX" CC: "Mo, YufengX" , "Chen, Zhaoyan" Thread-Topic: [dts] [PATCH V3 2/5] doc/dts_gsg/pktgen_prog_guide: update description Thread-Index: AQHVppO8wNM/bfCaykSWWmVAjdYwfqfW7GaQ Date: Thu, 2 Jan 2020 03:29:07 +0000 Message-ID: <9DEEADBC57E43F4DA73B571777FECECA41E76CFC@SHSMSX104.ccr.corp.intel.com> References: <20191129090315.60124-1-yufengx.mo@intel.com> <20191129090315.60124-3-yufengx.mo@intel.com> In-Reply-To: <20191129090315.60124-3-yufengx.mo@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-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 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" Acked-by: Zhaoyan Chen Regards, Zhaoyan Chen > -----Original Message----- > From: dts On Behalf Of yufengmx > Sent: Friday, November 29, 2019 5:03 PM > To: dts@dpdk.org; Wang, Yinan ; Ma, LihongX > > Cc: Mo, YufengX > Subject: [dts] [PATCH V3 2/5] doc/dts_gsg/pktgen_prog_guide: update descr= iption >=20 >=20 > *. update test methods(latency/loss/throughput/rfc2544) input parameters > description. > *. add rfc2544 dichotomy usage document. >=20 > Signed-off-by: yufengmx > --- > doc/dts_gsg/pktgen_prog_guide.rst | 86 ++++++++++++++++++++++++++----- > 1 file changed, 73 insertions(+), 13 deletions(-) >=20 > 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. >=20 > basic content including:: >=20 > - '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 pa= ckets. > @@ -332,9 +332,22 @@ option > traffic_option =3D { > # 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 wi= ll start > + # a custom time transmission to make sure packet generator under g= ood > + # 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 sta= tistic > + # data in a duration. If not set this key value, only return one s= tatistic > + # 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 statist= ic. > + # 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} >=20 > return value > @@ -358,9 +371,13 @@ option > traffic_option =3D { > # 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 wi= ll start > + # a custom time transmission to make sure packet generator under g= ood > + # status. It is an optional key. > + 'delay': 5, > + # transmission lasting time(second), default value is 10 second. > 'duration': 5} >=20 > return value > @@ -382,9 +399,13 @@ option > traffic_option =3D { > # 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 wi= ll start > + # a custom time transmission to make sure packet generator under r= eady > + # status. It is an optional key. > + 'delay': 5, > + # transmission lasting time(second), default value is 10 second. > 'duration': 5} >=20 > return value > @@ -398,7 +419,7 @@ return value >=20 > rfc2544 option > -------------- > -single stream & rfc2544 > +rfc2544 testing scenario by decreasing step. >=20 > option > ++++++ > @@ -406,15 +427,19 @@ option > .. code-block:: python >=20 > traffic_option =3D { > - # 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 10= 0 > + # port rate percent at first round testing, 0 ~ 100, default is 10= 0. > '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 wi= ll start > + # a custom time transmission to make sure packet generator under r= eady > + # status. It is an optional key. > + 'delay': 5, > + # transmission lasting time(second), default value is 10 second. > 'duration': 5} >=20 > return value > @@ -424,6 +449,41 @@ return value >=20 > loss_stats =3D (loss_rate, tx_pkts, rx_pkts) >=20 > +rfc2544_dichotomy option > +------------------------ > +rfc2544 testing scenario using dichotomy algorithm. > + > +option > +++++++ > + > +.. code-block:: python > + > + traffic_option =3D { > + # test method name, if use `measure_rfc2544_dichotomy` method, ign= ore 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 wi= ll start > + # a custom time transmission to make sure packet generator under r= eady > + # 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 =3D (loss_rate, tx_pkts, rx_pkts) > + > + > reference example > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > This example show how to use pktgen in suite script. In fact, most scena= rio are > -- > 2.21.0