Skip to content

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:

cd containerlab/lab-examples/ost-srl

Deploy the lab:

sudo containerlab deploy

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 and eth2 connected to Nokia SR Linux ports e1-1 and e1-2 respectively.
  • SR Linux is the DUT and its interfaces e1-1 and e1-2 are configured with IPv4 addresses 10.0.0.1/24 and 20.0.0.1/24 respectively.
  • Ostinato will emulate host 10.0.0.100 on eth1 and 20.0.0.100 on eth2
  • Ostinato will send bidirectional traffic at 100pps (eth1e1-1) and 200pps (eth2e1-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#

  1. Access the Ostinato GUI by connecting a VNC client to <host-ip>:5900
  2. Once the GUI opens and the eth1, eth2 ports are listed, go to File | Open Session and open /root/shared/ost-srl.ossn
  3. In the Ostinato Port Stats window, select both eth1 and eth2 port columns and click on (start transmit)

Verification#

  1. Verify the port stats and rates in the same window
  2. Keeping both eth1 and eth2 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:

sudo containerlab destroy --cleanup

  1. Resource requirements are provisional. Consult with the installation guides for additional information. 

  2. The lab has been validated using these versions of the required tools/components. Using versions other than stated might lead to a non-operational setup process.