]> git.proxmox.com Git - mirror_frr.git/blame - doc/manpages/common-options.rst
Merge pull request #5706 from mjstapp/fix_nh_debug_show
[mirror_frr.git] / doc / manpages / common-options.rst
CommitLineData
a1e276e1
QY
1HELP AND VERSION
2----------------
3
4.. option:: -h, --help
5
6 Print a short description of the daemon's command line options.
7
8.. option:: -v, --version
9
10 Print version and build information for the daemon.
11
12Both of these options inhibit normal operation and will immediately exit.
13
14PROCESS CONTROL
15---------------
16These options control background operation:
17
18.. option:: -d, --daemon
19
20 Launches the process in background/daemon mode, forking and detaching from the terminal.
21
22 The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.
23
24.. option:: -t, --terminal
25
26 Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded.
27
28 The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^\ keypress.)
29
30
31The combination of :option:`--daemon` and :option:`--terminal` will delay the daemon from going into background until the terminal session ends (by end of file.)
32
33If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.
34
35It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)
36
37CONFIGURATION AND PATHS
38-----------------------
39The following options control configuration and file system locations for frr processes:
40
41.. option:: -f, --config_file config-file
42
43 Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file.
44
45 Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.
46
47.. option:: -C, --dryrun
48
49 Load the configuration file and check its validity, then exit.
50
51.. option:: -i, --pid_file pid-file
52
53 Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.
54
55.. option:: -z, --socket zclient-path
56
57 Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.
58
59.. option:: -N, --pathspace pathspace
60
61 Insert pathspace into all default paths, changing the defaults to:
62
63 /etc/frr/pathspace/<daemon>.conf
64 /var/run/frr/pathspace/<daemon>.pid
65 /var/run/frr/pathspace/<daemon>.vty
66 /var/run/frr/pathspace/zserv.api
67
68 ´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.
69
70 Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.
71
72 The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.
73
74 This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:
75
76 ip netns exec namespace <daemon> -N namespace
77
78
79PROCESS CREDENTIALS
80-------------------
81.. option:: -u, --user user
82
83 (default: frr)
84
85.. option:: -g, --group group
86
87 (default: frr)
88
89 Change the user/group which the daemon will switch to.
90
91.. option:: -S, --skip_runas
92
93 Skip setting the process effective user and group.
94
95
96Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.
97
98
99VTY SETUP
100---------
101These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.
102
103.. option:: -A, --vty_addr vty-addr
104
105 Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.
106
107.. option:: -P, --vty_port vty-port
108
109 Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface.
110
111 Default ports are:::
112
113 zebra 2601
114 ripd 2602
115 ripngd 2603
116 ospfd 2604
117 bgpd 2605
118 ospf6d 2606
119 isisd 2608
120 babeld 2609
121 nhrpd 2610
122 pimd 2611
123 ldpd 2612
124 eigrpd 2613
a6c93cb2 125 pbrd 2615
614aa5c1 126 staticd 2616
c44032c1 127 bfdd 2617
7c0cbd0e 128 fabricd 2618
4edac1f7 129 vrrpd 2619
a1e276e1 130
1491ad1e 131 Port 2607 is used for ospfd's Opaque LSA API.
a1e276e1
QY
132
133.. option:: --vty_socket vty-path
134
135 Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY.
136 Default: /var/run/frr[/<pathspace>]
137
138 NB: Unlike the other options, this option specifies a directory, not a full path.
139
0437e105 140 This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.
a1e276e1
QY
141
142MODULE LOADING
143--------------
144frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.
145
146.. option:: -M, --module module[:options]
147
148 Load a module named module, optionally passing options to it.
149
150 If there is a ´/´ character in module, the value is assumed to be a pathname to a module.
151
152 If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.
153
154 The meaning of options is specific to the module being loaded. Most modules currently ignore it.
155
156 Modules are loaded in the order as listed on the command line. This is not generally relevant.
157
158.. option:: --moduledir module-path
159
160 Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)
161
162The list of loaded modules can be inspected at runtime with the show modules VTY command.
163