- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with frr
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Manage the installation and configuration of Frr (Routing Daemons) .
This modules allows for the manging of the frr BGP daemon. Other routing modules are currently unsupported however you should be able to configure them manuly
- Manages the frr configueration file
- Manages the frr bgpd configueration file
- can export nagios_service to test neighbours are Established and routes are being advertised
- depends on stdlib 4.11.0 (may work with earlier versions)
Install the package an make sure it is enabled and running with default options, this will just configure zebra to run with no bgp config:
class { '::frr': }
With some bgp peers
class { '::frr': }
class { '::frr::bgpd':
my_asn => 64496,
router_id => '192.0.2.1',
networks4 => [ '192.0.2.0/24'],
peers => {
'64497' => {
'addr4' => ['192.0.2.2'],
'desc' => 'TEST Network'
}
}
}
and in hiera
my_asn: 64496,
router_id: 192.0.2.1
networks4:
- '192.0.2.0/24'
peers:
64497:
addr4:
- '192.0.2.2'
desc: TEST Network
Add config but disable advertisments and add nagios checks
class { '::frr::bgpd':
my_asn => 64496,
router_id => '192.0.2.1',
networks4 => [ '192.0.2.0/24'],
enable_advertisements => false,
peers => {
'64497' => {
'addr4' => ['192.0.2.2'],
'desc' => 'TEST Network'
}
}
}
Full config
class { '::frr::bgpd':
my_asn => 64496,
router_id => '192.0.2.1',
networks4 => [ '192.0.2.0/24', '10.0.0.0/24'],
failsafe_networks4 => ['10.0.0.0/23'],
networks6 => ['2001:DB8::/48'],
failsafe_networks6 => ['2001:DB8::/32'],
enable_advertisements => false,
enable_advertisements_v4 => false,
enable_advertisements_v6 => false,
manage_nagios => true,
peers => {
'64497' => {
'addr4' => ['192.0.2.2'],
'addr6' => ['2001:DB8::2'],
'desc' => 'TEST Network',
'inbound_routes' => 'all',
'communities' => ['no-export', '64497:100' ],
'multihop' => 5,
'password' => 'password',
'prepend' => 3,
}
}
}
This module has been tested on:
- Ubuntu 12.04, 14.04
Pull requests welcome but please also update documentation and tests.