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
Close
Hashes for ixnetwork_open_traffic_generator-0.0.76.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d448571ab5c23d0bd830d9056356dbc3501f606d85b1c9b22b1cf41f3d049ba |
|
MD5 | da19834161f1529d03e62c97f7acd6cb |
|
BLAKE2b-256 | b5e5c09098af2beb8aa6c8ac6f0c1ecf49e91ca3e48fa0a91cebb2fce7ecd30f |
Close
Hashes for ixnetwork_open_traffic_generator-0.0.76-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ec5387bdc7848e5d501c4ecae8558da2073d6759e963d335b53e6a8041cc4d4 |
|
MD5 | f4a4c70a19151dccba769d8356036a63 |
|
BLAKE2b-256 | aed11b4796dff1f60086960cd2d5429f98ccac6002701029f82ea4caae3b26f8 |