Chapter 34. 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.

34.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.

34.2. Setting up FRRouting

Prerequisites

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

Procedure

  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:

    ripd=yes
    Warning

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

    Important

    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

34.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

Enabling an additional daemon

Prerequisites

Procedure

To enable one or more additional daemons:

  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:

    ripd=yes
  2. Reload the frr service:

    # systemctl reload frr

Disabling a daemon

Prerequisites

Procedure

To disable one or more daemons:

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

    For example, to disable the ripd daemon:

    ripd=no
  2. Reload the frr service:

    # systemctl reload frr

34.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.

Procedure

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

    [daemon_name].conf

    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