Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

Chapter 46. Setting the routing protocols for your system

This section describes how to use the Free Range Routing (FRRouting, or FRR) feature to enable and set the required routing protocols for your system.

46.1. Introduction to FRRouting

Free Range Routing (FRRouting, or FRR) is a routing protocol stack, which is provided by the frr package available in the AppStream repository.

FRR replaces Quagga that was used on previous RHEL versions. As such, FRR provides TCP/IP-based routing services with support for multiple IPv4 and IPv6 routing protocols.

The supported protocols are:

  • Border Gateway Protocol (BGP)
  • Intermediate System to Intermediate System (IS-IS)
  • Open Shortest Path First (OSPF)
  • Protocol-Independent Multicast (PIM)
  • Routing Information Protocol (RIP)
  • Routing Information Protocol next generation (RIPng)
  • Enhanced Interior Gateway Routing Protocol (EIGRP)
  • Next Hop Resolution Protocol (NHRP)
  • Bidirectional Forwarding Detection (BFD)
  • Policy-based Routing (PBR)

FRR is a collection of the following services:

  • zebra
  • bgpd
  • isisd
  • ospfd
  • ospf6d
  • pimd
  • ripd
  • ripngd
  • eigrpd
  • nhrpd
  • bfdd
  • pbrd
  • staticd
  • fabricd

If frr is installed, the system can act as a dedicated router, which exchanges routing information with other routers in either internal or external network using the routing protocols.

46.2. Setting up FRRouting

This section explains how you set up Free Range Routing (FRRouting, or FRR).


  • Make sure that the frr package is installed on your system:
# yum install frr


  1. Edit the /etc/frr/daemons configuration file, and enable the required daemons for your system.

    For example, to enable the ripd daemon, include the following line:


    The zebra daemon must always be enabled, so that you must set zebra=yes to be able to use FRR.


    By default, /etc/frr/daemons contains [daemon_name]=no entries for all daemons. Therefore, all daemons are disabled, and starting FRR after a new installation of the system has no effect.

  2. Start the frr service:

    # systemctl start frr
  3. Optionally, you can also set FRR to start automatically on boot:

    # systemctl enable frr

46.3. Modifying the configuration of FRR

This section describes:

  • How to enable an additional daemon after you set up FRR
  • How to disable a daemon after you set up FRR



  1. Edit the /etc/frr/daemons configuration file, and modify the line for the required daemons to state yes instead of no.

    For example, to enable the ripd daemon:

  2. Reload the frr service:

    # systemctl reload frr

46.4. Modifying a configuration of a particular daemon

With the default configuration, every routing daemon in FRR can only act as a plain router.

For any additional configuration of a daemon, use the following procedure.


  1. Within the /etc/frr/ directory, create a configuration file for the required daemon, and name the file as follows:


    For example, to further configure the eigrpd daemon, create the eigrpd.conf file in the mentioned directory.

  2. Populate the new file with the required content.

    For configuration examples of particular FRR daemons, see the /usr/share/doc/frr/ directory.

  3. Reload the frr service:

    # systemctl reload frr