Your company here — click to reach over 10,000 unique daily visitors

vtysh - Man Page

an integrated shell for FRRouting.


vtysh [ -b ]

vtysh [ -E ] [ -d daemon ] [ -c command ]


vtysh is an integrated shell for the FRRouting suite of protocol daemons.


OPTIONS available for the vtysh command:

-b,  --boot

Execute boot startup configuration. It makes sense only if integrated config file is in use (not default in FRRouting). See Info file frr for more info.

-c,  --command command

Specify command to be executed under batch mode. It behaves like -c option in any other shell - command is executed and vtysh exits.

It's useful for gathering info from FRRouting daemons or reconfiguring daemons from inside shell scripts, etc. Note that multiple commands may be executed by using more than one -c option and/or embedding linefeed characters inside the command string.

-d,  --daemon daemon_name

Specify which daemon to connect to. By default, vtysh attempts to connect to all FRRouting daemons running on the system. With this flag, one can specify a single daemon to connect to instead. For example, specifying '-d ospfd' will connect only to ospfd. This can be particularly useful inside scripts with -c where the command is targeted for a single daemon.

-e,  --execute command

Alias for -c. It's here only for compatibility with Zebra routing software and older FRR versions. This will be removed in future.

-E,  --echo

When the -c option is being used, this flag will cause the standard vtysh prompt and command to be echoed prior to displaying the results. This is particularly useful to separate the results when executing multiple commands.

-C,  --dryrun

When the -C option is being used, this flag will check the config for syntatic validity.

-m,  --markfile

Mark the input file with context ends, useful for cleanup of a config file that has a lot of extraneous space and end markers

-n,  --noerror

When executing cli that does not invoke a vtysh shell, if an error ocurrs ignore it for purposes of return codes from vtysh.

-H,  --histfile

Override the history file for vtysh commands. You can set vtysh -H /dev/null to turn logging of at all.

-u,  --user

Restrict access to configuration commands by preventing use of the "enable" command. This option provides the same limited "security" as password-protected telnet access. This security should not be relied on in production environments.

Caveat emptor: VTYSH was never designed to be a privilege broker and is not built using secure coding practices. No guarantees of security are provided for this option and under no circumstances should this option be used to provide any semblance of secure read-only access to FRR.

-h,  --help

Display a usage message on standard output and exit.

-t,  --timestamp

Print a timestamp before going to shell or reading the configuration file.


When used in conjunction with -b, prevents vtysh from forking children to handle configuring each target daemon.

Environment Variables


This should be the name of the pager to use. Default is more.


Override the history file for vtysh commands. Logging can be turned off using VTYSH_HISTFILE=/dev/null vtysh. Environment is preferred way to override the history file path over command line argument (-H/--histfile).



The default location of the vtysh binary.


The default location of the vtysh config file.


The default location of the integrated FRRouting routing engine config file if integrated config file is in use.


Location of history of commands entered via cli


If the vtysh process is configured to output logs to a file, then you will find this file in the directory where you started vtysh.


This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 9.1 or the documentation available on the project website at https://frrouting.org/.


The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

See Also

frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) https://frrouting.org/


FRR eats bugs for breakfast. If you have food for the maintainers, please email <dev@lists.frrouting.org>.

Referenced By

frr(1), frr-bfdd(8), frr-bgpd(8), frr-eigrpd(8), frr-isisd(8), frr-nhrpd(8), frr-ospf6d(8), frr-ospfd(8), frr-pbrd(8), frr-pimd(8), frr-ripd(8), frr-ripngd(8), frr-staticd(8), frr-vrrpd(8), frr-watchfrr(8), frr-zebra(8), mtracebis(8).

Apr 17, 2024 9.1 FRR