Skip to main content

The IxNetwork Open Traffic Generator Python Package

Project description

Keysight IxNetwork Open Traffic Generator

Build pypi python license Total alerts Language grade: Python

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

ixnetwork_open_traffic_generator-0.0.85.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

ixnetwork_open_traffic_generator-0.0.85-py2.py3-none-any.whl (46.5 kB view details)

Uploaded Python 2 Python 3

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

Hashes for ixnetwork_open_traffic_generator-0.0.85.tar.gz
Algorithm Hash digest
SHA256 b11adb122f803c27fe45644dedbe4389f40e792b4d80da017d7ec546965d5ef9
MD5 2d6df2d66f4a2011504c46984e8b0043
BLAKE2b-256 3ac15439d272fcb841544c24e4a83e223dcb4e4aa9939654402e22a94f545ee3

See more details on using hashes here.

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

Hashes for ixnetwork_open_traffic_generator-0.0.85-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b1c92fb34765aacfd67cf1898a92fd11c85022896ba4d2852d92476b4a6889bd
MD5 a8b2174892f34e2819948a810e13e914
BLAKE2b-256 b2f1342288b1a466849a14dde6f3b8fdfec38a80505538d8368ab1a70b5d6b09

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page