On this page
frr.frr.frr_bgp – Configure global BGP settings on Free Range Routing(FRR).
Note
This plugin is part of the frr.frr collection (version 1.0.3).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install frr.frr
.
To use it in a playbook, specify: frr.frr.frr_bgp
.
New in version 1.0.0: of frr.frr
Synopsis
- This module provides configuration management of global BGP parameters on devices running Free Range Routing(FRR).
Parameters
Parameter | Choices/Defaults | Comments | |||
---|---|---|---|---|---|
config
dictionary
|
Specifies the BGP related configuration.
|
||||
address_family
list / elements=dictionary
|
Specifies BGP address family related configurations.
|
||||
afi
string / required
|
|
Type of address family to configure.
|
|||
neighbors
list / elements=dictionary
|
Specifies BGP neighbor related configurations in Address Family configuration mode.
|
||||
activate
boolean
|
|
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
string / required
|
Neighbor router address.
|
||||
next_hop_self
boolean
|
|
Enable/disable the next hop calculation for this neighbor.
|
|||
remove_private_as
boolean
|
|
Remove the private AS number from outbound updates.
|
|||
route_reflector_client
boolean
|
|
Specify a neighbor as a route reflector client.
|
|||
route_server_client
boolean
|
|
Specify a neighbor as a route server client.
|
|||
networks
list / elements=dictionary
|
Specify networks to announce via BGP.
For operation replace, this option is mutually exclusive with root level networks option.
|
||||
masklen
integer / required
|
Subnet mask length for the network to announce(e.g, 8, 16, 24, etc.).
|
||||
prefix
string / required
|
Network ID to announce via BGP.
|
||||
route_map
string
|
Route map to modify the attributes.
|
||||
redistribute
list / elements=dictionary
|
Specifies the redistribute information from another routing protocol.
|
||||
id
string
|
Specifies the instance ID/table ID for this protocol
Valid for ospf and table
|
||||
metric
integer
|
Specifies the metric for redistributed routes.
|
||||
protocol
string / required
|
|
Specifies the protocol for configuring redistribute information.
|
|||
route_map
string
|
Specifies the route map reference.
|
||||
safi
string
|
|
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
|
|
Enable/disable logging neighbor up/down and reset reason.
|
|||
neighbors
list / elements=dictionary
|
Specifies BGP neighbor related configurations.
|
||||
advertisement_interval
integer
|
Minimum interval between sending BGP routing updates for this neighbor.
|
||||
description
string
|
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
|
|
Administratively shutdown or enable a neighbor.
|
|||
local_as
integer
|
The local AS number for the neighbor.
|
||||
neighbor
string / required
|
Neighbor router address.
|
||||
password
string
|
Password to authenticate the BGP peer connection.
|
||||
peer_group
string
|
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
dictionary
|
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
string
|
Source of the routing updates.
|
||||
networks
list / elements=dictionary
|
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
integer / required
|
Subnet mask length for the network to announce(e.g, 8, 16, 24, etc.).
|
||||
prefix
string / required
|
Network ID to announce via BGP.
|
||||
route_map
string
|
Route map to modify the attributes.
|
||||
router_id
string
|
Configures the BGP routing process router-id value.
|
||||
operation
string
|
|
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.frr.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.frr.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.frr.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.frr.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.frr.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 / elements=string
|
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']
|
Authors
- Nilashish Chakraborty (@NilashishC)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/frr/frr/frr_bgp_module.html