cisco.ios.ios_bgp module – Module to configure BGP protocol settings.
Note
This module is part of the cisco.ios collection (version 2.8.1).
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 cisco.ios.
To use it in a playbook, specify: cisco.ios.ios_bgp.
New in version 1.0.0: of cisco.ios
DEPRECATED
- Removed in
- major release after 2023-08-24 
- Why
- Newer and updated modules released with more functionality 
- Alternative
- ios_bgp_global 
Synopsis
- This module provides configuration management of global BGP parameters on devices running Cisco IOS 
Parameters
| Parameter | Comments | 
|---|---|
| Specifies the BGP related configuration. | |
| Specifies BGP address family related configurations. | |
| Type of address family to configure. Choices: 
 | |
| Enable/disable automatic network number summarization. Choices: 
 | |
| Specifies BGP neighbor related configurations in Address Family configuration mode. | |
| Enable the Address Family for this Neighbor. Choices: 
 | |
| Minimum interval between sending BGP routing updates for this neighbor. | |
| Maximum number of prefixes to accept from this peer. The range is from 1 to 2147483647. | |
| Neighbor router address. | |
| Enable/disable the next hop calculation for this neighbor. Choices: 
 | |
| Propagate next hop unchanged for iBGP paths to this neighbor. Choices: 
 | |
| Name of ip prefix-list to apply to incoming prefixes. | |
| Name of ip prefix-list to apply to outgoing prefixes. | |
| Remove the private AS number from outbound updates. Choices: 
 | |
| Specify a neighbor as a route reflector client. Choices: 
 | |
| Specify a neighbor as a route server client. Choices: 
 | |
| Specify Networks to announce via BGP. For operation replace, this option is mutually exclusive with root level networks option. | |
| Subnet mask length for the Network to announce(e.g, 8, 16, 24, etc.). | |
| Network ID to announce via BGP. | |
| Route map to modify the attributes. | |
| Specifies the redistribute information from another routing protocol. | |
| Identifier for the routing protocol for configuring redistribute information. Valid for protocols ‘ospf’, ‘ospfv3’ and ‘eigrp’. | |
| Specifies the metric for redistributed routes. | |
| Specifies the protocol for configuring redistribute information. Choices: 
 | |
| Specifies the route map reference. | |
| Specifies the type of cast for the address family. Choices: 
 | |
| Enable/disable IGP synchronization. Choices: 
 | |
| Specifies the BGP Autonomous System (AS) number to configure on the device. | |
| Enable/disable logging neighbor up/down and reset reason. Choices: 
 | |
| Specifies BGP neighbor related configurations. | |
| Neighbor specific description. | |
| Specifies the maximum hop count for EBGP neighbors not on directly connected networks. The range is from 1 to 255. | |
| Administratively shutdown or enable a neighbor. Choices: 
 | |
| The local AS number for the neighbor. | |
| Neighbor router address. | |
| Password to authenticate the BGP peer connection. | |
| Name of the peer group that the neighbor is a member of. | |
| Remote AS of the BGP neighbor to configure. | |
| Specifies BGP neighbor timer related configurations. | |
| Interval (in seconds) after not receiving a keepalive message that IOS declares a peer dead. The range is from 0 to 65535. | |
| Frequency (in seconds) with which the device sends keepalive messages to its peer. The range is from 0 to 65535. | |
| Interval (in seconds) specifying the minimum acceptable hold-time from a BGP neighbor. The minimum acceptable hold-time must be less than, or equal to, the interval specified in the holdtime argument. The range is from 0 to 65535. | |
| Source of the routing updates. | |
| 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. | |
| Subnet mask length for the Network to announce(e.g, 8, 16, 24, etc.). | |
| Network ID to announce via BGP. | |
| Route map to modify the attributes. | |
| Configures the BGP routing process router-id value. | |
| 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. Choices: 
 | 
Examples
- name: configure global bgp as 64496
  cisco.ios.ios_bgp:
    config:
      bgp_as: 64496
      router_id: 192.0.2.1
      log_neighbor_changes: true
      neighbors:
      - neighbor: 203.0.113.5
        remote_as: 64511
        timers:
          keepalive: 300
          holdtime: 360
          min_neighbor_holdtime: 360
      - neighbor: 198.51.100.2
        remote_as: 64498
      networks:
      - prefix: 198.51.100.0
        route_map: RMAP_1
      - prefix: 192.0.2.0
        masklen: 23
      address_family:
      - afi: ipv4
        safi: unicast
        redistribute:
        - protocol: ospf
          id: 223
          metric: 10
    operation: merge
- name: Configure BGP neighbors
  cisco.ios.ios_bgp:
    config:
      bgp_as: 64496
      neighbors:
      - neighbor: 192.0.2.10
        remote_as: 64496
        password: ansible
        description: IBGP_NBR_1
        ebgp_multihop: 100
        timers:
          keepalive: 300
          holdtime: 360
          min_neighbor_holdtime: 360
      - neighbor: 192.0.2.15
        remote_as: 64496
        description: IBGP_NBR_2
        ebgp_multihop: 150
    operation: merge
- name: Configure root-level networks for BGP
  cisco.ios.ios_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: Configure BGP neighbors under address family mode
  cisco.ios.ios_bgp:
    config:
      bgp_as: 64496
      address_family:
      - afi: ipv4
        safi: unicast
        neighbors:
        - neighbor: 203.0.113.10
          activate: yes
          maximum_prefix: 250
          advertisement_interval: 120
        - neighbor: 192.0.2.15
          activate: yes
          route_reflector_client: true
    operation: merge
- name: remove bgp as 64496 from config
  cisco.ios.ios_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 | Description | 
|---|---|
| The list of configuration mode commands to send to the device Returned: always Sample: [“router bgp 64496”, “bgp router-id 192.0.2.1”, “bgp log-neighbor-changes”, “neighbor 203.0.113.5 remote-as 64511”, “neighbor 203.0.113.5 timers 300 360 360”, “neighbor 198.51.100.2 remote-as 64498”, “network 198.51.100.0 route-map RMAP_1”, “network 192.0.2.0 mask 255.255.254.0”, “address-family ipv4”, “redistribute ospf 223 metric 70”, “exit-address-family”] | 
Status
- This module will be removed in a major release after 2023-08-24. [deprecated] 
- For more information see DEPRECATED. 
Authors
- Nilashish Chakraborty (@NilashishC)