Ixia-c Traffic Engine and FRR with Containerlab
Overview
In this setup, we demonstrate how to deploy Ixia-c Traffic Engine nodes in Containerlab. This setup has an FRR container as a Device Under Test (DUT). Finally, we use otgen
CLI tool to run the test and report statistics.
Diagram
Layer 3 topology and generated traffic flows
Quick start
Follow this sections for a quick version of how to run the lab using make
. This is how CI pipeline in GitHub Actions runs it.
-
Clone this repository
-
To run all the steps below at once, execute:
Otherwise, follow step-by-step instructions below.
Prerequisites
- Linux host or VM with sudo permissions and Docker support
git
- how to install depends on your Linux distro.- Docker
- Containerlab
-
Make sure
/usr/local/bin
is in your$PATH
variable (by default this is not the case on CentOS 7)
Clone the repository
-
Clone this repository to the Linux host where you want to run the lab. Do this only once.
-
Navigate to the lab folder
Deploy a lab
Run traffic
-
Read MAC addresses assigned to the nodes
TE1SMAC=`cat clab-ixctedut/topology-data.json | jq -r '.links[0]["a"].mac'` TE1DMAC=`cat clab-ixctedut/topology-data.json | jq -r '.links[0]["z"].mac'` TE2SMAC=`cat clab-ixctedut/topology-data.json | jq -r '.links[1]["a"].mac'` TE2DMAC=`cat clab-ixctedut/topology-data.json | jq -r '.links[1]["z"].mac'`
-
Run traffic defined in otg.yml with
otgen
tool, taking care to replace stub MAC addresses with current values