Ostinato#
Ostinato network traffic generator is currently identified with linux
kind in the topology file. This will change to its own kind in the future.
Getting Ostinato image#
Ostinato for containerlab image is a paid (but inexpensive) offering and can be obtained from the Ostinato for Containerlab section of the Ostinato website. Follow the instructions on the page to install the image.
Topology definition#
Add a topology definition for the Ostinato node in .clab.yml
as shown below -
topology:
nodes:
ost:
kind: linux
image: ostinato/ostinato:{tag}
ports:
- 5900:5900/tcp
- 7878:7878/tcp
Replace {tag}
above with the tag shown in the output of docker images
Managing Ostinato nodes#
Ostinato has a GUI and a Python API. The Ostinato image includes both the Ostinato agent (called Drone) which does the actual traffic generation and the Ostinato GUI that is used to configure and monitor the Drone agent.
The GUI is the primary way to work with Ostinato and is accessible over VNC. To use the Ostinato API, you will need Ostinato PyApi.
Once the lab is deployed, connect any VNC client to <host-ip>:5900
- this will bring up the Ostinato GUI.
The GUI only lists the data interfaces and hence, eth0
will not be included
To manage the Ostinato node using the Ostinato Python API, you will typically write a script using the API and run it on the same or different host connecting to the Drone agent via the management interface
Interfaces mapping#
Ostinato container includes the following interfaces -
eth0
- management interface (should NOT be used for data traffic)eth1+
- data interfaces to connect to other nodes for traffic generation
File mounts#
Ostinato allows you to save and load files - traffic streams, pcaps and session files. To ensure persistence of these files (after a lab is destroyed), mount a directory on the host to a directory inside the container as shown in the example below -
topology:
nodes:
ost:
kind: linux
image: ostinato/ostinato:{tag}
ports:
- 5900:5900/tcp
- 7878:7878/tcp
binds:
- /some/dir/on/host:/some/path/in/container
You can read more about node binds
Lab examples#
A simple Ostinato and Nokia SR Linux lab demonstrates a simple test topology, IPv4 traffic streams to verify L3 forwarding and a short video clip that shows it in action.
More#
You can find more information including how to run the Ostinato GUI natively on your Windows/MacOS laptop to manage the Ostinato agent running inside containterlab on the Ostinato for Containerlab page.