Hello everyone!
We are excited to announce today the very first release of the Linux Network Stack Test.
LNST is a framework aimed at testing the network stacks in Linux. Our main goal with it is to make creating automated network test scenarios as convenient and as simple as possible.
Networking tests aren't inherently difficult to do, quite the opposite. In many cases, the test scenarios require just a few messages to be exchanged between two machines. However, being able to exchange even a single message may require an awful lot of configuration. And this is the hard part.
In many cases the configuration is tied to a specific infrastructure or a certain lab, which makes virtually all networking tests depend on the environment they were created in and almost impossible to automate. What if the IP addresses in the network change? Or your NIC blows up and you'll need to buy a new one?
With LNST, we try to overcome these problems with portability and automation by providing an additional layer between the test and the infrastructure. LNST makes no assumptions about the configuration and controls the entire process of setting up the network automatically according to a description you provide. It can manage bridges, VLANs, bonding or team devices, and other more advanced configurations.
Another problem of network tests we are trying to help with is the debugging process. You have to distribute the modified code of the test to all the machines that are involved repeatedly. Then, if something goes wrong you need to ssh to the machine, look around different logs, start tcpdump to watch what happens on the interfaces. The development process of network tests can be really time consuming.
LNST provides tools for all these situations. It watches for updates in your test library and automatically distributes the test cases you develop to the test machines. When something goes wrong, you will see exactly what happened at every machine. And in case something goes wrong silently, you can easily instruct LNST to watch for certain kind of packets or even capture the entire communication in the test network to a pcap file and upload it to your workstation for inspection.
You can get LNST 1 from the Fedora repository (18, 19, and 20):
yum install lnst-ctl yum install lnst-slave
You can also get it from the Python Package Index:
pip install lnst
Alternatively, you can download the sources here:
For more detailed information and tutorials, please see our wiki:
https://github.com/jpirko/lnst/wiki
We hope you'll find the LNST framework useful :-).
-The LNST Team
lnst-developers@lists.fedorahosted.org