Skip to main content

The IxNetwork Open Traffic Generator Python Package

Project description

Keysight IxNetwork Open Traffic Generator

Build pypi python license

The Keysight IxNetwork implementation of the open-traffic-generator models.

Getting Started

Install the client

pip install --upgrade ixnetwork-open-traffic-generator

Start scripting

"""A simple test that demonstrates the following:
- A port that transmits an ethernet/vlan/ipv4/tcp flow 
for a specified duration and a port that receives the packets.
- While the flow is transmitting the script prints out tx and rx statistics.
- Once all the packets have been transmitted the script will end. 
"""
import abstract_open_traffic_generator.port as port
import abstract_open_traffic_generator.flow as flow
import abstract_open_traffic_generator.config as config
import abstract_open_traffic_generator.control as control
import abstract_open_traffic_generator.result as result
from ixnetwork_open_traffic_generator.ixnetworkapi import IxNetworkApi
import pandas

tx_port = port.Port(name='Tx Port', location='10.36.74.26;02;13')
rx_port = port.Port(name='Rx Port', location='10.36.74.26;02;14')
flow = flow.Flow(name='Tx Port to Rx Port Flow',
                 tx_rx=flow.TxRx(
                     flow.PortTxRx(tx_port_name=tx_port.name,
                                   rx_port_name=rx_port.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(unit='pps', value=1000),
                 duration=flow.Duration(flow.FixedPackets(10000)))
config = config.Config(ports=[tx_port, rx_port],
                       flows=[flow],
                       options=config.Options(port_options=port.Options(
                           location_preemption=True)))

api = IxNetworkApi(address='10.36.66.49', port=11009)
api.set_state(control.State(control.ConfigState(config=config, state='set')))
state = control.State(control.FlowTransmitState(state='start'))
api.set_state(state)

request = result.PortRequest(
    column_names=['name', 'location', 'frames_tx', 'frames_rx'])
while True:
    results = api.get_port_results(request)
    df = pandas.DataFrame.from_dict(results)
    print(df)
    if df.frames_tx.sum() >= config.flows[0].duration.packets.packets:
        break

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.62.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ixnetwork_open_traffic_generator-0.0.62-py2.py3-none-any.whl (40.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ixnetwork_open_traffic_generator-0.0.62.tar.gz.

File metadata

  • Download URL: ixnetwork_open_traffic_generator-0.0.62.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for ixnetwork_open_traffic_generator-0.0.62.tar.gz
Algorithm Hash digest
SHA256 814ed886e418b64433fcecb98c015c20855dc3ce04673e1b504d50fdfedbc721
MD5 c213a7ca077c113b8b78a06442988cd3
BLAKE2b-256 61f16d3269a3c1ee1a6c9bdfbf6a94789f5ba133665b4e4f416525c89d14c1d9

See more details on using hashes here.

File details

Details for the file ixnetwork_open_traffic_generator-0.0.62-py2.py3-none-any.whl.

File metadata

  • Download URL: ixnetwork_open_traffic_generator-0.0.62-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for ixnetwork_open_traffic_generator-0.0.62-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f67cbf442b6be90eab84c376c7c634af38a705d84550d157c5f64463752dcfb9
MD5 9b65c7072e93320ea85dd3c7fd3003f2
BLAKE2b-256 590f36e92182019095490a85ed15ffc42584f101ac8fdad6543a7e7e124c87c9

See more details on using hashes here.

Supported by

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