ixia-c-one

ixia-c-one is a re-packaged (as a single-container) flavor of multi-container application ixia-c.
This repository hosts bare minimum artifacts (configurations and tests) to get started with containerlab and ixia-c-one.

Prerequisites

Get Started

  • Clone this repository

    git clone https://github.com/open-traffic-generator/ixia-c-one.git && cd ixia-c-one
  • Get containerlab with newly introduced support for ixia-c-one plugin

    curl -kLO https://github.com/open-traffic-generator/ixia-c-one/releases/download/v0.0.1-2610/containerlab
    chmod +x containerlab
  • Create Topology

    sudo ./containerlab deploy --topo ixia-c-one-ceos.clab.yaml

    If this step fails, most probably you do not have the ceos docker image.
    Please obtain the image from https://www.arista.com/en/support/software-download and re-tag it as specified in .yaml.

  • Run Tests

    # all tests, test configs and helpers are kept inside this directory
    cd tests
    # modify hostnames of ixia-c-one (otg) or ceos (dut) if there was a change in .clab.yaml
    vi const.go
    
    # Modify contents of test contents for L2 forwarding test with DUT acting as a switch if needed
    # and note the name of Test* function.
    vi l2_traffic_test.go
    # Run the test using the name noted above. 
    go test -run=TestL2Traffic -v | tee out.log
    
    # Modify test contents of L3 forwarding test with DUT acting as BGP router if needed and note the
    # name of Test* function
    vi bgp_route_install_test.go
    # Run the test using the name noted above
    go test -run TestBGPRouteInstall
  • Destroy Topology

    sudo ./containerlab destroy --topo ixia-c-one-ceos.clab.yaml

GitHub

View Github