diff options
author | Quentin Young <qlyoung@cumulusnetworks.com> | 2017-12-22 22:19:33 +0100 |
---|---|---|
committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2017-12-22 22:30:56 +0100 |
commit | 8d2098618c9cfbefaf238f2c8f1d93a60da869cd (patch) | |
tree | f79538cdd293c9f77ab798e6e416eeeccad6d4f7 /doc/user/basic.rst | |
parent | doc: fixup babeld.rst (diff) | |
download | frr-8d2098618c9cfbefaf238f2c8f1d93a60da869cd.tar.xz frr-8d2098618c9cfbefaf238f2c8f1d93a60da869cd.zip |
doc: fixup basic.rst
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'doc/user/basic.rst')
-rw-r--r-- | doc/user/basic.rst | 580 |
1 files changed, 242 insertions, 338 deletions
diff --git a/doc/user/basic.rst b/doc/user/basic.rst index 505de5954..c46665c50 100644 --- a/doc/user/basic.rst +++ b/doc/user/basic.rst @@ -6,11 +6,15 @@ Basic commands There are five routing daemons in use, and there is one manager daemon. These daemons may be located on separate machines from the manager -daemon. Each of these daemons will listen on a particular port for -incoming VTY connections. The routing daemons are: +daemon. Each of these daemons will listen on a particular port for +incoming VTY connections. The routing daemons are: -* *ripd*, *ripngd*, *ospfd*, *ospf6d*, *bgpd* -* *zebra* +- *ripd* +- *ripngd* +- *ospfd* +- *ospf6d* +- *bgpd* +- *zebra* The following sections discuss commands common to all the routing daemons. @@ -38,12 +42,12 @@ Config files are generally found in: * :file:`@value{INSTALL_PREFIX_ETC}`/\*.conf Each of the daemons has its own -config file. For example, zebra's default config file name is: +config file. For example, zebra's default config file name is: * :file:`@value{INSTALL_PREFIX_ETC`/zebra.conf} The daemon name plus :file:`.conf` is the default config file name. You -can specify a config file using the @kbd{-f} or @kbd{--config-file} +can specify a config file using the :kbd:`-f` or :kbd:`--config-file` options when starting the daemon. .. _Basic_Config_Commands: @@ -51,220 +55,189 @@ options when starting the daemon. Basic Config Commands --------------------- -.. index:: Command {hostname `hostname`} {} +.. index:: hostname HOSTNAME -Command {hostname `hostname`} {} +``hostname HOSTNAME`` Set hostname of the router. -.. index:: Command {password `password`} {} +.. index:: password PASSWORD -Command {password `password`} {} - Set password for vty interface. If there is no password, a vty won't +``password PASSWORD`` + Set password for vty interface. If there is no password, a vty won't accept connections. -.. index:: Command {enable password `password`} {} +.. index:: enable password PASSWORD -Command {enable password `password`} {} +``enable password PASSWORD`` Set enable password. -.. index:: Command {log trap `level`} {} - -Command {log trap `level`} {} -.. index:: Command {no log trap} {} - -Command {no log trap} {} - These commands are deprecated and are present only for historical compatibility. - The log trap command sets the current logging level for all enabled - logging destinations, and it sets the default for all future logging commands - that do not specify a level. The normal default - logging level is debugging. The `no` form of the command resets - the default level for future logging commands to debugging, but it does - not change the logging level of existing logging destinations. - -.. index:: Command {log stdout} {} - -Command {log stdout} {} -.. index:: Command {log stdout `level`} {} - -Command {log stdout `level`} {} -.. index:: Command {no log stdout} {} - -Command {no log stdout} {} - Enable logging output to stdout. - If the optional second argument specifying the - logging level is not present, the default logging level (typically debugging, - but can be changed using the deprecated `log trap` command) will be used. - The `no` form of the command disables logging to stdout. - The `level` argument must have one of these values: - emergencies, alerts, critical, errors, warnings, notifications, informational, or debugging. Note that the existing code logs its most important messages - with severity `errors`. - -.. index:: Command {log file `filename`} {} - -Command {log file `filename`} {} -.. index:: Command {log file `filename` `level`} {} - -Command {log file `filename` `level`} {} -.. index:: Command {no log file} {} - -Command {no log file} {} - If you want to log into a file, please specify `filename` as - in this example:: - - log file /var/log/frr/bgpd.log informational - - If the optional second argument specifying the - logging level is not present, the default logging level (typically debugging, - but can be changed using the deprecated `log trap` command) will be used. - The `no` form of the command disables logging to a file. - - Note: if you do not configure any file logging, and a daemon crashes due - to a signal or an assertion failure, it will attempt to save the crash - information in a file named /var/tmp/frr.<daemon name>.crashlog. - For security reasons, this will not happen if the file exists already, so - it is important to delete the file after reporting the crash information. - -.. index:: Command {log syslog} {} - -Command {log syslog} {} -.. index:: Command {log syslog `level`} {} - -Command {log syslog `level`} {} -.. index:: Command {no log syslog} {} - -Command {no log syslog} {} - Enable logging output to syslog. - If the optional second argument specifying the - logging level is not present, the default logging level (typically debugging, - but can be changed using the deprecated `log trap` command) will be used. - The `no` form of the command disables logging to syslog. - -.. index:: Command {log monitor} {} - -Command {log monitor} {} -.. index:: Command {log monitor `level`} {} - -Command {log monitor `level`} {} -.. index:: Command {no log monitor} {} - -Command {no log monitor} {} - Enable logging output to vty terminals that have enabled logging - using the `terminal monitor` command. - By default, monitor logging is enabled at the debugging level, but this - command (or the deprecated `log trap` command) can be used to change - the monitor logging level. - If the optional second argument specifying the - logging level is not present, the default logging level (typically debugging, - but can be changed using the deprecated `log trap` command) will be used. - The `no` form of the command disables logging to terminal monitors. - -.. index:: Command {log facility `facility`} {} - -Command {log facility `facility`} {} -.. index:: Command {no log facility} {} - -Command {no log facility} {} - This command changes the facility used in syslog messages. The default - facility is `daemon`. The `no` form of the command resets - the facility to the default `daemon` facility. - -.. index:: Command {log record-priority} {} - -Command {log record-priority} {} -.. index:: Command {no log record-priority} {} - -Command {no log record-priority} {} - To include the severity in all messages logged to a file, to stdout, or to - a terminal monitor (i.e. anything except syslog), - use the `log record-priority` global configuration command. - To disable this option, use the `no` form of the command. By default, - the severity level is not included in logged messages. Note: some - versions of syslogd (including Solaris) can be configured to include - the facility and level in the messages emitted. - -.. index:: Command {log timestamp precision `<0-6>`} {} - -Command {log timestamp precision `<0-6>`} {} -.. index:: Command {no log timestamp precision} {} - -Command {no log timestamp precision} {} - This command sets the precision of log message timestamps to the - given number of digits after the decimal point. Currently, - the value must be in the range 0 to 6 (i.e. the maximum precision - is microseconds). - To restore the default behavior (1-second accuracy), use the - `no` form of the command, or set the precision explicitly to 0. +.. index:: + single: no log trap [LEVEL] + single: log trap LEVEL + +``[no] log trap LEVEL`` + These commands are deprecated and are present only for historical + compatibility. The log trap command sets the current logging level for all + enabled logging destinations, and it sets the default for all future logging + commands that do not specify a level. The normal default logging level is + debugging. The ``no`` form of the command resets the default level for future + logging commands to debugging, but it does not change the logging level of + existing logging destinations. + +.. index:: + single: no log stdout [LEVEL] + single: log stdout [LEVEL] + +``[no] log stdout LEVEL`` + Enable logging output to stdout. If the optional second argument specifying + the logging level is not present, the default logging level (typically + debugging, but can be changed using the deprecated ``log trap`` command) will + be used. The ``no`` form of the command disables logging to stdout. The + ``LEVEL`` argument must have one of these values: emergencies, alerts, + critical, errors, warnings, notifications, informational, or debugging. Note + that the existing code logs its most important messages with severity + ``errors``. + +.. index:: + single: no log file [FILENAME [LEVEL]] + single: log file FILENAME [LEVEL] + +``[no] log file [FILENAME [LEVEL]]`` + If you want to log into a file, please specify ``filename`` as + in this example: :: + + log file /var/log/frr/bgpd.log informational + + If the optional second argument specifying the logging level is not present, + the default logging level (typically debugging, but can be changed using the + deprecated ``log trap`` command) will be used. The ``no`` form of the command + disables logging to a file. *Note:* if you do not configure any file logging, + and a daemon crashes due to a signal or an assertion failure, it will attempt + to save the crash information in a file named /var/tmp/frr.<daemon + name>.crashlog. For security reasons, this will not happen if the file exists + already, so it is important to delete the file after reporting the crash + information. + +.. index:: + single: no log syslog [LEVEL] + single: log syslog [LEVEL] + +``[no] log syslog [LEVEL]`` + Enable logging output to syslog. If the optional second argument specifying + the logging level is not present, the default logging level (typically + debugging, but can be changed using the deprecated ``log trap`` command) will + be used. The ``no`` form of the command disables logging to syslog. + +.. index:: + single: no log monitor [LEVEL] + single: log monitor [LEVEL] + +``[no] log monitor [LEVEL]`` + Enable logging output to vty terminals that have enabled logging using the + ``terminal monitor`` command. By default, monitor logging is enabled at the + debugging level, but this command (or the deprecated ``log trap`` command) can + be used to change the monitor logging level. If the optional second argument + specifying the logging level is not present, the default logging level + (typically debugging, but can be changed using the deprecated ``log trap`` + command) will be used. The ``no`` form of the command disables logging to + terminal monitors. + +.. index:: + single: no log facility [FACILITY] + single: log facility [FACILITY] + +``[no] log facility [FACILITY]`` + This command changes the facility used in syslog messages. The default + facility is ``daemon``. The ``no`` form of the command resets + the facility to the default ``daemon`` facility. + +.. index:: + single: no log record-priority + single: log record-priority + +``[no] log record-priority`` + To include the severity in all messages logged to a file, to stdout, or to + a terminal monitor (i.e. anything except syslog), + use the ``log record-priority`` global configuration command. + To disable this option, use the ``no`` form of the command. By default, + the severity level is not included in logged messages. Note: some + versions of syslogd (including Solaris) can be configured to include + the facility and level in the messages emitted. + +.. index:: + single: log timestamp precision <0-6> + single: [no] log timestamp precision <0-6> + +``[no] log timestamp precision [<0-6>]`` + This command sets the precision of log message timestamps to the given number + of digits after the decimal point. Currently, the value must be in the range + 0 to 6 (i.e. the maximum precision is microseconds). To restore the default + behavior (1-second accuracy), use the ``no`` form of the command, or set the + precision explicitly to 0. :: - @group - log timestamp precision 3 - @end group - + log timestamp precision 3 - In this example, the precision is set to provide timestamps with - millisecond accuracy. + In this example, the precision is set to provide timestamps with + millisecond accuracy. -.. index:: Command {log commands} {} +.. index:: log commands -Command {log commands} {} - This command enables the logging of all commands typed by a user to - all enabled log destinations. The note that logging includes full - command lines, including passwords. Once set, command logging can only - be turned off by restarting the daemon. +``log commands`` + This command enables the logging of all commands typed by a user to + all enabled log destinations. The note that logging includes full + command lines, including passwords. Once set, command logging can only + be turned off by restarting the daemon. -.. index:: Command {service password-encryption} {} +.. index:: service password-encryption -Command {service password-encryption} {} - Encrypt password. +``service password-encryption`` + Encrypt password. -.. index:: Command {service advanced-vty} {} +.. index:: service advanced-vty -Command {service advanced-vty} {} - Enable advanced mode VTY. +``service advanced-vty`` + Enable advanced mode VTY. -.. index:: Command {service terminal-length `<0-512>`} {} +.. index:: service terminal-length <0-512> -Command {service terminal-length `<0-512>`} {} - Set system wide line configuration. This configuration command applies - to all VTY interfaces. +``service terminal-length <0-512>`` + Set system wide line configuration. This configuration command applies + to all VTY interfaces. -.. index:: Command {line vty} {} +.. index:: line vty -Command {line vty} {} - Enter vty configuration mode. +``line vty`` + Enter vty configuration mode. -.. index:: Command {banner motd default} {} +.. index:: banner motd default -Command {banner motd default} {} - Set default motd string. +``banner motd default`` + Set default motd string. -.. index:: Command {no banner motd} {} +.. index:: no banner motd -Command {no banner motd} {} - No motd banner string will be printed. +``no banner motd`` + No motd banner string will be printed. -.. index:: {Line Command} {exec-timeout `minute`} {} +.. index:: exec-timeout MINUTE [SECOND] -{Line Command} {exec-timeout `minute`} {} -.. index:: {Line Command} {exec-timeout `minute` `second`} {} +``exec-timeout MINUTE [SECOND]`` + Set VTY connection timeout value. When only one argument is specified + it is used for timeout value in minutes. Optional second argument is + used for timeout value in seconds. Default timeout value is 10 minutes. + When timeout value is zero, it means no timeout. -{Line Command} {exec-timeout `minute` `second`} {} - Set VTY connection timeout value. When only one argument is specified - it is used for timeout value in minutes. Optional second argument is - used for timeout value in seconds. Default timeout value is 10 minutes. - When timeout value is zero, it means no timeout. +.. index:: no exec-timeout -.. index:: {Line Command} {no exec-timeout} {} +``no exec-timeout`` + Do not perform timeout at all. This command is as same as *exec-timeout 0 0*. -{Line Command} {no exec-timeout} {} - Do not perform timeout at all. This command is as same as - *exec-timeout 0 0*. +.. index:: access-class ACCESS-LIST -.. index:: {Line Command} {access-class `access-list`} {} - -{Line Command} {access-class `access-list`} {} - Restrict vty connections with an access list. +``access-class ACCESS-LIST`` + Restrict vty connections with an access list. .. _Sample_Config_File: @@ -275,7 +248,6 @@ Below is a sample configuration file for the zebra daemon. :: - @group ! ! Zebra configuration file ! @@ -286,17 +258,15 @@ Below is a sample configuration file for the zebra daemon. log stdout ! ! - @end group - -'!' and '#' are comment characters. If the first character of the word + +'!' and '#' are comment characters. If the first character of the word is one of the comment characters then from the rest of the line forward will be ignored as a comment. :: password zebra!password - If a comment character is not the first character of the word, it's a normal character. So in the above example '!' will not be regarded as a @@ -307,52 +277,52 @@ comment and the password is set to 'zebra!password'. Terminal Mode Commands ====================== -.. index:: Command {write terminal} {} +.. index:: write terminal -Command {write terminal} {} +``write terminal`` Displays the current configuration to the vty interface. -.. index:: Command {write file} {} +.. index:: write file -Command {write file} {} +``write file`` Write current configuration to configuration file. -.. index:: Command {configure terminal} {} +.. index:: configure terminal -Command {configure terminal} {} - Change to configuration mode. This command is the first step to +``configure terminal`` + Change to configuration mode. This command is the first step to configuration. -.. index:: Command {terminal length `<0-512>`} {} +.. index:: terminal length <0-512> -Command {terminal length `<0-512>`} {} - Set terminal display length to `<0-512>`. If length is 0, no +``terminal length <0-512>`` + Set terminal display length to ``<0-512>``. If length is 0, no display control is performed. -.. index:: Command {who} {} +.. index:: who -Command {who} {} +``who`` Show a list of currently connected vty sessions. -.. index:: Command {list} {} +.. index:: list -Command {list} {} +``list`` List all available commands. -.. index:: Command {show version} {} +.. index:: show version -Command {show version} {} +``show version`` Show the current version of @value{PACKAGE_NAME} and its build host information. -.. index:: Command {show logging} {} +.. index:: show logging -Command {show logging} {} - Shows the current configuration of the logging system. This includes +``show logging`` + Shows the current configuration of the logging system. This includes the status of all logging destinations. -.. index:: Command {logmsg `level` `message`} {} +.. index:: logmsg LEVEL MESSAGE -Command {logmsg `level` `message`} {} +``logmsg LEVEL MESSAGE`` Send a message to all logging destinations that are enabled for messages of the given severity. @@ -364,64 +334,46 @@ Common Invocation Options These options apply to all @value{PACKAGE_NAME} daemons. - -*-d* - -*--daemon* +``-d, --daemon`` Runs in daemon mode. -*-f `file`* - -*--config_file=`file`* +``-f file, --config_file=FILE`` Set configuration file name. -*-h* - -*--help* +``-h, --help`` Display this help and exit. -*-i `file`* - -*--pid_file=`file`* +``-i file, --pid_file=file`` Upon startup the process identifier of the daemon is written to a file, - typically in :file:`/var/run`. This file can be used by the init system - to implement commands such as *.../init.d/zebra status*, - *.../init.d/zebra restart* or @command{.../init.d/zebra - stop}. + typically in :file:`/var/run`. This file can be used by the init system + to implement commands such as ``.../init.d/zebra status``, + ``.../init.d/zebra restart`` or ``.../init.d/zebra stop``. The file name is an run-time option rather than a configure-time option - so that multiple routing daemons can be run simultaneously. This is - useful when using @value{PACKAGE_NAME} to implement a routing looking glass. One + so that multiple routing daemons can be run simultaneously. This is + useful when using @value{PACKAGE_NAME} to implement a routing looking glass. One machine can be used to collect differing routing views from differing points in the network. -*-A `address`* - -*--vty_addr=`address`* +``-A address, --vty_addr=address`` Set the VTY local address to bind to. If set, the VTY socket will only - be bound to this address. + be bound to this address. -*-P `port`* - -*--vty_port=`port`* +``-P port, --vty_port=port`` Set the VTY TCP port number. If set to 0 then the TCP VTY sockets will not be opened. -*-u `user`* - -*--vty_addr=`user`* +``-u user, --vty_addr=user`` Set the user and group to run as. -*-v* - -*--version* +``-v, --version`` Print program version. @@ -430,21 +382,18 @@ These options apply to all @value{PACKAGE_NAME} daemons. Loadable Module Support ======================= -FRR supports loading extension modules at startup. Loading, reloading or -unloading modules at runtime is not supported (yet). To load a module, use +FRR supports loading extension modules at startup. Loading, reloading or +unloading modules at runtime is not supported (yet). To load a module, use the following command line option at daemon startup: - -*-M `module:options`* - -*--module `module:options`* - Load the specified module, optionally passing options to it. If the module +``-M module:options, --module module:options`` + Load the specified module, optionally passing options to it. If the module name contains a slash (/), it is assumed to be a full pathname to a file to - be loaded. If it does not contain a slash, the + be loaded. If it does not contain a slash, the `@value{INSTALL_PREFIX_MODULES`} directory is searched for a module of - the given name; first with the daemon name prepended (e.g. `zebra_mod` - for `mod`), then without the daemon name prepended. + the given name; first with the daemon name prepended (e.g. ``zebra_mod`` + for ``mod``), then without the daemon name prepended. This option is available on all daemons, though some daemons may not have any modules available to be loaded. @@ -453,23 +402,23 @@ The SNMP Module --------------- If SNMP is enabled during compile-time and installed as part of the package, -the `snmp` module can be loaded for the *zebra*, -*bgpd*, *ospfd*, *ospf6d* and *ripd* daemons. +the ``snmp`` module can be loaded for the *zebra*, *bgpd*, *ospfd*, *ospf6d* +and *ripd* daemons. -The module ignores any options passed to it. Refer to :ref:`SNMP_Support` +The module ignores any options passed to it. Refer to :ref:`SNMP_Support` for information on its usage. The FPM Module -------------- If FPM is enabled during compile-time and installed as part of the package, -the `fpm` module can be loaded for the *zebra* daemon. This +the ``fpm`` module can be loaded for the *zebra* daemon. This provides the Forwarding Plane Manager ("FPM") API. -The module expects its argument to be either `netlink` or -`protobuf`, specifying the encapsulation to use. `netlink` is the +The module expects its argument to be either ``netlink`` or +``protobuf``, specifying the encapsulation to use. `netlink` is the default, and `protobuf` may not be available if the module was built -without protobuf support. Refer to :ref:`zebra_FIB_push_interface` for more +without protobuf support. Refer to :ref:`zebra_FIB_push_interface` for more information. .. _Virtual_Terminal_Interfaces: @@ -485,15 +434,14 @@ interface (CLI) for user interaction with the routing daemon. VTY Overview ------------ -VTY stands for Virtual TeletYpe interface. It means you can connect to +VTY stands for Virtual TeletYpe interface. It means you can connect to the daemon via the telnet protocol. -To enable a VTY interface, you have to setup a VTY password. If there +To enable a VTY interface, you have to setup a VTY password. If there is no VTY password, one cannot connect to the VTY interface at all. :: - @group % telnet localhost 2601 Trying 127.0.0.1... Connected to localhost. @@ -506,12 +454,13 @@ is no VTY password, one cannot connect to the VTY interface at all. Password: XXXXX Router> ? - enable Turn on privileged commands - exit Exit current mode and down to previous mode - help Description of the interactive help system - list Print command list - show Show running system information - who Display who is on a vty + enable . . . Turn on privileged commands + exit . . . Exit current mode and down to previous mode + help . . . Description of the interactive help system + list . . . Print command list + show . . . Show system inform + + wh. . . Display who is on a vty Router> enable Password: XXXXX Router# configure terminal @@ -519,10 +468,9 @@ is no VTY password, one cannot connect to the VTY interface at all. Router(config-if)# ip address 10.0.0.1/8 Router(config-if)# ^Z Router# - @end group - -'?' is very useful for looking up commands. + +:kbd:`?` is very useful for looking up commands. .. _VTY_Modes: @@ -572,41 +520,22 @@ CLI Movement Commands These commands are used for moving the CLI cursor. The :kbd:`C` character means press the Control Key. - - -*C-f* - -*:kbd:`RIGHT`* - @kindex C-f - @kindex :kbd:`RIGHT` +:kbd:`C-f` / :kbd:`LEFT` Move forward one character. - -*C-b* - -*:kbd:`LEFT`* - @kindex C-b - @kindex :kbd:`LEFT` +:kbd:`C-b` / :kbd:`RIGHT` Move backward one character. - -*M-f* - @kindex M-f +:kbd:`M-f` Move forward one word. - -*M-b* - @kindex M-b +:kbd:`M-b` Move backward one word. - -*C-a* - @kindex C-a +:kbd:`C-a` Move to the beginning of the line. - -*C-e* - @kindex C-e +:kbd:`C-e` Move to the end of the line. @@ -619,42 +548,31 @@ These commands are used for editing text on a line. The :kbd:`C` character means press the Control Key. - -*C-h* - -*:kbd:`DEL`* - @kindex C-h - @kindex :kbd:`DEL` +:kbd:`C-h` / :kbd:`DEL` Delete the character before point. -*C-d* - @kindex C-d +:kbd:`C-d` Delete the character after point. -*M-d* - @kindex M-d +:kbd:`M-d` Forward kill word. -*C-w* - @kindex C-w +:kbd:`C-w` Backward kill word. -*C-k* - @kindex C-k +:kbd:`C-k` Kill to the end of the line. -*C-u* - @kindex C-u +:kbd:`C-u` Kill line from the beginning, erasing input. -*C-t* - @kindex C-t +:kbd:`C-t` Transpose character. @@ -665,42 +583,28 @@ There are several additional CLI commands for command line completions, insta-help, and VTY session management. - -*C-c* - @kindex C-c +:kbd:`C-c` Interrupt current input and moves to the next line. -*C-z* - @kindex C-z +:kbd:`C-z` End current configuration session and move to top node. -*C-n* - -*:kbd:`DOWN`* - @kindex C-n - @kindex :kbd:`DOWN` +:kbd:`C-n` / :kbd:`DOWN` Move down to next line in the history buffer. -*C-p* - -*:kbd:`UP`* - @kindex C-p - @kindex :kbd:`UP` +:kbd:`C-p` / :kbd:`UP` Move up to previous line in the history buffer. -*TAB* - @kindex :kbd:`TAB` +:kbd:`TAB` Use command line completion by typing :kbd:`TAB`. -*?* - @kindex :kbd:`?` +:kbd:`?` You can use command line help by typing `help` at the beginning of - the line. Typing @kbd{?} at any point in the line will show possible + the line. Typing :kbd:`?` at any point in the line will show possible completions. - |