Skip to main content

The Snappi Open Traffic Generator Python Package

Project description

snappi

Create test case scripts once using the snappi client and run them using a traffic generator that conforms to the Open Traffic Generator API.

Install the client

pip install snappi

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 snappi

api = snappi.Api()
config = api.config()
tx_port, rx_port = config.ports \
    .port(name='Tx Port', location='10.36.74.26;02;13')
    .port(name='Rx Port', location='10.36.74.26;02;14')
flow = config.flows.flow(name='Tx -> Rx Flow')
flow.tx_rx.port.tx_name = tx_port.name
flow.tx_rx.port.tx_name = rx_port.name
flow.packet.ethernet().vlan().ipv4().tcp()
flow.size.fixed = 128
flow.rate.pps = 1000
flow.duration.fixed_packets.packets = 10000
api.set_config(config)

tx_state = api.transmit_state(state='start')
api.set_transmit(tx_state)

while True:
    results = api.get_port_results(api.result_portrequest)
    df = pandas.DataFrame.from_dict(results)
    print(df)
    if df.frames_tx.sum() >= flow.duration.fixed_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

snappi-0.1.11.tar.gz (50.5 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.1.11-py2.py3-none-any.whl (91.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: snappi-0.1.11.tar.gz
  • Upload date:
  • Size: 50.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for snappi-0.1.11.tar.gz
Algorithm Hash digest
SHA256 3be6147b72152afbb6b32c56fbe8cc64c530848f17183f3c2d3ed13e218e730e
MD5 79229201b3c9944036b3d282a88abc17
BLAKE2b-256 09aafcfeb678ba3c04f73bcbc97c85b9e30b99fa51f84fe7bd077985ee290bff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: snappi-0.1.11-py2.py3-none-any.whl
  • Upload date:
  • Size: 91.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for snappi-0.1.11-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cf5d1be57ebceeef8f560fa246f07515bf6bbba1a9c90bff34edc9e783eab8ec
MD5 e4cda6676fa704898f7c3a8a4e360201
BLAKE2b-256 bb98df0149bfb23db3a6808095991023d665503313296e0f7a9444e304527dea

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