Command line session

define

define <variable-name> <value>

Declaration: define_cmd src/vlib/unix/cli.c line 4054

Implementation: define_cmd_fn

echo

echo <rest-of-line>

Declaration: cli_unix_echo_cmd src/vlib/unix/cli.c line 4016

Implementation: echo_cmd

exec

exec <filename>

Executes a sequence of CLI commands which are read from a file. If a command is unrecognized or otherwise invalid then the usual CLI feedback will be generated, however execution of subsequent commands from the file will continue.

The VPP code is indifferent to the file location. However, if SELinux is enabled, then the file needs to have an SELinux label the VPP process is allowed to access. For example, if a file is created in /usr/share/vpp/, it will be allowed. However, files manually created in ‘/tmp/’ or ‘/home/<user>/’ will not be accessible by the VPP process when SELinux is enabled.

Sample file:

``$ cat /usr/share/vpp/scripts/gigup.txt``
set interface state GigabitEthernet0/8/0 up
set interface state GigabitEthernet0/9/0 up

Example of how to execute a set of CLI commands from a file:

exec /usr/share/vpp/scripts/gigup.txt

Declaration: cli_exec src/vlib/unix/cli.c line 3470

Implementation: unix_cli_exec

history

Show current session command history

Displays the command history for the current session, if any.

Declaration: cli_unix_cli_show_history src/vlib/unix/cli.c line 3626

Implementation: unix_cli_show_history

q

Exit CLI

Declaration: unix_cli_q_command src/vlib/unix/cli.c line 3329

Implementation: unix_cli_quit

quit

Exit CLI

Terminates the current CLI session.

If VPP is running in @em interactive mode and this is the console session (that is, the session on stdin) then this will also terminate VPP.

Declaration: unix_cli_quit_command src/vlib/unix/cli.c line 3321

Implementation: unix_cli_quit

set terminal ansi

set terminal ansi [on|off]

Enables or disables the use of ANSI control sequences by this terminal. The default will vary based on terminal detection at the start of the session.

ANSI control sequences are used in a small number of places to provide, for example, color text output and to control the cursor in the pager.

Declaration: cli_unix_cli_set_terminal_ansi src/vlib/unix/cli.c line 3949

Implementation: unix_cli_set_terminal_ansi

set terminal history

set terminal history [on|off] [limit <lines>]

Enables or disables the command history function of the current terminal. Generally this defaults to enabled.

This command also allows the maximum size of the history buffer for this session to be altered.

Declaration: cli_unix_cli_set_terminal_history src/vlib/unix/cli.c line 3910

Implementation: unix_cli_set_terminal_history

set terminal pager

set terminal pager [on|off] [limit <lines>]

Enables or disables the terminal pager for this session. Generally this defaults to enabled.

Additionally allows the pager buffer size to be set; though note that this value is set globally and not per session.

Declaration: cli_unix_cli_set_terminal_pager src/vlib/unix/cli.c line 3839

Implementation: unix_cli_set_terminal_pager

show cli-sessions

Show current CLI sessions

Displays a summary of all the current CLI sessions.

Typically used to diagnose connection issues with the CLI socket.

show cli-sessions

PNI   FD    Name                 Flags
343   0     unix-cli-stdin       IslpA
344   7     unix-cli-local:20    ISlpA
346   8     unix-cli-local:21    iSLpa

In this example we have the debug console of the running process on stdin/out, we have an interactive socket session and we also have a non-interactive socket session.

Fields:

  • @em PNI: Process node index.

  • @em FD: Unix file descriptor.

  • @em Name: Name of the session.

  • @em Flags: Various flags that describe the state of the session.

@em Flags have the following meanings; lower-case typically negates upper-case:

  • @em I Interactive session.

  • @em S Connected by socket.

  • @em s Not a socket, likely stdin.

  • @em L Line-by-line mode.

  • @em l Char-by-char mode.

  • @em P EPIPE detected on connection; it will close soon.

  • @em A ANSI-capable terminal.

Declaration: cli_unix_cli_show_cli_sessions src/vlib/unix/cli.c line 3782

Implementation: unix_cli_show_cli_sessions

show macro

show macro [noevaluate]

Declaration: show_macro src/vlib/unix/cli.c line 4104

Implementation: show_macro_cmd_fn

show terminal

Show current session terminal settings

Displays various information about the state of the current terminal session.

show terminal

Terminal name:   unix-cli-stdin
Terminal mode:   char-by-char
Terminal width:  123
Terminal height: 48
ANSI capable:    yes
Interactive:     yes
History enabled: yes
History limit:   50
Pager enabled:   yes
Pager limit:     100000
CRLF mode:       LF

Declaration: cli_unix_cli_show_terminal src/vlib/unix/cli.c line 3699

Implementation: unix_cli_show_terminal

show unix errors

Show Unix system call error history

Declaration: cli_unix_show_errors src/vlib/unix/cli.c line 3546

Implementation: unix_show_errors

show unix files

Show Unix files in use

Declaration: cli_unix_show_files src/vlib/unix/cli.c line 3589

Implementation: unix_show_files

undefine

undefine <variable-name>

Declaration: undefine_cmd src/vlib/unix/cli.c line 4080

Implementation: undefine_cmd_fn

wait

wait <sec>

Declaration: cli_unix_wait_cmd src/vlib/unix/cli.c line 3989

Implementation: unix_wait_cmd