6 After installing FRR, some basic configuration must be completed before it is
11 After a fresh install, starting FRR will do nothing. This is because daemons
12 must be explicitly enabled by editing a file in your configuration directory.
13 This file is usually located at :file:`/etc/frr/daemons` and determines which
14 daemons are activated when issuing a service start / stop command via init or
15 systemd. The file initially looks like this:
37 To enable a particular daemon, simply change the corresponding 'no' to 'yes'.
38 Subsequent service restarts should start the daemon.
40 Daemons Configuration File
41 --------------------------
42 There is another file that controls the default options passed to daemons when
43 starting FRR as a service. This file is located in your configuration
44 directory, usually at :file:`/etc/frr/daemons.conf`.
46 This file has several parts. Here is an example:
51 # If this option is set the /etc/init.d/frr script automatically loads
52 # the config via "vtysh -b" when the servers are started.
53 # Check /etc/pam.d/frr if you intend to use "vtysh"!
56 zebra_options=" -s 90000000 --daemon -A 127.0.0.1"
57 bgpd_options=" --daemon -A 127.0.0.1"
58 ospfd_options=" --daemon -A 127.0.0.1"
59 ospf6d_options=" --daemon -A ::1"
60 ripd_options=" --daemon -A 127.0.0.1"
61 ripngd_options=" --daemon -A ::1"
62 isisd_options=" --daemon -A 127.0.0.1"
63 pimd_options=" --daemon -A 127.0.0.1"
64 ldpd_options=" --daemon -A 127.0.0.1"
65 nhrpd_options=" --daemon -A 127.0.0.1"
66 eigrpd_options=" --daemon -A 127.0.0.1"
67 babeld_options=" --daemon -A 127.0.0.1"
68 sharpd_options=" --daemon -A 127.0.0.1"
69 staticd_options=" --daemon -A 127.0.0.1"
70 pbrd_options=" --daemon -A 127.0.0.1"
71 bfdd_options=" --daemon -A 127.0.0.1"
72 fabricd_options=" --daemon -A 127.0.0.1"
74 # The list of daemons to watch is automatically generated by the init script.
76 watchfrr_options=(-d -r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB)
78 # If valgrind_enable is 'yes' the frr daemons will be started via valgrind.
79 # The use case for doing so is tracking down memory leaks, etc in frr.
81 valgrind=/usr/bin/valgrind
83 Breaking this file down:
89 As the comment says, this causes :ref:`VTYSH <vty-shell>` to apply
90 configuration when starting the daemons. This is useful for a variety of
91 reasons touched on in the VTYSH documentation and should generally be enabled.
95 zebra_options=" -s 90000000 --daemon -A 127.0.0.1"
96 bgpd_options=" --daemon -A 127.0.0.1"
99 The next set of lines controls what options are passed to daemons when started
100 from the service script. Usually daemons will have ``--daemon`` and ``-A
101 <address>`` specified in order to daemonize and listen for VTY commands on a
106 # The list of daemons to watch is automatically generated by the init script.
108 watchfrr_options=(-d -r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB)
110 Options for the ``watchfrr``, the watchdog daemon.
115 valgrind=/usr/bin/valgrind
117 Whether or not to start FRR daemons under Valgrind. This is primarily useful
118 for gathering information for bug reports and for developers.
119 ``valgrind_enable`` should be ``no`` for production use.
123 FRR daemons have their own terminal interface or VTY. After installation, it's
124 a good idea to setup each daemon's port number to connect to them. To do this
125 add the following entries to :file:`/etc/services`.
129 zebrasrv 2600/tcp # zebra service
130 zebra 2601/tcp # zebra vty
131 ripd 2602/tcp # RIPd vty
132 ripngd 2603/tcp # RIPngd vty
133 ospfd 2604/tcp # OSPFd vty
134 bgpd 2605/tcp # BGPd vty
135 ospf6d 2606/tcp # OSPF6d vty
136 ospfapi 2607/tcp # ospfapi
137 isisd 2608/tcp # ISISd vty
138 babeld 2609/tcp # BABELd vty
139 nhrpd 2610/tcp # nhrpd vty
140 pimd 2611/tcp # PIMd vty
141 ldpd 2612/tcp # LDPd vty
142 eigprd 2613/tcp # EIGRPd vty
143 bfdd 2617/tcp # bfdd vty
144 fabricd 2618/tcp # fabricd vty
147 If you use a FreeBSD newer than 2.2.8, the above entries are already added to
148 :file:`/etc/services` so there is no need to add it. If you specify a port
149 number when starting the daemon, these entries may not be needed.
151 You may need to make changes to the config files in |INSTALL_PREFIX_ETC|.
155 Although not installed when installing from source, FRR provides a service file
156 for use with ``systemd``. It is located in :file:`tools/frr.service` in the Git
157 repository. If ``systemctl status frr.service`` indicates that the FRR service
158 is not found, copy the service file from the Git repository into your preferred
159 location. A good place is usually ``/etc/systemd/system/``.
161 After issuing a ``systemctl daemon-reload``, you should be able to start the
162 FRR service via ``systemctl start frr``. If this fails, or no daemons are
163 started. check the ``journalctl`` logs for an indication of what went wrong.