Package: byteblower-test-cases-low-latency
IntroductionThis package contains a test case to generate multiple types of traffic
patterns using theByteBlower Test Framework. The traffic patterns
are used to validate your network for low latency.For more detailed documentation, please have a look
atTest Case: Low Latencyin the ByteBlower API documentation.Release notesWhat can this version bring to you?
See our exciting new and existing features below!📢New since v1.2.0!📢It is with great pleasure that we announce our
new features of this test case!Support forLow Latency, Low Loss, and Scalable Throughput (L4S)on TCPRun traffic tests on your L4S-enabled network!📢New since v1.1.0!📢It is with great pleasure that we announce our
new features of this test case!Integration of theByteBlower EndpointWi-Fi and mobile testingvia theByteBlower Endpoint!We also fixed some inconsistencies in the command-line interface and
configuration file:Command-line interface: Default search path for the configuration file
is now thecurrent directoryinstead of looking in anexamplessub-directory. This makes it more convenient for the user and
consistent with the CLI of the ByteBlower Test Framework.Command-line JSON configuration file: Deprecatednapt_keep_alivein favor ofnat_keep_alive. Done for naming consistency with theNAT-discovery IPv4 portsin ByteBlower Test Framework >= v1.2.0.Changed rate-limiting parameter in the flow"type": "http"tomaximum_bitrate(inbits per second). It replacesrate_limitwhich was inBytes per second.InstallationRequirementsByteBlower Test Framework: ByteBlower ® is a traffic
generator/analyser system for TCP/IP networks.Prepare runtime environmentWe recommend managing the runtime environment in a Python virtual
environment. This guarantees proper separation of the system-wide
installed Python and pip packages.PythonThe ByteBlower Test Framework currently supports Python versions
3.7 up to 3.11.Important: Working directoryAll the following sections expect that you first moved to your working
directory where you want to run this project. You may also want to create
your configuration files under a sub-directory of your choice.On Unix-based systems (Linux, WSL, macOS):cd'/path/to/working/directory'On Windows systems using PowerShell:cd'c:\path\to\working\directory'Python virtual environmentMake sure to use the right Python version (>= 3.7, <= 3.11),
list all Python versions installed in your machine by running:On Windows systems using PowerShell:py--listIf no Python version is in the required range, you can download and install
Python 3.7 or above using your system package manager
or fromhttps://www.python.org/ftp/python.Prepare Python virtual environment: Create the virtual environment
and install/updatepipandbuild.On Unix-based systems (Linux, WSL, macOS):Note:Mind the leading.which meanssourcing./env/bin/activate.python3-mvenv--clearenv../env/bin/activatepipinstall-UpipbuildOn Windows systems using PowerShell:Note: On Microsoft Windows, it may be required to enable the
Activate.ps1 script by setting the execution policy for the user.
You can do this by issuing the following PowerShell command:PSC:>Set-ExecutionPolicy-ExecutionPolicyRemoteSigned-ScopeCurrentUserSeeAbout Execution Policiesfor more information.Make sure to specify the python version you’re using.
For example, for Python 3.8:py-3.8-mvenv--clearenv&".\env\Scripts\activate.ps1"python-mpipinstall-UpipbuildTo install the ByteBlower low latency validation test case and
its dependencies, first make sure that you have activated your
virtual environment:On Unix-based systems (Linux, WSL, macOS):../env/bin/activateOn Windows systems using PowerShell:./env/Scripts/activate.ps1Then, run:pipinstall-Ubyteblower-test-cases-low-latencyQuick startCommand-line interfaceAfter providing the appropriate test setup and flow configurations, the
test script can be run either as python module or as a command-line script.For example (to get help for the command-line arguments):As a python module:# To get help for the command-line arguments:python-mbyteblower.test_case.low_latency--helpAs a command-line script:# To get help for the command-line arguments:byteblower-test-cases-low-latency--helpFor a quick start, you can run a simple test using the JSON configuration of
one of the example files below:UsingByteBlower Ports scenarioUsingByteBlower Endpoint scenarioSave you configuration in your working directory aslow_latency.json.
Make sure you change the"server"and"ports"configuration
according to the setup you want to run your test on.More detailed documentation is available in theConfiguration filesection
of the documentation.Thelow_latency.jsoncan be used then to run the test in the
command line interface using the following commands:Note:The reports will be stored under a subdirectoryreports/.On Unix-based systems (Linux, WSL, macOS):# Optional: create low_latency.json, then copy the configuration to ittouchlow_latency.json# Create reports folder to store HTML/JSON filesmkdirreports# Run testbyteblower-test-case-low-latency--report-pathreportsOn Windows systems using PowerShell:# Optional: create low_latency.json, then copy the configuration to itNew-Itemlow_latency.json# Create reports folder to store HTML/JSON filesmdreports# Run testbyteblower-test-case-low-latency--report-pathreportsIntegratedfrombyteblower.test_case.low_latencyimportrun# Defining test configuration, report path and report file name prefix:test_config={}# Here you should provide your test setup + frame(s') configuration(s)report_path='my-output-folder'# Optional: provide the path to the output folder, defaults to the current working directoryreport_prefix='my-dut-feature-test'# Optional: provide prefix of the output files, defaults to 'report'# Run the low latency validation test:run(test_config,report_path=report_path,report_prefix=report_prefix)