Skip to main content

The Snappi Open Traffic Generator Python Package

Project description

snappi

license Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build Total alerts Language grade: Python pypi python

Test scripts written in snappi, an auto-generated python SDK, can be executed against any traffic generator conforming to Open Traffic Generator API.

Ixia-c is one such reference implementation of Open Traffic Generator API.

The repository is under active development and is subject to updates. All efforts will be made to keep the updates backwards compatible.

Install on a client

python -m pip install --upgrade snappi

Start scripting

import snappi
# create a new API instance where location points to controller
api = snappi.api(location='https://localhost')

# create a config object to be pushed to controller
config = api.config()
# add a port with location pointing to traffic engine
prt = config.ports.port(name='prt', location='localhost:5555')[-1]
# add a flow and assign endpoints
flw = config.flows.flow(name='flw')[-1]
flw.tx_rx.port.tx_name = prt.name

# configure 100 packets to be sent, each having a size of 128 bytes
flw.size.fixed = 128
flw.duration.fixed_packets.packets = 100

# add Ethernet, IP and TCP protocol headers with defaults
flw.packet.ethernet().ipv4().tcp()

# push configuration
api.set_config(config)

# start transmitting configured flows
ts = api.transmit_state()
ts.state = ts.START
api.set_transmit_state(ts)

# fetch & print port metrics
req = api.metrics_request()
req.port.port_names = [prt.name]
print(api.get_metrics(req))

Project details


Release history Release notifications | RSS feed

This version

0.5.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snappi-0.5.5.tar.gz (79.9 kB view details)

Uploaded Source

Built Distribution

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

snappi-0.5.5-py2.py3-none-any.whl (82.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file snappi-0.5.5.tar.gz.

File metadata

  • Download URL: snappi-0.5.5.tar.gz
  • Upload date:
  • Size: 79.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.14

File hashes

Hashes for snappi-0.5.5.tar.gz
Algorithm Hash digest
SHA256 c6315dc90d8288799f3a9380d6361d349e01eb0a0af10704f680c1eea9a61b5f
MD5 eb5f29dc6074d1bce5d64f51f18e2ccc
BLAKE2b-256 87fcc9dac78238ef48e81a1f6249d4913cc28c51766cfd61e0eea7d91d0e7636

See more details on using hashes here.

File details

Details for the file snappi-0.5.5-py2.py3-none-any.whl.

File metadata

  • Download URL: snappi-0.5.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 82.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.14

File hashes

Hashes for snappi-0.5.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 37e38dd15acc1e5c9a2effdf9ba6ea20731669745ddb94a4803c4941e2d8e747
MD5 9b8195fee81d9f17fe0a3c1aa6fe596c
BLAKE2b-256 c8bcacc2f64c0e7b2169c49493d4e1a6671052cea3882a17f6b4b608af20c8e0

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