Skip to main content

The IxNetwork Python Client

Project description

The IxNetwork Python Client

pypi python license downloads

Install the client

pip install --upgrade ixnetwork-restpy

Import the package

Import a package based on your product:

# The ixnetwork_restpy package is the superset of all IxNetwork products
from ixnetwork_restpy import SessionAssistant
# The uhd_restpy package is a subset of the ixnetwork_restpy package for the UHD appliance
from uhd_restpy import SessionAssistant

Start scripting

"""This script demonstrates how to get started with ixnetwork_restpy scripting.

The script demonstrates the following:
    - connect to an IxNetwork test platform, authenticate, add a new session and clear the config
    - create 1 tx port and 1 rx port
    - create traffic from the tx port to the rx port
    - start traffic
    - print statistics
    - stop traffic
"""
from ixnetwork_restpy import SessionAssistant


# create a test tool session
session_assistant = SessionAssistant(IpAddress='127.0.0.1', 
    LogLevel=SessionAssistant.LOGLEVEL_INFO, 
    ClearConfig=True)
ixnetwork = session_assistant.Ixnetwork

# create tx and rx port resources
port_map = session_assistant.PortMapAssistant()
port_map.Map('10.36.74.26', 2, 13, Name='Tx')
port_map.Map('10.36.74.26', 2, 14, Name='Rx')

# create a TrafficItem resource
# TrafficItem acts a a high level container for ConfigElement resources
# ConfigElement is a high level container for individual HighLevelStream resources
traffic_item = ixnetwork.Traffic.TrafficItem.add(Name='Traffic Test', TrafficType='raw')
traffic_item.EndpointSet.add(
    Sources=ixnetwork.Vport.find(Name='^Tx').Protocols.find(), 
    Destinations=ixnetwork.Vport.find(Name='^Rx').Protocols.find())

# using the traffic ConfigElement resource
# update the frame rate
# update the transmission control
traffic_config = traffic_item.ConfigElement.find()
traffic_config.FrameRate.update(Type='percentLineRate', Rate='100')
traffic_config.TransmissionControl.update(Type='continuous')

# adjust Ethernet stack fields
destination_mac = traffic_config.Stack.find(StackTypeId='ethernet').Field.find(FieldTypeId='ethernet.header.destinationAddress')
destination_mac.update(ValueType='valueList', ValueList=['00:00:fa:ce:fa:ce', '00:00:de:ad:be:ef'], TrackingEnabled=True)

# push ConfigElement settings down to HighLevelStream resources
traffic_item.Generate()

# connect ports to hardware test ports
# apply traffic to hardware
# start traffic
port_map.Connect(ForceOwnership=True)
ixnetwork.Traffic.Apply()
ixnetwork.Traffic.StartStatelessTrafficBlocking()

# print statistics
print(session_assistant.StatViewAssistant('Port Statistics'))
print(session_assistant.StatViewAssistant('Traffic Item Statistics'))
print(session_assistant.StatViewAssistant('Flow Statistics'))

# stop traffic
ixnetwork.Traffic.StopStatelessTrafficBlocking()

Supported Server Versions

This client package supports versions 8.52 and up of the following servers:

  • Linux IxNetwork API Server
  • Windows IxNetwork GUI
  • Windows IxNetwork Connection Manager

Documentation

Documentation is available using the following methods:

  • Online web based documentation

  • Documentation available in the online doc browser is also inlined in each class, property and method and can be viewed using the python help command

    from ixnetwork_restpy import SessionAssistant
    
    help(SessionAssistant)
    

Additional Samples

Visit the OpenIxia ixnetwork-restpy sample site maintained by solution architects for in-depth end-to-end samples that demonstrate the following:

  • building a configuration
    • from scratch
    • from an existing IxNetwork configuration
  • running the configuration
    • connecting ports to hardware
    • starting protocols
    • starting traffic
  • getting statistics
    • port stats
    • traffic stats

Contributing

The purpose of this repository is to allow users to clone the auto generated code. We do not accept pull requests in this repository.

Feedback such as bugs/enhancements/questions regarding the ixnetwork-restpy package is welcomed by opening a GitHub issue.

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

ixnetwork_restpy-1.8.0.tar.gz (8.2 MB view details)

Uploaded Source

Built Distribution

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

ixnetwork_restpy-1.8.0-py2.py3-none-any.whl (18.3 MB view details)

Uploaded Python 2Python 3

File details

Details for the file ixnetwork_restpy-1.8.0.tar.gz.

File metadata

  • Download URL: ixnetwork_restpy-1.8.0.tar.gz
  • Upload date:
  • Size: 8.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for ixnetwork_restpy-1.8.0.tar.gz
Algorithm Hash digest
SHA256 fda078e522d48e5b4671b3a66c96cc755825fef608c0d9f98a326d4ec1cf12b7
MD5 731fabe85b59ee0e39883e47fad61024
BLAKE2b-256 32fd2967a16662bf3dbd7e9aa06d26bcb015ac08e5b2e3024f2659646f6d862a

See more details on using hashes here.

File details

Details for the file ixnetwork_restpy-1.8.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ixnetwork_restpy-1.8.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3a9ee7ffa1a86785591ed0d7fdb00edbba299181049e13aad655040fc8f9e32a
MD5 1b08cdd5eb23e928ab9c345f02ac8433
BLAKE2b-256 f2de643b433217e5f62851a355f5556ef6116ee6c467ddf5eaa22af8112ab4ca

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