cisco / cisco.ios / 8.0.0 / module / ios_bgp_address_family Resource module to configure BGP Address family. | "added in version" 1.2.0 of cisco.ios" Authors: Sagar Paul (@KB-perByte), Sumit Jaiswal (@justjais)cisco.ios.ios_bgp_address_family (8.0.0) — module
Install with ansible-galaxy collection install cisco.ios:==8.0.0
collections: - name: cisco.ios version: 8.0.0
This module configures and manages the attributes of bgp address family on Cisco IOS.
# Using merged # Before state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp nopeerup-delay cold-boot 20 - name: Merge provided configuration with device configuration cisco.ios.ios_bgp_address_family: config: as_number: 65000 address_family: - afi: ipv4 safi: multicast vrf: blue aggregate_address: - address: 192.0.2.1 netmask: 255.255.255.255 as_confed_set: true bgp: aggregate_timer: 10 dampening: penalty_half_time: 1 reuse_route_val: 1 suppress_route_val: 1 max_suppress: 1 slow_peer: - detection: threshold: 150 neighbor: - address: 198.51.100.1 aigp: send: cost_community: id: 100 poi: igp_cost: true transitive: true slow_peer: - detection: threshold: 150 remote_as: 10 route_map: - name: test-route-out out: true - name: test-route-in in: true route_server_client: true network: - address: 198.51.110.10 mask: 255.255.255.255 backdoor: true snmp: context: name: snmp_con community: snmp_community: community ro: true acl: 10 - afi: ipv4 safi: mdt bgp: dmzlink_bw: true dampening: penalty_half_time: 1 reuse_route_val: 10 suppress_route_val: 100 max_suppress: 5 soft_reconfig_backup: true - afi: ipv4 safi: multicast aggregate_address: - address: 192.0.3.1 netmask: 255.255.255.255 as_confed_set: true default_metric: 12 distance: external: 10 internal: 10 local: 100 network: - address: 198.51.111.11 mask: 255.255.255.255 route_map: test table_map: name: test_tableMap filter: true state: merged
# Task Output: # ------------ # # before: {} # commands: # - router bgp 65000 # - address-family ipv4 multicast vrf blue # - bgp aggregate-timer 10 # - bgp dampening 1 1 1 1 # - bgp slow-peer detection threshold 150 # - snmp context snmp_con community community ro 10 # - neighbor 198.51.100.1 remote-as 10 # - neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # - neighbor 198.51.100.1 slow-peer detection threshold 150 # - network 198.51.110.10 mask 255.255.255.255 backdoor # - aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # - address-family ipv4 multicast # - default-metric 12 # - distance bgp 10 10 100 # - table-map test_tableMap filter # - network 198.51.111.11 mask 255.255.255.255 route-map test # - aggregate-address 192.0.3.1 255.255.255.255 as-confed-set # - address-family ipv4 mdt # - bgp dmzlink-bw # - bgp soft-reconfig-backup # - bgp dampening 1 10 100 5 # after: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 1 # penalty_half_time: 1 # reuse_route_val: 1 # suppress_route_val: 1 # slow_peer_options: # detection: # threshold: 150 # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # snmp: # context: # community: # acl: '10' # ro: true # snmp_community: community # name: snmp_con # - afi: ipv4 # aggregate_addresses: # - address: 192.0.3.1 # as_confed_set: true # netmask: 255.255.255.255 # default_metric: 12 # distance: # external: 10 # internal: 10 # local: 100 # networks: # - address: 198.51.111.11 # mask: 255.255.255.255 # route_map: test # safi: multicast # table_map: # filter: true # name: test_tableMap # - afi: ipv4 # bgp: # dampening: # max_suppress: 5 # penalty_half_time: 1 # reuse_route_val: 10 # suppress_route_val: 100 # dmzlink_bw: true # soft_reconfig_backup: true # safi: mdt # as_number: '65000' # After state: # ------------ # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # snmp context snmp_con community community RO 10 # neighbor 198.51.100.1 remote-as 10 # ! # address-family ipv4 # snmp context snmp_con community community RO 10 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 150 # bgp dampening 1 1 1 1 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # exit-address-family # ! # address-family ipv4 multicast # table-map test_tableMap filter # network 198.51.111.11 mask 255.255.255.255 route-map test # aggregate-address 192.0.3.1 255.255.255.255 as-confed-set # default-metric 12 # distance bgp 10 10 100 # exit-address-family # ! # address-family ipv4 mdt # bgp dampening 1 10 100 5 # bgp dmzlink-bw # bgp soft-reconfig-backup # exit-address-family # Using replaced # Before state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # snmp context snmp_con community community RO 10 # neighbor 198.51.100.1 remote-as 10 # ! # address-family ipv4 # snmp context snmp_con community community RO 10 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 150 # bgp dampening 1 1 1 1 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # exit-address-family # ! # address-family ipv4 multicast # table-map test_tableMap filter # network 198.51.111.11 mask 255.255.255.255 route-map test # aggregate-address 192.0.3.1 255.255.255.255 as-confed-set # default-metric 12 # distance bgp 10 10 100 # exit-address-family # ! # address-family ipv4 mdt # bgp dampening 1 10 100 5 # bgp dmzlink-bw # bgp soft-reconfig-backup # exit-address-family - name: Replaces device configuration of listed AF BGP with provided configuration cisco.ios.ios_bgp_address_family: config: as_number: 65000 address_family: - afi: ipv4 safi: multicast vrf: blue aggregate_address: - address: 192.0.2.1 netmask: 255.255.255.255 as_confed_set: true bgp: aggregate_timer: 10 dampening: penalty_half_time: 1 reuse_route_val: 1 suppress_route_val: 1 max_suppress: 1 slow_peer: - detection: threshold: 150 neighbor: - address: 198.51.110.1 activate: true aigp: send: cost_community: id: 200 poi: igp_cost: true transitive: true slow_peer: - detection: threshold: 150 remote_as: 10 network: - address: 198.51.110.10 mask: 255.255.255.255 backdoor: true - afi: ipv4 safi: multicast bgp: aggregate_timer: 10 dampening: penalty_half_time: 10 reuse_route_val: 10 suppress_route_val: 10 max_suppress: 10 slow_peer: - detection: threshold: 200 network: - address: 192.0.2.1 mask: 255.255.255.255 route_map: test state: replaced
# Task Output: # ------------ # before: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 1 # penalty_half_time: 1 # reuse_route_val: 1 # suppress_route_val: 1 # slow_peer_options: # detection: # threshold: 150 # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # snmp: # context: # community: # acl: '10' # ro: true # snmp_community: community # name: snmp_con # - afi: ipv4 # aggregate_addresses: # - address: 192.0.3.1 # as_confed_set: true # netmask: 255.255.255.255 # default_metric: 12 # distance: # external: 10 # internal: 10 # local: 100 # networks: # - address: 198.51.111.11 # mask: 255.255.255.255 # route_map: test # safi: multicast # table_map: # filter: true # name: test_tableMap # - afi: ipv4 # bgp: # dampening: # max_suppress: 5 # penalty_half_time: 1 # reuse_route_val: 10 # suppress_route_val: 100 # dmzlink_bw: true # soft_reconfig_backup: true # safi: mdt # as_number: '65000' # commands: # - router bgp 65000 # - address-family ipv4 multicast vrf blue # - bgp aggregate-timer 10 # - bgp dampening 1 1 1 1 # - bgp slow-peer detection threshold 150 # - neighbor 198.51.110.1 remote-as 10 # - neighbor 198.51.110.1 activate # - neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # - neighbor 198.51.110.1 slow-peer detection threshold 150 # - network 198.51.110.10 mask 255.255.255.255 backdoor # - aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # - address-family ipv4 multicast # - no default-metric 12 # - no distance bgp 10 10 100 # - no table-map test_tableMap filter # - bgp aggregate-timer 10 # - bgp dampening 10 10 10 10 # - bgp slow-peer detection threshold 200 # - network 192.0.2.1 mask 255.255.255.255 route-map test # - no network 198.51.111.11 mask 255.255.255.255 route-map test # - no aggregate-address 192.0.3.1 255.255.255.255 as-confed-set # after: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 1 # penalty_half_time: 1 # reuse_route_val: 1 # suppress_route_val: 1 # slow_peer_options: # detection: # threshold: 150 # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # - activate: true # aigp: # send: # cost_community: # id: 200 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.110.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # snmp: # context: # community: # acl: '10' # ro: true # snmp_community: community # name: snmp_con # - afi: ipv4 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 10 # penalty_half_time: 10 # reuse_route_val: 10 # suppress_route_val: 10 # slow_peer_options: # detection: # threshold: 200 # networks: # - address: 192.0.2.1 # mask: 255.255.255.255 # route_map: test # safi: multicast # - afi: ipv4 # bgp: # dampening: # max_suppress: 5 # penalty_half_time: 1 # reuse_route_val: 10 # suppress_route_val: 100 # dmzlink_bw: true # soft_reconfig_backup: true # safi: mdt # as_number: '65000' # After state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # snmp context snmp_con community community RO 10 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 10 # ! # address-family ipv4 # snmp context snmp_con community community RO 10 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 150 # bgp dampening 1 1 1 1 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 activate # neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # neighbor 198.51.110.1 slow-peer detection threshold 150 # exit-address-family # ! # address-family ipv4 multicast # bgp aggregate-timer 10 # bgp slow-peer detection threshold 200 # bgp dampening 10 10 10 10 # network 192.0.2.1 mask 255.255.255.255 route-map test # exit-address-family # ! # address-family ipv4 mdt # bgp dampening 1 10 100 5 # bgp dmzlink-bw # bgp soft-reconfig-backup # exit-address-family # Using overridden # Before state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # snmp context snmp_con community community RO 10 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 10 # ! # address-family ipv4 # snmp context snmp_con community community RO 10 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 150 # bgp dampening 1 1 1 1 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 activate # neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # neighbor 198.51.110.1 slow-peer detection threshold 150 # exit-address-family # ! # address-family ipv4 multicast # bgp aggregate-timer 10 # bgp slow-peer detection threshold 200 # bgp dampening 10 10 10 10 # network 192.0.2.1 mask 255.255.255.255 route-map test # exit-address-family # ! # address-family ipv4 mdt # bgp dampening 1 10 100 5 # bgp dmzlink-bw # bgp soft-reconfig-backup # exit-address-family - name: Override device configuration of all AF BGP with provided configuration cisco.ios.ios_bgp_address_family: config: as_number: 65000 address_family: - afi: ipv4 safi: multicast vrf: blue aggregate_address: - address: 192.0.2.1 netmask: 255.255.255.255 as_confed_set: true bgp: aggregate_timer: 10 dampening: penalty_half_time: 10 reuse_route_val: 10 suppress_route_val: 100 max_suppress: 50 slow_peer: - detection: threshold: 150 neighbor: - address: 198.51.110.1 activate: true log_neighbor_changes: disable: true maximum_prefix: number: 1 threshold_value: 10 restart: 100 slow_peer: - detection: threshold: 150 remote_as: 100 version: 4 network: - address: 198.51.110.10 mask: 255.255.255.255 backdoor: true - afi: ipv6 safi: multicast default_information: true bgp: aggregate_timer: 10 dampening: penalty_half_time: 10 reuse_route_val: 10 suppress_route_val: 10 max_suppress: 10 slow_peer: - detection: threshold: 200 network: - address: 2001:DB8:0:3::/64 route_map: test_ipv6 state: overridden
# Task Output: # ------------ # # before: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 10 # penalty_half_time: 10 # reuse_route_val: 10 # suppress_route_val: 10 # slow_peer_options: # detection: # threshold: 200 # default_information: true # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # - activate: true # aigp: # send: # cost_community: # id: 200 # poi: # igp_cost: true # transitive: true # maximum_prefix: # number: 1 # restart: 100 # threshold_value: 10 # neighbor_address: 198.51.110.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # - afi: ipv4 # safi: multicast # - afi: ipv4 # safi: mdt # - afi: ipv6 # safi: multicast # as_number: '65000' # commands: # - router bgp 65000 # - address-family ipv4 # - no default-information originate # - no bgp aggregate-timer 10 # - no bgp dampening 10 10 10 10 # - no bgp slow-peer detection threshold 200 # - no neighbor 198.51.100.1 # - no neighbor 198.51.110.1 # - no network 198.51.110.10 mask 255.255.255.255 backdoor # - no aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # - address-family ipv4 multicast vrf blue # - bgp aggregate-timer 10 # - bgp dampening 10 10 100 50 # - bgp slow-peer detection threshold 150 # - neighbor 198.51.110.1 remote-as 100 # - neighbor 198.51.110.1 activate # - neighbor 198.51.110.1 disable # - neighbor 198.51.110.1 maximum-prefix 1 10 restart 100 # - neighbor 198.51.110.1 slow-peer detection threshold 150 # - neighbor 198.51.110.1 version 4 # - network 198.51.110.10 mask 255.255.255.255 backdoor # - aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # - address-family ipv6 multicast # - default-information originate # - bgp aggregate-timer 10 # - bgp dampening 10 10 10 10 # - bgp slow-peer detection threshold 200 # after: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 10 # penalty_half_time: 10 # reuse_route_val: 10 # suppress_route_val: 10 # slow_peer_options: # detection: # threshold: 200 # default_information: true # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # - activate: true # aigp: # send: # cost_community: # id: 200 # poi: # igp_cost: true # transitive: true # maximum_prefix: # number: 1 # restart: 100 # threshold_value: 10 # neighbor_address: 198.51.110.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # - afi: ipv4 # safi: multicast # - afi: ipv4 # safi: mdt # - afi: ipv6 # safi: multicast # as_number: '65000' # After state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 100 # neighbor 198.51.110.1 disable-connected-check # neighbor 198.51.110.1 version 4 # ! # address-family ipv4 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 200 # bgp dampening 10 10 10 10 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 activate # neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # neighbor 198.51.110.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 maximum-prefix 1 10 restart 100 # default-information originate # exit-address-family # ! # address-family ipv4 multicast # exit-address-family # ! # address-family ipv4 mdt # exit-address-family # ! # address-family ipv6 multicast # exit-address-family # Using deleted # Before state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 100 # neighbor 198.51.110.1 disable-connected-check # neighbor 198.51.110.1 version 4 # ! # address-family ipv4 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 200 # bgp dampening 10 10 10 10 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 activate # neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # neighbor 198.51.110.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 maximum-prefix 1 10 restart 100 # default-information originate # exit-address-family # ! # address-family ipv4 multicast # exit-address-family # ! # address-family ipv4 mdt # exit-address-family # ! # address-family ipv6 multicast # exit-address-family - name: "Delete AF BGP (Note: This won't delete the all configured AF BGP)" cisco.ios.ios_bgp_address_family: config: as_number: 65000 address_family: - afi: ipv4 safi: multicast - afi: ipv4 safi: mdt state: deleted
# Task Output: # ------------ # # before: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 10 # penalty_half_time: 10 # reuse_route_val: 10 # suppress_route_val: 10 # slow_peer_options: # detection: # threshold: 200 # default_information: true # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # - activate: true # aigp: # send: # cost_community: # id: 200 # poi: # igp_cost: true # transitive: true # maximum_prefix: # number: 1 # restart: 100 # threshold_value: 10 # neighbor_address: 198.51.110.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # - afi: ipv4 # safi: multicast # - afi: ipv4 # safi: mdt # - afi: ipv6 # safi: multicast # as_number: '65000' # commands: # - router bgp 65000 # - no address-family ipv4 multicast # - no address-family ipv4 mdt # after: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 10 # penalty_half_time: 10 # reuse_route_val: 10 # suppress_route_val: 10 # slow_peer_options: # detection: # threshold: 200 # default_information: true # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # - activate: true # aigp: # send: # cost_community: # id: 200 # poi: # igp_cost: true # transitive: true # maximum_prefix: # number: 1 # restart: 100 # threshold_value: 10 # neighbor_address: 198.51.110.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # - afi: ipv6 # safi: multicast # as_number: '65000' # After state: # ------------- # # vios#sh running-config | section ^router bg # hostname#show running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 100 # neighbor 198.51.110.1 disable-connected-check # neighbor 198.51.110.1 version 4 # ! # address-family ipv4 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 200 # bgp dampening 10 10 10 10 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 activate # neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # neighbor 198.51.110.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 maximum-prefix 1 10 restart 100 # default-information originate # exit-address-family # ! # address-family ipv6 multicast # exit-address-family # Using Deleted without any config passed (delete all) # Before state: # ------------- # # vios#sh running-config | section ^router bg # hostname#show running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 100 # neighbor 198.51.110.1 disable-connected-check # neighbor 198.51.110.1 version 4 # ! # address-family ipv4 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 200 # bgp dampening 10 10 10 10 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 activate # neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive # neighbor 198.51.110.1 slow-peer detection threshold 150 # neighbor 198.51.110.1 maximum-prefix 1 10 restart 100 # default-information originate # exit-address-family # ! # address-family ipv6 multicast # exit-address-family - name: "Delete ALL of configured AF BGP" cisco.ios.ios_bgp_address_family: state: deleted
# Task Output: # ------------ # # before: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 10 # penalty_half_time: 10 # reuse_route_val: 10 # suppress_route_val: 10 # slow_peer_options: # detection: # threshold: 200 # default_information: true # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # - activate: true # aigp: # send: # cost_community: # id: 200 # poi: # igp_cost: true # transitive: true # maximum_prefix: # number: 1 # restart: 100 # threshold_value: 10 # neighbor_address: 198.51.110.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # - afi: ipv6 # safi: multicast # as_number: '65000' # commands: # - router bgp 65000 # - no address-family ipv4 # - no address-family ipv6 multicast # after: # address_family: # - afi: ipv4 # bgp: # aggregate_timer: 10 # as_number: '65000' # After state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # neighbor 198.51.100.1 remote-as 10 # neighbor 198.51.110.1 remote-as 100 # neighbor 198.51.110.1 disable-connected-check # neighbor 198.51.110.1 version 4 # ! # address-family ipv4 # bgp aggregate-timer 10 # no neighbor 198.51.100.1 activate # no neighbor 198.51.110.1 activate # exit-address-family # Using gathered # Before state: # ------------- # # vios#sh running-config | section ^router bgp # router bgp 65000 # bgp log-neighbor-changes # bgp graceful-shutdown all neighbors 50 local-preference 100 community 100 # snmp context snmp_con community community RO 10 # neighbor 198.51.100.1 remote-as 10 # ! # address-family ipv4 # snmp context snmp_con community community RO 10 # bgp aggregate-timer 10 # bgp slow-peer detection threshold 150 # bgp dampening 1 1 1 1 # network 198.51.110.10 mask 255.255.255.255 backdoor # aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # neighbor 198.51.100.1 activate # neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # neighbor 198.51.100.1 slow-peer detection threshold 150 # exit-address-family # ! # address-family ipv4 multicast # table-map test_tableMap filter # network 198.51.111.11 mask 255.255.255.255 route-map test # aggregate-address 192.0.3.1 255.255.255.255 as-confed-set # default-metric 12 # distance bgp 10 10 100 # exit-address-family # ! # address-family ipv4 mdt # bgp dampening 1 10 100 5 # bgp dmzlink-bw # bgp soft-reconfig-backup # exit-address-family - name: Gather listed AF BGP with provided configurations cisco.ios.ios_bgp_address_family: config: state: gathered
# Task Output: # ------------ # # gathered: # address_family: # - afi: ipv4 # aggregate_addresses: # - address: 192.0.2.1 # as_confed_set: true # netmask: 255.255.255.255 # bgp: # aggregate_timer: 10 # dampening: # max_suppress: 1 # penalty_half_time: 1 # reuse_route_val: 1 # suppress_route_val: 1 # slow_peer_options: # detection: # threshold: 150 # neighbors: # - activate: true # aigp: # send: # cost_community: # id: 100 # poi: # igp_cost: true # transitive: true # neighbor_address: 198.51.100.1 # slow_peer_options: # detection: # threshold: 150 # networks: # - address: 198.51.110.10 # backdoor: true # mask: 255.255.255.255 # snmp: # context: # community: # acl: '10' # ro: true # snmp_community: community # name: snmp_con # - afi: ipv4 # aggregate_addresses: # - address: 192.0.3.1 # as_confed_set: true # netmask: 255.255.255.255 # default_metric: 12 # distance: # external: 10 # internal: 10 # local: 100 # networks: # - address: 198.51.111.11 # mask: 255.255.255.255 # route_map: test # safi: multicast # table_map: # filter: true # name: test_tableMap # - afi: ipv4 # bgp: # dampening: # max_suppress: 5 # penalty_half_time: 1 # reuse_route_val: 10 # suppress_route_val: 100 # dmzlink_bw: true # soft_reconfig_backup: true # safi: mdt # as_number: '65000' # Using rendered - name: Rendered the provided configuration with the existing running configuration cisco.ios.ios_bgp_address_family: config: as_number: 65000 address_family: - afi: ipv4 safi: multicast vrf: blue aggregate_address: - address: 192.0.2.1 netmask: 255.255.255.255 as_confed_set: true bgp: aggregate_timer: 10 dampening: penalty_half_time: 1 reuse_route_val: 1 suppress_route_val: 1 max_suppress: 1 slow_peer: - detection: threshold: 150 neighbor: - address: 198.51.100.1 aigp: send: cost_community: id: 100 poi: igp_cost: true transitive: true slow_peer: - detection: threshold: 150 remote_as: 10 route_maps: - name: test-route out: true route_server_client: true network: - address: 198.51.110.10 mask: 255.255.255.255 backdoor: true snmp: context: name: snmp_con community: snmp_community: community ro: true acl: 10 - afi: ipv4 safi: mdt bgp: dmzlink_bw: true dampening: penalty_half_time: 1 reuse_route_val: 10 suppress_route_val: 100 max_suppress: 5 soft_reconfig_backup: true state: rendered
# Task Output: # ------------ # # rendered: # - router bgp 65000 # - address-family ipv4 multicast vrf blue # - bgp aggregate-timer 10 # - bgp dampening 1 1 1 1 # - bgp slow-peer detection threshold 150 # - snmp context snmp_con community community ro 10 # - neighbor 198.51.100.1 remote-as 10 # - neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive # - neighbor 198.51.100.1 slow-peer detection threshold 150 # - network 198.51.110.10 mask 255.255.255.255 backdoor # - aggregate-address 192.0.2.1 255.255.255.255 as-confed-set # - address-family ipv4 mdt # - bgp dmzlink-bw # - bgp soft-reconfig-backup # - bgp dampening 1 10 100 5 # Using parsed # File: parsed.cfg # ---------------- # router bgp 65000 # bgp log-neighbor-changes # bgp nopeerup-delay cold-boot 20 # ! # address-family ipv4 multicast # table-map test_tableMap filter # network 1.1.1.1 mask 255.255.255.255 route-map test # aggregate-address 192.0.3.1 255.255.255.255 as-confed-set # default-metric 12 # distance bgp 10 10 100 # exit-address-family # ! # address-family ipv4 mdt # bgp dampening 1 10 100 5 # bgp dmzlink-bw # bgp soft-reconfig-backup # exit-address-family # ! - name: Parse the commands for provided configuration cisco.ios.ios_bgp_address_family: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed
state: choices: - merged - replaced - overridden - deleted - gathered - rendered - parsed default: merged description: - The state the configuration should be left in - The states I(rendered), I(gathered) and I(parsed) does not perform any change on the device. - The state I(rendered) will transform the configuration in C(config) option to platform specific CLI commands which will be returned in the I(rendered) key within the result. For state I(rendered) active connection to remote host is not required. - The state I(gathered) will fetch the running configuration from device and transform it into structured data in the format as per the resource module argspec and the value is returned in the I(gathered) key within the result. - The state I(parsed) reads the configuration from C(running_config) option and transforms it into JSON format as per the resource module parameters and the value is returned in the I(parsed) key within the result. The value of C(running_config) option should be the same format as the output of command I(show running-config | include ip route|ipv6 route) executed on device. For state I(parsed) active connection to remote host is not required. type: str config: description: A list of configurations for bgp address family. suboptions: address_family: description: A list of configurations for bgp address family. elements: dict suboptions: advertise: description: Configure path advertise/export to other address-family suboptions: afi: choices: - l2vpn description: Address family for VRF advertise/export type: str safi: choices: - evpn description: Advertise/export prefixes to address family type: str type: dict afi: choices: - ipv4 - ipv6 - l2vpn - nsap - rtfilter - vpnv4 - vpnv6 description: Address Family type: str aggregate_addresses: aliases: - aggregate_address description: Configure BGP aggregate entries elements: dict suboptions: address: description: Aggregate address(A.B.C.D) type: str advertise_map: description: Set condition to advertise attribute type: str as_confed_set: description: Generate AS confed set path information type: bool as_set: description: Generate AS set path information type: bool attribute_map: description: Set attributes of aggregate type: str netmask: description: Aggregate mask(A.B.C.D) type: str summary_only: description: Filter more specific routes from updates type: bool suppress_map: description: Conditionally filter more specific routes from updates type: str type: list auto_summary: description: Enable automatic network number summarization type: bool bgp: description: Configure BGP aggregate entries suboptions: additional_paths: description: Additional paths in the BGP table suboptions: install: description: Additional paths to install into RIB type: bool receive: description: Receive additional paths from neighbors type: bool select: description: Selection criteria to pick the paths suboptions: all: description: Select all available paths type: bool backup: description: Select backup path type: bool best: description: Select best N paths (2-3). type: int best_external: description: Select best-external path type: bool group_best: description: Select group-best path type: bool type: dict send: description: Send additional paths to neighbors type: bool type: dict aggregate_timer: description: - Configure Aggregation Timer - Please refer vendor documentation for valid values type: int dampening: description: Enable route-flap dampening suboptions: max_suppress: description: - Maximum duration to suppress a stable route - Please refer vendor documentation for valid values type: int penalty_half_time: description: - Half-life time for the penalty - Please refer vendor documentation for valid values type: int reuse_route_val: description: - Value to start reusing a route - Please refer vendor documentation for valid values type: int route_map: description: Route-map to specify criteria for dampening type: str suppress_route_val: description: - Value to start suppressing a route - Please refer vendor documentation for valid values type: int type: dict dmzlink_bw: description: Use DMZ Link Bandwidth as weight for BGP multipaths type: bool nexthop: description: Nexthop tracking commands suboptions: route_map: description: Route map for valid nexthops type: str trigger: description: Nexthop triggering suboptions: delay: description: - Set the delay to tigger nexthop tracking - Please refer vendor documentation for valid values type: int enable: description: Enable nexthop tracking type: bool type: dict type: dict redistribute_internal: description: Allow redistribution of iBGP into IGPs (dangerous) type: bool route_map: description: - route-map control commands - Have route-map set commands take priority over BGP commands such as next-hop unchanged type: bool scan_time: description: - Configure background scanner interval - Please refer vendor documentation for valid values type: int slow_peer: description: - Nexthop triggering - This option is DEPRECATED and replaced with slow_peer_options, this attribute will be removed after 2025-01-01. elements: dict suboptions: detection: description: Slow-peer detection suboptions: enable: description: Enable slow-peer detection type: bool threshold: description: - Set the slow-peer detection threshold - Threshold value (seconds) - Please refer vendor documentation for valid values type: int type: dict split_update_group: description: Configure slow-peer split-update-group suboptions: dynamic: description: Dynamically split the slow peer to slow-update group type: bool permanent: description: Keep the slow-peer permanently in slow-update group type: bool type: dict type: list slow_peer_options: description: Nexthop triggering suboptions: detection: description: Slow-peer detection suboptions: enable: description: Enable slow-peer detection type: bool threshold: description: - Set the slow-peer detection threshold - Threshold value (seconds) - Please refer vendor documentation for valid values type: int type: dict split_update_group: description: Configure slow-peer split-update-group suboptions: dynamic: description: Dynamically split the slow peer to slow-update group type: bool permanent: description: Keep the slow-peer permanently in slow-update group type: bool type: dict type: dict soft_reconfig_backup: description: Use soft-reconfiguration inbound only when route-refresh is not negotiated type: bool update_group: description: - Manage peers in bgp update groups - Split update groups based on Policy - Keep peers with as-override in different update groups type: bool type: dict default: description: Set a command to its defaults type: bool default_information: description: - Distribution of default information - Distribute default route type: bool default_metric: description: Set metric of redistributed routes type: int distance: description: Define an administrative distance suboptions: external: description: Distance for routes external to the AS type: int internal: description: Distance for routes internal to the AS type: int local: description: Distance for local routes type: int type: dict neighbors: aliases: - neighbor description: Specify a neighbor router elements: dict suboptions: activate: description: Enable the Address Family for this Neighbor type: bool additional_paths: description: Negotiate additional paths capabilities with this neighbor suboptions: disable: description: Disable additional paths for this neighbor type: bool receive: description: Receive additional paths from neighbors type: bool send: description: Send additional paths to this neighbor type: bool type: dict address: description: - Neighbor address (A.B.C.D) - This option is DEPRECATED and replaced with neighbor_address, this attribute will be removed after 2025-01-01. type: str advertise: description: - Advertise to this neighbor - Advertise additional paths suboptions: all: description: Select all available paths type: bool best: description: Select best N paths (2-3). type: int group_best: description: Select group-best path type: bool type: dict advertise_map: description: specify route-map for conditional advertisement suboptions: exist_map: description: - advertise prefix only if prefix is in the condition exists - condition route-map name type: str name: description: advertise route-map name type: str non_exist_map: description: - advertise prefix only if prefix in the condition does not exist - condition route-map name type: str type: dict advertisement_interval: description: Minimum interval between sending BGP routing updates type: int advertises: description: Advertise to this neighbor suboptions: additional_paths: description: Advertise additional paths suboptions: all: description: Select all available paths type: bool best: description: Select best N paths (2-3). type: int group_best: description: Select group-best path type: bool type: dict best_external: description: Advertise best-external (at RRs best-internal) path type: bool diverse_path: description: Advertise additional paths suboptions: backup: description: Diverse path can be backup path type: bool mpath: description: Diverse path can be multipath type: bool type: dict type: dict aigp: description: Enable a AIGP on neighbor suboptions: enable: description: Enable a AIGP on neighbor type: str send: description: Cost community or MED carrying AIGP VALUE suboptions: cost_community: description: Cost extended community carrying AIGP Value suboptions: id: description: - Community ID - Please refer vendor documentation for valid values type: int poi: description: Point of Insertion suboptions: igp_cost: description: Point of Insertion After IGP type: bool pre_bestpath: description: Point of Insertion At Beginning type: bool transitive: description: Cost community is Transitive type: bool type: dict type: dict med: description: Med carrying AIGP Value type: bool type: dict type: dict allow_policy: description: Enable the policy support for this IBGP Neighbor type: bool allowas_in: description: - Accept as-path with my AS present in it - Please refer vendor documentation for valid values type: int as_override: description: Override matching AS-number while sending update suboptions: set: description: Enable AS override type: bool split_horizon: description: Maintain Split Horizon while sending update type: bool type: dict bmp_activate: description: Activate the BMP monitoring for a BGP peer suboptions: all: description: Activate BMP monitoring for all servers type: bool server: description: - Activate BMP for server - BMP Server Number - Please refer vendor documentation for valid values type: int type: dict capability: description: - Advertise capability to the peer - Advertise ORF capability to the peer - Advertise prefixlist ORF capability to this neighbor suboptions: both: description: Capability to SEND and RECEIVE the ORF to/from this neighbor type: bool receive: description: Capability to RECEIVE the ORF from this neighbor type: bool send: description: Capability to SEND the ORF to this neighbor type: bool type: dict cluster_id: description: - Configure Route-Reflector Cluster-id (peers may reset) - Route-Reflector Cluster-id as 32 bit quantity, or Route-Reflector Cluster-id in IP address format (A.B.C.D) type: str default_originate: description: Originate default route to this neighbor suboptions: route_map: description: Route-map to specify criteria to originate default type: str set: description: Set default route to this neighbor type: bool type: dict description: description: Neighbor specific description type: str disable_connected_check: description: one-hop away EBGP peer using loopback address type: bool distribute_list: description: Filter updates to/from this neighbor suboptions: acl: description: ACL id/name type: str in: description: Filter incoming updates type: bool out: description: Filter outgoing updates type: bool type: dict dmzlink_bw: description: Propagate the DMZ link bandwidth type: bool ebgp_multihop: description: Allow EBGP neighbors not on directly connected networks suboptions: enable: description: Allow EBGP neighbors not on directly connected networks type: bool hop_count: description: - Maximum hop count - Please refer vendor documentation for valid values type: int type: dict fall_over: description: Session fall on peer route lost suboptions: bfd: description: Use BFD to detect failure suboptions: multi_hop: description: Force BFD multi-hop to detect failure type: bool set: description: set bfd type: bool single_hop: description: Force BFD single-hop to detect failure type: bool type: dict route_map: description: Route map for peer route type: str type: dict filter_list: description: Establish BGP filters suboptions: as_path_acl: description: - AS path access list - Please refer vendor documentation for valid values type: int in: description: Filter incoming updates type: bool out: description: Filter outgoing updates type: bool type: dict ha_mode: description: high availability mode suboptions: disable: description: disable graceful-restart type: bool set: description: set ha-mode and graceful-restart for this peer type: bool type: dict inherit: description: - Inherit a template - Inherit a peer-policy template type: str internal_vpn_client: description: Stack iBGP-CE Neighbor Path in ATTR_SET for vpn update type: bool ipv6_address: aliases: - ipv6_adddress description: - Neighbor ipv6 address (X:X:X:X::X) - This option is DEPRECATED and replaced with neighbor_address, this attribute will be removed after 2025-01-01. type: str local_as: description: Specify a local-as number suboptions: dual_as: description: Accept either real AS or local AS from the ebgp peer type: bool no_prepend: description: Do not prepend local-as to updates from ebgp peers suboptions: replace_as: description: Replace real AS with local AS in the EBGP updates type: bool set: description: Set prepend type: bool type: dict number: description: - AS number used as local AS - Please refer vendor documentation for valid values type: str set: description: set local-as number type: bool type: dict log_neighbor_changes: description: Log neighbor up/down and reset reason suboptions: disable: description: disable Log neighbor up/down and reset type: bool set: description: set Log neighbor up/down and reset type: bool type: dict maximum_prefix: description: Establish BGP filters suboptions: number: description: - maximum no. of prefix limit - Please refer vendor documentation for valid values type: int restart: description: Restart bgp connection after limit is exceeded type: int threshold_value: description: - Threshold value (%) at which to generate a warning msg - Please refer vendor documentation for valid values type: int warning_only: description: Only give warning message when limit is exceeded type: bool type: dict neighbor_address: description: - Neighbor address (A.B.C.D) - Neighbor tag - Neighbor ipv6 address (X:X:X:X::X) type: str next_hop_unchanged: description: - Propagate next hop unchanged for iBGP paths to this neighbor - Propagate next hop unchanged for all paths (iBGP and eBGP) to this neighbor suboptions: allpaths: description: Propagate next hop unchanged for all paths (iBGP and eBGP) to this neighbor type: bool set: description: Enable next-hop-unchanged type: bool type: dict nexthop_self: description: Disable the next hop calculation for this neighbor suboptions: all: description: Enable next-hop-self for both eBGP and iBGP received paths type: bool set: description: set the next hop self type: bool type: dict password: description: - Set a password - This option is DEPRECATED and is replaced with password_options which accepts dict as input, this attribute will be removed after 2024-06-01. type: str password_options: description: Set a password with encryption type suboptions: encryption: description: Encryption type (0 to disable encryption, 7 for proprietary) type: int pass_key: description: The password type: str type: dict path_attribute: description: BGP optional attribute filtering suboptions: discard: description: Discard matching path-attribute for this neighbor suboptions: in: description: Perform inbound path-attribute filtering type: bool range: description: path attribute range suboptions: end: description: - path attribute range end value - Please refer vendor documentation for valid values type: int start: description: - path attribute range start value - Please refer vendor documentation for valid values type: int type: dict type: description: - path attribute type - Please refer vendor documentation for valid values type: int type: dict treat_as_withdraw: description: Treat-as-withdraw matching path-attribute for this neighbor suboptions: in: description: Perform inbound path-attribute filtering type: bool range: description: path attribute range suboptions: end: description: - path attribute range end value - Please refer vendor documentation for valid values type: int start: description: - path attribute range start value - Please refer vendor documentation for valid values type: int type: dict type: description: - path attribute type - Please refer vendor documentation for valid values type: int type: dict type: dict peer_group: description: Member of the peer-group type: bool peer_group_name: description: Member of the peer-group type: str prefix_list: description: - Filter updates to/from this neighbor - This option is DEPRECATED and is replaced with prefix_lists which accepts list of dict as input suboptions: in: description: Filter incoming updates type: bool name: description: Name of a prefix list type: str out: description: Filter outgoing updates type: bool type: dict prefix_lists: description: Filter updates to/from this neighbor elements: dict suboptions: in: description: Filter incoming updates type: bool name: description: Name of a prefix list type: str out: description: Filter outgoing updates type: bool type: list remote_as: description: - Specify a BGP neighbor - AS of remote neighbor type: str remove_private_as: description: Remove private AS number from outbound updates suboptions: all: description: Remove all private AS numbers type: bool replace_as: description: Replace all private AS numbers with local AS type: bool set: description: Remove private AS number from outbound updates type: bool type: dict route_map: description: - Apply route map to neighbor - This option is DEPRECATED and is replaced with route_maps which accepts list of dict as input suboptions: in: description: Apply map to incoming routes type: bool name: description: Name of route map type: str out: description: Apply map to outbound routes type: bool type: dict route_maps: description: Apply route map to neighbor elements: dict suboptions: in: description: Apply map to incoming routes type: bool name: description: Name of route map type: str out: description: Apply map to outbound routes type: bool type: list route_reflector_client: description: Configure a neighbor as Route Reflector client type: bool route_server_client: description: Configure a neighbor as Route Server client type: bool send_community: description: Send Community attribute to this neighbor suboptions: both: description: Send Standard and Extended Community attributes type: bool extended: description: Send Extended Community attribute type: bool set: description: - Send Standard Community attribute. - Maintains backwards compatibility for configurations that do not specify a send-community type. type: bool standard: description: Send Standard Community attribute type: bool type: dict shutdown: description: Administratively shut down this neighbor suboptions: graceful: description: - Gracefully shut down this neighbor - time in seconds - Please refer vendor documentation for valid values type: int set: description: shut down type: bool type: dict slow_peer: description: - Configure slow-peer - This option is DEPRECATED and replaced with slow_peer_options, this attribute will be removed after 2025-01-01. elements: dict suboptions: detection: description: Configure slow-peer suboptions: disable: description: Disable slow-peer detection type: bool enable: description: Enable slow-peer detection type: bool threshold: description: Set the slow-peer detection threshold type: int type: dict split_update_group: description: Configure slow-peer suboptions: dynamic: description: Configure slow-peer suboptions: disable: description: Configure slow-peer type: bool enable: description: Configure slow-peer type: bool permanent: description: Configure slow-peer type: bool type: dict static: description: Configure slow-peer type: bool type: dict type: list slow_peer_options: description: Configure slow-peer options suboptions: detection: description: Configure slow-peer suboptions: disable: description: Disable slow-peer detection type: bool enable: description: Enable slow-peer detection type: bool threshold: description: Set the slow-peer detection threshold type: int type: dict split_update_group: description: Configure slow-peer suboptions: dynamic: description: Configure slow-peer suboptions: disable: description: Configure slow-peer type: bool enable: description: Configure slow-peer type: bool permanent: description: Configure slow-peer type: bool type: dict static: description: Configure slow-peer type: bool type: dict type: dict soft_reconfiguration: description: - Per neighbor soft reconfiguration - Allow inbound soft reconfiguration for this neighbor type: bool soo: description: Site-of-Origin extended community type: str tag: description: - Neighbor tag - This option is DEPRECATED and replaced with neighbor_address, this attribute will be removed after 2025-01-01. type: str timers: description: BGP per neighbor timers suboptions: holdtime: description: Holdtime type: int interval: description: Keepalive interval type: int min_holdtime: description: Minimum hold time from neighbor type: int type: dict transport: description: Transport options suboptions: connection_mode: description: Specify passive or active connection suboptions: active: description: Actively establish the TCP session type: bool passive: description: Passively establish the TCP session type: bool type: dict multi_session: description: Use Multi-session for transport type: bool path_mtu_discovery: description: Use transport path MTU discovery suboptions: disable: description: disable type: bool set: description: Use path MTU discovery type: bool type: dict type: dict ttl_security: description: - BGP ttl security check - maximum number of hops - Please refer vendor documentation for valid values type: int unsuppress_map: description: Route-map to selectively unsuppress suppressed routes type: str version: description: - Set the BGP version to match a neighbor - Neighbor's BGP version - Please refer vendor documentation for valid values type: int weight: description: Set default weight for routes from this neighbor type: int type: list networks: aliases: - network description: Specify a network to announce via BGP elements: dict suboptions: address: description: Network number (A.B.C.D) type: str backdoor: description: Specify a BGP backdoor route type: bool evpn: description: Advertise or Export to EVPN address-family type: bool mask: description: Network mask (A.B.C.D) type: str route_map: description: Route-map to modify the attributes type: str type: list redistribute: description: - Redistribute information from another routing protocol elements: dict suboptions: application: description: Application suboptions: metric: description: Metric for redistributed routes type: int name: description: Application name type: str route_map: description: Route map reference type: str type: dict bgp: description: Border Gateway Protocol (BGP) suboptions: as_number: description: Autonomous system number type: str metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str type: dict connected: description: Connected suboptions: metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str set: description: - Redistribute automatically established IP connected routes. - This only needs to be set if metric or route_map aren't used. type: bool type: dict eigrp: description: Enhanced Interior Gateway Routing Protocol (EIGRP) suboptions: as_number: description: Autonomous system number type: str metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str type: dict isis: description: ISO IS-IS suboptions: area_tag: description: ISO routing area tag type: str clns: description: Redistribution of OSI dynamic routes type: bool ip: description: Redistribution of IP dynamic routes type: bool metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str type: dict iso_igrp: description: IGRP for OSI networks suboptions: area_tag: description: ISO routing area tag type: str route_map: description: Route map reference type: str type: dict lisp: description: Locator ID Separation Protocol (LISP) suboptions: metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str set: description: Set the top level attribute type: bool type: dict mobile: description: Mobile routes suboptions: metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str set: description: Set the top level attribute type: bool type: dict odr: description: On Demand stub Routes suboptions: metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str set: description: Set the top level attribute type: bool type: dict ospf: description: Open Shortest Path First (OSPF) suboptions: include_connected: description: Include connected. Only applicable under IPv6 AFI type: bool match: description: Redistribute matched routes suboptions: external: description: - Redistribute OSPF external routes - This option is DEPRECATED and replaced with externals option, this attribute will be removed after 2025-01-01. type: bool externals: description: Redistribute OSPF external routes suboptions: type_1: description: Redistribute OSPF External type 1 routes type: bool type_2: description: Redistribute OSPF External type 1 routes type: bool type: dict internal: description: Redistribute OSPF internal routes type: bool nssa_external: description: - Redistribute OSPF NSSA external routes - This option is DEPRECATED and replaced with nssa_externals option, this attribute will be removed after 2025-01-01. type: bool nssa_externals: description: Redistribute OSPF NSSA external routes suboptions: type_1: description: Redistribute NSSA external type 1 routes type: bool type_2: description: Redistribute NSSA external type 2 routes type: bool type: dict type_1: description: - Redistribute NSSA external type 1 routes - This option is DEPRECATED and replaced with nssa_externals.type_1 option, this attribute will be removed after 2025-01-01. type: bool type_2: description: - Redistribute NSSA external type 2 routes - This option is DEPRECATED and replaced with nssa_externals.type_2 option, this attribute will be removed after 2025-01-01. type: bool type: dict metric: description: Metric for redistributed routes type: int process_id: description: Process ID type: int route_map: description: Route map reference type: str vrf: description: VPN Routing/Forwarding Instance type: str type: dict ospfv3: description: OSPFv3 suboptions: match: description: Redistribute matched routes suboptions: external: description: - Redistribute OSPF external routes - This option is DEPRECATED and replaced with externals, this attribute will be removed after 2025-01-01. type: bool externals: description: Redistribute OSPF external routes suboptions: type_1: description: Redistribute OSPF External type 1 routes type: bool type_2: description: Redistribute OSPF External type 1 routes type: bool type: dict internal: description: Redistribute OSPF internal routes type: bool nssa_external: description: - Redistribute OSPF internal routes - This option is DEPRECATED and replaced with nssa_externals, this attribute will be removed after 2025-01-01. type: bool nssa_externals: description: Redistribute OSPF NSSA external routes suboptions: type_1: description: Redistribute NSSA external type 1 routes type: bool type_2: description: Redistribute NSSA external type 2 routes type: bool type: dict type_1: description: - Redistribute NSSA external type 1 routes - This option is DEPRECATED and replaced with nssa_externals.type_1 option, this attribute will be removed after 2025-01-01. type: bool type_2: description: - Redistribute NSSA external type 2 routes - This option is DEPRECATED and replaced with nssa_externals.type_2 option, this attribute will be removed after 2025-01-01. type: bool type: dict metric: description: Metric for redistributed routes type: int process_id: description: Process ID type: int route_map: description: Route map reference type: str type: dict rip: description: Routing Information Protocol (RIP) suboptions: metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str set: description: Set the top level attribute type: bool type: dict static: description: Static routes suboptions: clns: description: Redistribution of OSI static routes type: bool ip: description: Redistribution of IP static routes type: bool metric: description: Metric for redistributed routes type: int route_map: description: Route map reference type: str set: description: Set the top level attribute type: bool type: dict vrf: description: Specify a source VRF suboptions: global: description: global VRF type: bool name: description: Source VRF name type: str type: dict type: list safi: choices: - flowspec - mdt - multicast - mvpn - evpn - unicast description: Address Family modifier type: str snmp: description: Modify snmp parameters suboptions: context: description: - Configure a SNMP context - Context Name suboptions: community: description: Configure a SNMP v2c Community string and access privs suboptions: acl: description: - Standard IP accesslist allowing access with this community string - Expanded IP accesslist allowing access with this community string - Access-list name type: str ipv6: description: - Specify IPv6 Named Access-List - IPv6 Access-list name type: str ro: description: Read-only access with this community string type: bool rw: description: Read-write access with this community string type: bool snmp_community: description: SNMP community string type: str type: dict name: description: Context Name type: str user: description: Configure a SNMP v3 user suboptions: access: description: specify an access-list associated with this group suboptions: acl: description: SNMP community string type: str ipv6: description: - Specify IPv6 Named Access-List - IPv6 Access-list name type: str type: dict auth: description: authentication parameters for the user suboptions: md5: description: - Use HMAC MD5 algorithm for authentication - authentication password for user type: str sha: description: - Use HMAC SHA algorithm for authentication - authentication password for user type: str type: dict credential: description: If the user password is already configured and saved type: bool encrypted: description: specifying passwords as MD5 or SHA digests type: bool name: description: SNMP community string type: str priv: description: encryption parameters for the user suboptions: aes128: description: Use 128 bit AES algorithm for encryption type: str aes192: description: Use 192 bit 3DES algorithm for encryption type: str aes256: description: Use 256 bit DES algorithm for encryption type: str des: description: Use 56 bit DES algorithm for encryption type: str des56: description: Use 56 bit DES algorithm for encryption type: str type: dict type: dict type: dict type: dict table_map: description: Map external entry attributes into routing table suboptions: filter: description: Selective route download type: bool name: description: route-map name type: str type: dict vrf: description: Specify parameters for a VPN Routing/Forwarding instance type: str type: list as_number: description: Autonomous system number. type: str type: dict running_config: description: - This option is used only with state I(parsed). - The value of this option should be the output received from the IOS device by executing the command B(sh running-config | section ^router bgp). - The state I(parsed) reads the configuration from C(running_config) option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the I(parsed) key within the result. type: str
after: description: The resulting configuration after module execution. returned: when changed sample: 'This output will always be in the same format as the module argspec. ' type: dict before: description: The configuration prior to the module execution. returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) sample: 'This output will always be in the same format as the module argspec. ' type: dict commands: description: The set of commands pushed to the remote device. returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) sample: - router bgp 65000 - address-family ipv4 multicast - table-map test_tableMap filter - network 1.1.1.1 mask 255.255.255.255 route-map test - aggregate-address 192.0.3.1 255.255.255.255 as-confed-set type: list gathered: description: Facts about the network resource gathered from the remote device as structured data. returned: when I(state) is C(gathered) sample: 'This output will always be in the same format as the module argspec. ' type: list parsed: description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. returned: when I(state) is C(parsed) sample: 'This output will always be in the same format as the module argspec. ' type: list rendered: description: The provided configuration in the task rendered in device-native format (offline). returned: when I(state) is C(rendered) sample: - router bgp 65000 - address-family ipv4 multicast - table-map test_tableMap filter - network 1.1.1.1 mask 255.255.255.255 route-map test - aggregate-address 192.0.3.1 255.255.255.255 as-confed-set type: list