Ostinato and Nokia SR Linux#
Description | Ostinato traffic generator connected with Nokia SR Linux |
Components | Ostinato, Nokia SR Linux |
Resource requirements1 | 2 4 GB |
Topology file | ost-srl.clab.yaml |
Name | ost-srl |
Version information2 | containerlab:0.55.1 , ostinato:v1.3.0-1 , srlinux:24.3.2 , docker-ce:26.0.0 |
Description#
This lab consists of a Ostinato node with 2 ports connected to 2 ports on a Nokia SR Linux node via two point-to-point ethernet links. Both nodes are also connected with their management interfaces to the containerlab
docker network.
Ostinato is a software based network packet traffic generator managed via a GUI or a Python script using the Ostinato API. This example will demonstrate how to use the Ostinato GUI included with the Ostinato for Containerlab image to verify IPv4 forwarding.
Deployment#
Change into the lab directory:
Deploy the lab:
Use cases#
This lab allows users to validate IPv4 forwarding on Nokia SR Linux (the DUT) using Ostinato as the traffic generator.
IPv4 Traffic forwarding#
This lab demonstrates a simple IPv4 traffic forwarding scenario where
- Ostinato with two test ports
eth1
andeth2
connected to Nokia SR Linux portse1-1
ande1-2
respectively. - SR Linux is the DUT and its interfaces
e1-1
ande1-2
are configured with IPv4 addresses10.0.0.1/24
and20.0.0.1/24
respectively. - Ostinato will emulate host
10.0.0.100
oneth1
and20.0.0.100
oneth2
- Ostinato will send bidirectional traffic at 100pps (
eth1
→e1-1
) and 200pps (eth2
→e1-2
) - The TX and RX traffic rates can be verified in the Port Stats window of the Ostinato GUI
Configuration#
During the lab deployment and test execution the following configuration is applied to the lab nodes to forward and receive traffic.
-
SR Linux
SR Linux node comes up pre-configured with the commands listed in srl.cfg file which configure IPv4 addresses on both interfaces. -
Ostinato
Ostinato configuration is saved in the ost-srl.ossn file which will configure the emulated hosts and traffic streams. The configuration file needs to be loaded manually as explained in the next section
Warning
All Ostinato stream and session files are NOT in text (or human readable) format but a binary format read and written by Ostinato
Execution#
- Access the Ostinato GUI by connecting a VNC client to
<host-ip>:5900
- Once the GUI opens and the
eth1
,eth2
ports are listed, go toFile | Open Session
and open/root/shared/ost-srl.ossn
- In the Ostinato Port Stats window, select both
eth1
andeth2
port columns and click on (start transmit)
Verification#
- Verify the port stats and rates in the same window
- Keeping both
eth1
andeth2
selected, click on (stop transmit)
Here's a short video showing the above steps -
Next Steps#
You can edit the Ostinato emulated devices and streams to experiment further.
Here are some suggestions -
- Override the IPv4 checksum to an invalid value and verify the DUT silently discards the packets (some DUTs may send an ICMP parameter problem)
- Try setting IPv4 TTL to 1 and verify
- traffic is not forwarded by the DUT
- DUT sends back ICMP TTL Exceeded (you can capture and view captured packets)
- Try IPv6 traffic streams
Learn more about Ostinato traffic streams.
Cleanup#
To stop the lab, use: