prol2tp(1) ProL2TP Manual prol2tp(1) NAME prol2tp - management utility for prol2tpd SYNOPSIS prol2tp [-h] [-d] [command] prol2tp create tunnel name <tunnel_name> profile <profile_name> peer <peer ip> [ wait ] prol2tp create session name <session_name> in tunnel <id> profile <profile_name> [ wait ] prol2tp destroy tunnel <id> [ wait ] prol2tp destroy session <id> in tunnel <id> [ wait ] prol2tp recreate tunnel <id> prol2tp recreate session <id> in tunnel <id> prol2tp show system [ stats ] prol2tp show license prol2tp show tunnels prol2tp show tunnel <id> [ stats ] prol2tp show sessions prol2tp show session <id> in tunnel <id> [ stats ] prol2tp debug system <level> prol2tp debug tunnel <id> <level> prol2tp debug session <id> in tunnel <id> <level> prol2tp update license <filename> prol2tp reload config prol2tp register license [ name <name> ] prol2tp unregister license prol2tp checkin license DESCRIPTION prol2tp is a command-line management utility for interactive control and query of the prol2tpd L2TP daemon. It communicates with the daemon using an IPC socket. The prol2tp utility offers a range of commands, documented below, which control its runtime behaviour. prol2tp is a part of the ProL2TP suite of programs. For general information on the features of the ProL2TP suite refer to prol2tp(7). OPTIONS -h, --help Displays brief usage information -d, --debug Enables debug logging of IPC messages. COMMANDS prol2tp offers the following commands: * create: create tunnel and session instances * destroy: destroy tunnel and session instances * recreate: tear down and recreate tunnel and session instances * show: query daemon state * debug: control daemon log levels * miscellaneous: reload config, update license, register and unregister license IDENTIFYING TUNNEL AND SESSION INSTANCES Tunnel and session instances can be identified in a number of different ways, which are controlled by keywords in the prol2tp command. * Identification by administrative name. This method applies to locally-created instances, which must have administrative names assigned to them on creation. Keyword: name, e.g. tunnel name tunnel_42. * Identification by L2TP ID (tunnel ID, or session ID). This method applies to any tunnel or session instance, including those created by network request which will not have administrative names assigned them. Keyword: id, e.g. tunnel id 279127. CREATE COMMANDS create tunnel name <tunnel_name> profile <profile_name> peer <peer ip> [ wait ] Create a new tunnel instance. * tunnel_name is the administrative name to be assigned to the new instance. Administrative names must be unique, so there must be no existing tunnel of this name. * profile_name is the name of the tunnel configuration profile to use for the new instance. This must be a pre-existing profile in the prol2tpd configuration file. * peer ip is the IP address of the peer for the tunnel. * wait is an optional keyword: if specified, prol2tp will block on the tunnel either being created in the network, or failing due to e.g. transport timeout or the peer being down. By default prol2tp returns as soon as prol2tpd has responded to the tunnel create request, while the tunnel setup is still in progress. create session name <session_name> in tunnel <id> profile <profile_name> [ wait ] Create a new session instance. * session_name is the administrative name to be assigned to the new instance. Session administrative names must be unique within the parent tunnel. * id identifies the parent tunnel of the new session instance, using either the L2TP tunnel ID, or the administrative name. * profile_name refers to the session configuration profile to use for the new instance. The must be a pre-existing profile in the prol2tpd configuration file. * wait is an optional keyword: if specified, prol2tp will block on the session either being created in the network, or failing due to e.g. transport timeout or the peer being down. By default prol2tp returns as soon as prol2tpd has responded to the session create request, while the session setup is still in progress. The create commands can be useful to create L2TP instances dynamically, perhaps on a system event, where having the instance defined in the config file prol2tpd.conf isn't convenient. DESTROY COMMANDS destroy tunnel <id> [ wait ] Destroy an existing tunnel instance. * id identifies the tunnel to destroy, using either the L2TP tunnel ID, or the administrative name. * wait is an optional keyword: if specified, prol2tp will block on the tunnel being torn down and removed from the network. By default prol2tp returns as soon as prol2tpd has responded to the tunnel destroy request. destroy session <session id> in tunnel <tunnel id> [ wait ] Destroy an existing session instance. * session id identifies the session to destroy, using either the L2TP session ID, or the administrative name. * tunnel id identifies the session's parent tunnel, using either the L2TP tunnel ID, or the administrative name. * wait is an optional keyword: if specified, prol2tp will block on the session being torn down and removed from the network. By default prol2tp returns as soon as prol2tpd has responded to the session destroy request. Destroy commands can only destroy instances created by the create command. It is not possible to destroy instances defined in the config file prol2tpd.conf. RECREATE COMMANDS recreate tunnel <tunnel id> Tear down and recreate an existing tunnel instance. * tunnel id identifies the tunnel to recreate, using either the L2TP tunnel ID, or the administrative name. recreate session <session id> in tunnel <tunnel id> Tear down and recreate an existing session instance. * session id identifies the session to recreate, using either the L2TP session ID, or the administrative name. * tunnel id identifies the session's parent tunnel, using either the L2TP tunnel ID, or the administrative name. The recreate command offers a convenient way to recreate misconfigured tunnels and sessions. It only applies to locally-created instances (i.e. those from the config file or created by IPC request): this is because prol2tpd has no way to recreate an instance created by a peer. SHOW COMMANDS show system [ stats ] Display information about the system. The optional keyword stats displays system statistics. show license Display information about the currently loaded license, including enabled features and tunnel/session limits. When using a Cloud license, this command displays information about the license server state. show tunnels Display a list of tunnel instances with a brief one-line summary of tunnel status. show tunnel <id> [ stats ] Display detailed information about a single tunnel instance. If the optional keyword stats is included the output includes control and data plane statistics. show sessions Display a list of session instances with a brief one-line summary of session status. show session <id> in tunnel <id> [ stats ] Display detailed information about a single session instance. If the optional keyword stats is included the output includes data plane statistics. DEBUG COMMANDS debug system <level> Modify log level for prol2tpd core. This controls the daemon logging level, and will be inherited by tunnels and sessions created from that point forward, so long as the configuration file doesn't call out a log level. Valid levels are: crit, emerg, error, warning, notice, info, debug; corresponding to syslog(3) logging levels. debug tunnel <id> <level> Modify log level for a specific tunnel instance. This controls the tunnel's logging level. Valid levels are: crit, emerg, error, warning, notice, info, debug; corresponding to syslog(3) logging levels. debug session <id> in tunnel <id> <level> Modify log level for a specific session instance. This controls the session's logging level. Valid levels are: crit, emerg, error, warning, notice, info, debug; corresponding to syslog(3) logging levels. MISCELLANEOUS COMMANDS update license <filename> Update the prol2tpd license file. This is intended for in-field license upgrades, allowing the running daemon to be updated without taking down the existing tunnel and session instances. Upon successful completion the license will be written to persistent storage under the default license file path such that prol2tpd will load the new license when it next starts up. register license [ name <name> ] Register a Cloud license with the ProL2TP license server, which is necessary prior to running prol2tpd. The optional name parameter overrides the default name (hostname) which the license server stores to allow management of Cloud license instances. unregister license Unregister a Cloud license by contacting the server to indicate that this instance is being decommissioned. checkin license When using a Cloud license with limit sharing enabled, request prol2tpd checks in with the ProL2TP license server. This command may be helpful for debugging connectivity issues between prol2tpd and the ProL2TP license server. This command may also trigger a recalculation of the sharing of tunnel and session limits between the prol2tpd instances registered against the Cloud license, which may be helpful for managing client migration from one prol2tpd instance to another. reload config Reread the prol2tpd configuration file. Equivalent of sending prol2tpd a SIGHUP signal. AUTHORS Katalix Systems, Ltd. ProL2TP 2.6.4 October 2024 prol2tp(1)