frr_bgp – Configure global BGP settings on Free Range Routing(FRR)

New in version 2.8.

Synopsis

  • This module provides configuration management of global BGP parameters on devices running Free Range Routing(FRR).

Parameters

Parameter Choices/Defaults Comments
config
-
Specifies the BGP related configuration.
address_family
-
Specifies BGP address family related configurations.
afi
- / required
    Choices:
  • ipv4
  • ipv6
Type of address family to configure.
neighbors
-
Specifies BGP neighbor related configurations in Address Family configuration mode.
activate
boolean
    Choices:
  • no
  • yes
Enable the address family for this neighbor.
maximum_prefix
integer
Maximum number of prefixes to accept from this peer.
The range is from 1 to 4294967295.
neighbor
- / required
Neighbor router address.
next_hop_self
boolean
    Choices:
  • no
  • yes
Enable/disable the next hop calculation for this neighbor.
remove_private_as
boolean
    Choices:
  • no
  • yes
Remove the private AS number from outbound updates.
route_reflector_client
boolean
    Choices:
  • no
  • yes
Specify a neighbor as a route reflector client.
route_server_client
boolean
    Choices:
  • no
  • yes
Specify a neighbor as a route server client.
networks
-
Specify networks to announce via BGP.
For operation replace, this option is mutually exclusive with root level networks option.
masklen
-
Subnet mask length for the network to announce(e.g, 8, 16, 24, etc.).
network
- / required
Network ID to announce via BGP.
route_map
-
Route map to modify the attributes.
redistribute
-
Specifies the redistribute information from another routing protocol.
id
-
Specifies the instance ID/table ID for this protocol
Valid for ospf and table
metric
-
Specifies the metric for redistributed routes.
protocol
- / required
    Choices:
  • ospf
  • ospf6
  • eigrp
  • isis
  • table
  • static
  • connected
  • sharp
  • nhrp
  • kernel
  • babel
  • rip
Specifies the protocol for configuring redistribute information.
route_map
-
Specifies the route map reference.
safi
-
    Choices:
  • flowspec
  • unicast ←
  • multicast
  • labeled-unicast
Specifies the type of cast for the address family.
bgp_as
integer / required
Specifies the BGP Autonomous System (AS) number to configure on the device.
log_neighbor_changes
boolean
    Choices:
  • no
  • yes
Enable/disable logging neighbor up/down and reset reason.
neighbors
-
Specifies BGP neighbor related configurations.
advertisement_interval
integer
Minimum interval between sending BGP routing updates for this neighbor.
description
-
Neighbor specific description.
ebgp_multihop
integer
Specifies the maximum hop count for EBGP neighbors not on directly connected networks.
The range is from 1 to 255.
enabled
boolean
    Choices:
  • no
  • yes
Administratively shutdown or enable a neighbor.
local_as
integer
The local AS number for the neighbor.
neighbor
- / required
Neighbor router address.
password
-
Password to authenticate the BGP peer connection.
peer_group
-
Name of the peer group that the neighbor is a member of.
port
integer
The TCP Port number to use for this neighbor.
The range is from 0 to 65535.
remote_as
integer / required
Remote AS of the BGP neighbor to configure.
timers
-
Specifies BGP neighbor timer related configurations.
holdtime
integer / required
Interval (in seconds) after not receiving a keepalive message that FRR declares a peer dead.
The range is from 0 to 65535.
keepalive
integer / required
Frequency (in seconds) with which the FRR sends keepalive messages to its peer.
The range is from 0 to 65535.
update_source
-
Source of the routing updates.
networks
-
Specify networks to announce via BGP.
For operation replace, this option is mutually exclusive with networks option under address_family.
For operation replace, if the device already has an address family activated, this option is not allowed.
masklen
-
Subnet mask length for the network to announce(e.g, 8, 16, 24, etc.).
prefix
- / required
Network ID to announce via BGP.
route_map
-
Route map to modify the attributes.
router_id
-
Default:
null
Configures the BGP routing process router-id value.
operation
-
    Choices:
  • merge ←
  • replace
  • override
  • delete
Specifies the operation to be performed on the BGP process configured on the device.
In case of merge, the input configuration will be merged with the existing BGP configuration on the device.
In case of replace, if there is a diff between the existing configuration and the input configuration, the existing configuration will be replaced by the input configuration for every option that has the diff.
In case of override, all the existing BGP configuration will be removed from the device and replaced with the input configuration.
In case of delete the existing BGP configuration will be removed from the device.

Notes

Note

  • Tested against FRRouting 6.0.

Examples

- name: configure global bgp as 64496
  frr_bgp:
    config:
      bgp_as: 64496
      router_id: 192.0.2.1
      log_neighbor_changes: True
      neighbors:
        - neighbor: 192.51.100.1
          remote_as: 64497
          timers:
            keepalive: 120
            holdtime: 360
        - neighbor: 198.51.100.2
          remote_as: 64498
      networks:
        - prefix: 192.0.2.0
          masklen: 24
          route_map: RMAP_1
        - prefix: 198.51.100.0
          masklen: 24
      address_family:
        - afi: ipv4
          safi: unicast
          redistribute:
            - protocol: ospf
              id: 223
              metric: 10
    operation: merge

- name: Configure BGP neighbors
  frr_bgp:
    config:
      bgp_as: 64496
      neighbors:
        - neighbor: 192.0.2.10
          remote_as: 64496
          password: ansible
          description: IBGP_NBR_1
          timers:
            keepalive: 120
            holdtime: 360
        - neighbor: 192.0.2.15
          remote_as: 64496
          description: IBGP_NBR_2
          advertisement_interval: 120
    operation: merge

- name: Configure BGP neighbors under address family mode
  frr_bgp:
    config:
      bgp_as: 64496
      address_family:
        - afi: ipv4
          safi: multicast
          neighbors:
            - neighbor: 203.0.113.10
              activate: yes
              maximum_prefix: 250

            - neighbor: 192.0.2.15
              activate: yes
              route_reflector_client: True
    operation: merge

- name: Configure root-level networks for BGP
  frr_bgp:
    config:
      bgp_as: 64496
      networks:
        - prefix: 203.0.113.0
          masklen: 27
          route_map: RMAP_1
        - prefix: 203.0.113.32
          masklen: 27
          route_map: RMAP_2
    operation: merge

- name: remove bgp as 64496 from config
  frr_bgp:
    config:
      bgp_as: 64496
    operation: delete

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
commands
list
always
The list of configuration mode commands to send to the device

Sample:
['router bgp 64496', 'bgp router-id 192.0.2.1', 'neighbor 192.51.100.1 remote-as 64497', 'neighbor 192.51.100.1 timers 120 360', 'neighbor 198.51.100.2 remote-as 64498', 'address-family ipv4 unicast', 'redistribute ospf 223 metric 10', 'exit-address-family', 'bgp log-neighbor-changes', 'network 192.0.2.0/24 route-map RMAP_1', 'network 198.51.100.0/24', 'exit']


Status

Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

Authors

  • Nilashish Chakraborty (@nilashishc)

Hint

If you notice any issues in this documentation you can edit this document to improve it.