VTYSH(1)

πŸ’– VTYSH(1) β€” the FRR integrated shell, bestie edition πŸ’–

okay so real talk: this is the manual page for vtysh, from the FRR (FRRouting) family, and I am so excited to walk you through it. grab a boba, we're doing this πŸ’…


✨ NAME ✨

vtysh β€” an integrated shell for FRRouting. that's the whole vibe. one shell, all the daemons, no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

vtysh [ -b ]

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

two moods, bestie. either you're booting config, or you're doing the echo/daemon/command thing. pick your fighter ✨


πŸŽ€ DESCRIPTION πŸŽ€

vtysh is an integrated shell for the FRRouting suite of protocol daemons. that's literally the whole point β€” instead of hopping between a million daemons like it's a group chat you muted, you get ONE shell. iconic behavior, honestly. πŸ‘‘


πŸ’… OPTIONS πŸ’…

here's every single flag, no skips, no shortcuts, because I would never do you like that:

  • -b, --boot β€” Execute boot startup configuration. heads up though: it makes sense only if integrated config file is in use (which is 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 the -c option in any other shell β€” the command is executed and vtysh exits. it's giving "one and done". 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. stack 'em, bestie πŸ“š
  • -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. so picky, love that for you ✨
  • -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. ⚠️ so like… don't get attached, bestie.
  • -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. it's the little divider between your screenshot dumps πŸŽ€
  • -C, --dryrun β€” When the -C option is being used, this flag will check the config for syntatic validity. (that's the original spelling, I'm just the messenger πŸ™ˆ)
  • -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. spring cleaning era 🧹
  • -n, --noerror β€” When executing cli that does not invoke a vtysh shell, if an error occurs, ignore it for purposes of return codes from vtysh. we're being chill about it.
  • -H, --histfile β€” Override the history file for vtysh commands. You can set vtysh -H /dev/null to turn logging of at all. (yep, "of at all" β€” verbatim, iykyk πŸ’€)
  • -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. 🚨 like actually, do NOT. this is not the flex you think it is, bestie. πŸ’€
  • -h, --help β€” Display a usage message on standard output and exit. the classic. 🫢
  • -t, --timestamp β€” Print a timestamp before going to shell or reading the configuration file. time-stamped receipts ⏰
  • --no-fork β€” When used in conjunction with -b, prevents vtysh from forking children to handle configuring each target daemon. no baby processes, we stay single-threaded-ish and unbothered πŸ¦‹

🌈 ENVIRONMENT VARIABLES 🌈

  • VTYSH_PAGER β€” This should be the name of the pager to use. Default is more. okay but like, customize it, live a little πŸ’œ
  • VTYSH_HISTFILE β€” Override the history file for vtysh commands. Logging can be turned off using VTYSH_HISTFILE=/dev/null vtysh. Environment is the preferred way to override the history file path over the command line argument (-H/--histfile). env vars ate and left no crumbs πŸ‘‘

πŸ¦‹ FILES πŸ¦‹

  • /usr/lib/frr/vtysh β€” The default location of the vtysh binary. home base 🏠
  • /etc/frr/vtysh.conf β€” The default location of the vtysh config file.
  • /etc/frr/frr.conf β€” The default location of the integrated FRRouting routing engine config file if integrated config file is in use.
  • ${HOME}/.history_frr β€” Location of history of commands entered via cli. the receipts folder πŸ“œ
  • $(PWD)/vtysh.log β€” 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. so like, wherever you launched it from, check there ✨

⚠️ WARNING ⚠️

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

bestie this is the snack version. the full meal is over there πŸ“

πŸ’€ DIAGNOSTICS πŸ’€

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. it's very "choose your own adventure" with the logs ngl.


🫢 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/

the whole squad, assembled. main character energy across the board 🌟


πŸ› BUGS πŸ›

FRR eats bugs for breakfast. If you have food for the maintainers, please email <dev@lists.frrouting.org>. feed the devs, they're hungry πŸ˜­πŸ“


2017, FRR


and that's the whole page bestie!! this was VTYSH(1), from the FRR crew, and the version of this page in front of me says latest, dated Sep 22, 2026. periodt. πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from