Spirent TestCenter#
Spirent TestCenter is identified with spirent_stc kind in the topology file.
Spirent TestCenter (STC) is a containerised version of the Spirent traffic generator. It supports up to 9 test interfaces.
Managing Spirent TestCenter nodes#
Once the STC node is up in healthy state, you can connect using the STC client.
See the Client access section for more info.
Interfaces#
The STC container uses the following interface mapping:
| Interface | Usage |
|---|---|
admin0 | Management interface |
port1 - port9 | Test port interfaces |
A maximum of 9 test ports are supported.
Interfaces are defined in the topology file as port1-9 (inclusive), this matches the port naming you shall see in the Test Center client when reserving ports.
Client access#
As the TestCenter client runs on Windows, you need to establish connectivity between the client and the spirent_stc node.
Port forwarding#
The suggested method is to use port forwarding, which exposes the required ports from the spirent_stc node on your containerlab host system.
Sample topology#
Below is a sample topology with the port publishing on the node: my-stc.
name: port-publish
topology:
nodes:
my-stc:
kind: spirent_stc
image: stc:5.50.2906
ports:
- 80:80
- 40004:40004/udp
- 40005:40005/udp
- 51204:51204/udp
Routing#
Another method is to establish L3 connectivity either via some sort of tunneling or installing a static route to enable the client system to reach the lab management network.
While containerlab attempts to allow external access to the management network, ensure that no firewall rules/filtering could be preventing external access.
Windows example#
The static route is typically installed for the whole containerlab management subnet with a next-hop of the containerlab host IP address.
The command prompt/cmd command to add the static route on Windows is:
For example, if my management subnet was 172.20.20.0/24 and my containerlab host IP is 192.168.1.200. The command would be:
Host optimisations#
Note
While the below configurations on the host system may increase Spirent TestCenter, most NOSes supported by Containerlab are not designed for high throughput packet forwarding and likely implement dataplane performance limiting.
Some host optimisations are suggested to increase performance of a Spirent TestCenter.
- All power saving (SpeedStep, C1 states, etc.) and turbo boost options should be disabled on the host system.
Recommended sysctls#
The following sysctls are suggested to be set on the host to improve Tx/Rx rates.
To make these persistent across reboots, add these to your host sysctl configuration via /etc/sysctl.conf or as a drop in .conf file under /etc/sysctl.d/: