lnst-ctl man page

lnst-ctl — Linux Network Stack Test controller


lnst-ctl [OPTION]... ACTION RECIPE...


Linux Network Stack Test is a tool that supports development and execution of automated and portable network tests. For detailed description of the architecture of LNST please refer to project website (link listed on Internet Resources bellow).

lnst-ctl is a script used for managing slaves. It reads a recipe XML file as an input and executes tests on the specified slave machines.


-A, --override-alias name=value

Define top-level alias that will override any other definitions in the recipe

-a, --define-alias name=value

Define top-level alias

-c, --config=file

Load a custom configuration file in addition to /etc/lnst-ctl.conf and ~/lnst/lnst-ctl.conf that are loaded by default.

-d, --debug

Toggle emitting debugging messages.


Dumps the join of all loaded configuration files on stdout and exits

-h, --help

Display usage of this command.

-m, --no-colours

Disable coloured terminal output.

-o, --disable-pool-checks

Skip the pool machine availability checks.

-p, --packet-capture

Capture and log all ongoing network communication between the slaves during the test.


Restricts which pools to use for matching, value is a comma separated list of values


Restrict which pool to use for matching, value is single path to a pool directory

-r, --reduce-sync

Disable synchronization of module and tool resources to slave machines, when python tasks are used in the recipe. Instead the user can manually synchronize resources from the python task itself. This option has no effect if the recipe only contains xml tasks.

-s, --xslt-url=URL

URL to a XSLT document that will be used when transforming the xml result file, only useful when -t is used as well

-t, --html=file

Generate a formatted result html

-u, --multi-match

Run each recipe with every pool match possible

-x, --result=file

Write results in XML format to the specified file.

-v, --verbose

Extends output of list_pools action

RECIPE can be either a LNST recipe file or a directory containing recipe files. One or more files/directories can be passed at the same time. Each recipe is a XML file. The format is described in detail in the online documentation available at LNST wiki (link is listed on Internet Resources bellow).

ACTION can be one of run, config_only, deconfigure, match_setup, and list_pools.

When it is set to run, all provided recipe files will be sequentially executed. The network will be configured accordingly to each recipe file and clean up afterwards.

In case of config_only, the recipes provided are processed up to the point where all the machines are prepared and properly configured. No tests will be executed and the cleanup phase is omitted as well. This mode of operation is useful if you want to perform some specific actions or tests outside of LNST using the configuration specified in a recipe file.

In case of deconfigure, the configuration from a previous config_only run will be removed, including dynamically created devices on virtual machines. There is no need to specify a recipe for this action.

In case of list_pools, lnst-ctl looks up all the pools entered in configs and dumps info about them. When used without -v or --verbose option, only pool names and paths are printed. With verbose option, all viable slave machine configs are printed in more human readable format.

At last, when the ACTION is set to match_setup, lnst-ctl will only try to match the configuration in the recipe with its local pools and print the resulting match, in case it was successful or an appropriate error message, in case it was not.


lnst-ctl will look for configuration in the following locations:


For further description of file format or configuration options available, please refer to the configuration file itself, where each option is documented.

Exit Status

lnst-ctl will terminate with one of the following statuses:

   0    All tests passed, no errors encountered
   1    At least one test failed
   2    There was an error during the execution

Internet Resources

Project Homepage:      http://lnst-project.org/
Online Documentation:  https://github.com/jpirko/lnst/wiki#learn
Git Source Tree:       https://github.com/jpirko/lnst
Mailing List:          <lnst-developers@lists.fedorahosted.org>


Jiri Pirko <jiri@resnulli.us>
Jan Tluka <jtluka@redhat.com>
Ondrej Lichtner <olichtne@redhat.com>
Jiri Prochazka <jprochaz@redhat.com>
Jiri Zupka <jzupka@redhat.com>
Radek Pazdera <radek@pazdera.co.uk>