The IxNetwork Python Client

ixnetwork, performance, traffic, generator, real, world, ixia, automation, ixnetwork-python-client, python, rest, traffic-generator
pip install ixnetwork-restpy==1.1.8


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='', 
ixnetwork = session_assistant.Ixnetwork

# create tx and rx port resources
port_map = session_assistant.PortMapAssistant()
port_map.Map('', 2, 13, Name='Tx')
port_map.Map('', 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')

# 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')

# 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

# connect ports to hardware test ports
# apply traffic to hardware
# start traffic

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

# stop traffic

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 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

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


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.