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

This version

0.1.4

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.4.tar.gz (44.8 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.4-py2.py3-none-any.whl (82.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: snappi-0.1.4.tar.gz
  • Upload date:
  • Size: 44.8 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.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1

File hashes

Hashes for snappi-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5f11a7fe0bed60dfda7f37cf505d6c0eb6a98905caf938d71327f72d2abe9989
MD5 9194374428b4a3e8dd3293aa00d76d8e
BLAKE2b-256 fe70ca0581bb2888dc49c37bb38feab51e6c3eac2ffd3515a41644b1e46ec026

See more details on using hashes here.

File details

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

File metadata

  • Download URL: snappi-0.1.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 82.1 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.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1

File hashes

Hashes for snappi-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6cf8e72259400f50561fe43711b43c58c1c1f0db748b70f95359cd9269276f01
MD5 1792477def9d5539e718ad50a8aa382e
BLAKE2b-256 70ff746ec4104bb538f6d3afe6bbbfc11a83098b15524c41a95ae6482c796829

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