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.9.tar.gz (50.3 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.9-py2.py3-none-any.whl (91.8 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: snappi-0.1.9.tar.gz
  • Upload date:
  • Size: 50.3 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.9.tar.gz
Algorithm Hash digest
SHA256 3c07932cbf237816cbb8f26623ed47d3fd339eeac8e29eefe049130a91dedf89
MD5 5b8b2d5a573c865b3de528ca08ef6125
BLAKE2b-256 579031e6ed5742dd01a8688e2b0403f8c14ba949a5d00a62f48b36c434824a54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: snappi-0.1.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 91.8 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.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 27c0fc721e14fc6f9f698a9443c30a37293c6b2386c7428f90f7a6d6519ccfbd
MD5 60be215574c3e8b648f66e0c3c4bc3fa
BLAKE2b-256 5391d57bf1be6b8191b80b3448cc621d70940d3d6c71fc5a854074cc6b2a98de

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