From a81278b11de6393390816c8b3b675a313cd0ce9f Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Mon, 7 Mar 2016 09:52:22 +0000 Subject: bugfix: Cleanup of traffic gen api and default traffic values Both documentation and traffic generator API are updated to match current code logic. Additional default values are added into TRAFFIC_DEFAULTS dictionary. Constructor of TestCase class uses default values from TRAFFIC_DEFAULTS instead of magic numbers. Change-Id: Id2f4983945e4b123adddbc9a2a832f4a735b27f6 JIRA: VSPERF-253 Signed-off-by: Martin Klozik Reviewed-by: Maryam Tahhan Reviewed-by: Al Morton Reviewed-by: Christian Trautman --- docs/design/trafficgen_integration_guide.rst | 49 ++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 6 deletions(-) (limited to 'docs/design/trafficgen_integration_guide.rst') diff --git a/docs/design/trafficgen_integration_guide.rst b/docs/design/trafficgen_integration_guide.rst index bea2feff..a30b2d61 100644 --- a/docs/design/trafficgen_integration_guide.rst +++ b/docs/design/trafficgen_integration_guide.rst @@ -162,10 +162,10 @@ Example of synchronous interfaces: .. code-block:: python def send_rfc2544_throughput(self, traffic=None, trials=3, duration=20, - lossrate=0.0, multistream=False): + lossrate=0.0): def send_rfc2544_back2back(self, traffic=None, trials=1, duration=20, lossrate=0.0): - def send_cont_traffic(self, traffic=None, duration=20, multistream=False): + def send_cont_traffic(self, traffic=None, duration=20): Example of asynchronous interfaces: @@ -179,17 +179,52 @@ Example of asynchronous interfaces: lossrate=0.0): def wait_rfc2544_back2back(self): - def start_cont_traffic(self, traffic=None, duration=20, multistream=False): + def start_cont_traffic(self, traffic=None, duration=20): def stop_cont_traffic(self): Description of parameters used by **send**, **start**, **wait** and **stop** functions: - * param **trials**: Number of trials to execute + * param **traffic**: A dictionary with detailed definition of traffic + pattern. It contains following parameters to be implemented by + traffic generator. + + Note: Traffic dictionary has also virtual switch related parameters, + which are not listed below. + + Note: There are parameters specific to testing of tunnelling protocols, + which are discussed in detail at `integration tests userguide`_ + + * param **traffic_type**: One of the supported traffic types, + e.g. **rfc2544**, **continuous** or **back2back**. + * param **frame_rate**: Defines desired percentage of frame + rate used during continuous stream tests. It can be set by test + parameter iLoad or by CLI parameter iload. + * param **bidir**: Specifies if generated traffic will be full-duplex + (true) or half-duplex (false). + * param **multistream**: Defines number of flows simulated by traffic + generator. Value 0 disables MultiStream feature. + * param **stream_type**: Stream Type defines ISO OSI network layer + used for simulation of multiple streams. + Supported values: + + * **L2** - iteration of destination MAC address + * **L3** - iteration of destination IP address + * **L4** - iteration of destination port of selected transport protocol + + * param **l2**: A dictionary with data link layer details, e.g. **srcmac**, + **dstmac** and **framesize**. + * param **l3**: A dictionary with network layer details, e.g. **srcip**, + **dstip** and **proto**. + * param **l3**: A dictionary with transport layer details, e.g. **srcport**, + **dstport**. + * param **vlan**: A dictionary with vlan specific parameters, + e.g. **priority**, **cfi**, **id** and vlan on/off switch **enabled**. + + * param **trials**: Number of trials to execute. * param **duration**: Duration of continuous test or per iteration duration - in case of RFC2544 throughput or back2back traffic types. + in case of RFC2544 throughput or back2back traffic types. * param **lossrate**: Acceptable lossrate percentage. - * param **multistream**: Enable or disable multistream feature. Step 6 - passing back results ============================= @@ -201,3 +236,5 @@ are defined in **ResultsConstants** implemented in Throughput & Continuous and for Back2Back. The same key names should be used by all traffic generator implementations. +.. _integration tests userguide: http://artifacts.opnfv.org/vswitchperf/docs/userguide/integration.html + -- cgit 1.2.3-korg