The IxNetwork Open Traffic Generator Python Package
Project description
Keysight IxNetwork Open Traffic Generator
The Keysight IxNetwork implementation of the open-traffic-generator models.
To start contributing, please see contributing.md.
Getting Started
Install client package
python -m pip install --upgrade ixnetwork-open-traffic-generator
Start scripting
# for constructing traffic configuration
from abstract_open_traffic_generator import (
port, flow, config, control, result
)
# for making API calls
from ixnetwork_open_traffic_generator.ixnetworkapi import IxNetworkApi
# provide API server and port addresses
api = IxNetworkApi(address='127.0.0.1', port=11009)
tx = port.Port(name='Tx Port', location='127.0.0.1;2;1')
rx = port.Port(name='Rx Port', location='127.0.0.1;2;2')
# configure one TCP flow (with default protocol headers) to send 10000 packets,
# each of 128 bytes at 10% of max line rate
flw = flow.Flow(
name='Flow %s->%s' % (tx.name, rx.name),
tx_rx=flow.TxRx(
flow.PortTxRx(tx_port_name=tx.name, rx_port_name=rx.name)
),
packet=[
flow.Header(flow.Ethernet()),
flow.Header(flow.Vlan()),
flow.Header(flow.Ipv4()),
flow.Header(flow.Tcp())
],
size=flow.Size(128),
rate=flow.Rate(value=10, unit='line'),
duration=flow.Duration(flow.FixedPackets(packets=10000))
)
# push configuration and start transmitting flows
cfg = config.Config(ports=[tx, rx], flows=[flw])
api.set_state(control.State(control.ConfigState(config=cfg, state='set')))
api.set_state(control.State(control.FlowTransmitState(state='start')))
# fetch tx port stats and wait until total frames sent is correct or retry
# retry count is 0
retry = 5
request = result.PortRequest(port_names=[tx.name], column_names=['frames_tx'])
while sum([p['frames_tx'] for p in api.get_port_results(request)]) != 10000:
assert retry > 0
retry -= 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ixnetwork_open_traffic_generator-0.0.85.tar.gz
.
File metadata
- Download URL: ixnetwork_open_traffic_generator-0.0.85.tar.gz
- Upload date:
- Size: 44.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.6.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b11adb122f803c27fe45644dedbe4389f40e792b4d80da017d7ec546965d5ef9 |
|
MD5 | 2d6df2d66f4a2011504c46984e8b0043 |
|
BLAKE2b-256 | 3ac15439d272fcb841544c24e4a83e223dcb4e4aa9939654402e22a94f545ee3 |
File details
Details for the file ixnetwork_open_traffic_generator-0.0.85-py2.py3-none-any.whl
.
File metadata
- Download URL: ixnetwork_open_traffic_generator-0.0.85-py2.py3-none-any.whl
- Upload date:
- Size: 46.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.6.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1c92fb34765aacfd67cf1898a92fd11c85022896ba4d2852d92476b4a6889bd |
|
MD5 | a8b2174892f34e2819948a810e13e914 |
|
BLAKE2b-256 | b2f1342288b1a466849a14dde6f3b8fdfec38a80505538d8368ab1a70b5d6b09 |