cisco.nxos.nxos_bgp_global – BGP Global resource module.
Note
This plugin is part of the cisco.nxos collection (version 2.7.0).
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.nxos
.
To use it in a playbook, specify: cisco.nxos.nxos_bgp_global
.
New in version 1.4.0: of cisco.nxos
Synopsis
- This module manages global BGP configuration on devices running Cisco NX-OS.
Note
This module has a corresponding action plugin.
Parameters
Parameter | Choices/Defaults | Comments | ||||||
---|---|---|---|---|---|---|---|---|
config dictionary | A list of BGP process configuration. | |||||||
affinity_group dictionary | Configure an affinity group. | |||||||
group_id integer | Affinity Group ID. | |||||||
as_number string | Autonomous System Number of the router. | |||||||
bestpath dictionary | Define the default bestpath selection algorithm. | |||||||
always_compare_med boolean |
| Compare MED on paths from different AS. | ||||||
as_path dictionary | AS-Path. | |||||||
ignore boolean |
| Ignore AS-Path during bestpath selection. | ||||||
multipath_relax boolean |
| Relax AS-Path restriction when choosing multipaths. | ||||||
compare_neighborid boolean |
| When more paths are available than max path config, use neighborid as tie-breaker. | ||||||
compare_routerid boolean |
| Compare router-id for identical EBGP paths. | ||||||
cost_community_ignore boolean |
| Ignore cost communities in bestpath selection. | ||||||
igp_metric_ignore boolean |
| Ignore IGP metric for next-hop during bestpath selection. | ||||||
med dictionary | MED | |||||||
confed boolean |
| Compare MED only from paths originated from within a confederation. | ||||||
missing_as_worst boolean |
| Treat missing MED as highest MED. | ||||||
non_deterministic boolean |
| Not always pick the best-MED path among paths from same AS. | ||||||
cluster_id string | Configure Route Reflector Cluster-ID. | |||||||
confederation dictionary | AS confederation parameters. | |||||||
identifier string | Set routing domain confederation AS. | |||||||
peers list / elements=string | Peer ASs in BGP confederation. | |||||||
disable_policy_batching dictionary | Disable batching evaluation of outbound policy for a peer. | |||||||
ipv4 dictionary | IPv4 address-family settings. | |||||||
prefix_list string | Name of prefix-list to apply. | |||||||
ipv6 dictionary | IPv6 address-family settings. | |||||||
prefix_list string | Name of prefix-list to apply. | |||||||
nexthop boolean |
| Batching based on nexthop. | ||||||
set boolean |
| Set policy batching. | ||||||
dynamic_med_interval integer | Sets the interval for dampening of med changes. | |||||||
enforce_first_as boolean |
| Enforce neighbor AS is the first AS in AS-PATH attribute (EBGP). | ||||||
enhanced_error boolean |
| Enable BGP Enhanced error handling. | ||||||
fabric_soo string | Fabric site of origin. | |||||||
fast_external_fallover boolean |
| Immediately reset the session if the link to a directly connected BGP peer goes down. | ||||||
flush_routes boolean |
| Flush routes in RIB upon controlled restart. | ||||||
graceful_restart dictionary | Configure Graceful Restart functionality. | |||||||
helper boolean |
| Configure Graceful Restart Helper mode functionality. | ||||||
restart_time integer | Maximum time for restart advertised to peers. | |||||||
set boolean |
| Enable graceful-restart. | ||||||
stalepath_time integer | Maximum time to keep a restarting peer's stale routes. | |||||||
graceful_shutdown dictionary | Graceful-shutdown for BGP protocol. | |||||||
activate dictionary | Send graceful-shutdown community on all routes. | |||||||
route_map string | Apply route-map to modify attributes for outbound. | |||||||
set boolean |
| Activiate graceful-shutdown. | ||||||
aware boolean |
| Lower preference of routes carrying graceful-shutdown community. | ||||||
isolate dictionary | Isolate this router from BGP perspective. | |||||||
include_local boolean |
| Withdraw both local and remote BGP routes. | ||||||
set boolean |
| Withdraw remote BGP routes to isolate this router. | ||||||
log_neighbor_changes boolean |
| Log a message for neighbor up/down event. | ||||||
maxas_limit integer | Allow AS-PATH attribute from EBGP neighbor imposing a limit on number of ASes. | |||||||
neighbor_down dictionary | Handle BGP neighbor down event, due to various reasons. | |||||||
fib_accelerate boolean |
| Accelerate the hardware updates for IP/IPv6 adjacencies for neighbor. | ||||||
neighbors list / elements=dictionary | Configure BGP neighbors. | |||||||
bfd dictionary | Bidirectional Fast Detection for the neighbor. | |||||||
multihop dictionary | Multihop session. | |||||||
interval dictionary | Configure BFD session interval parameters. | |||||||
min_rx_interval integer | Minimum RX interval. | |||||||
multiplier integer | Detect Multiplier. | |||||||
tx_interval integer | TX interval in milliseconds. | |||||||
set boolean |
| Set BFD multihop. | ||||||
set boolean |
| Set BFD for this neighbor. | ||||||
singlehop boolean |
| Single-hop session. | ||||||
bmp_activate_server integer | Specify server ID for activating BMP monitoring for the peer. | |||||||
capability dictionary | Capability. | |||||||
suppress_4_byte_as boolean |
| Suppress 4-byte AS Capability. | ||||||
description string | Neighbor specific descripion. | |||||||
disable_connected_check boolean |
| Disable check for directly connected peer. | ||||||
dont_capability_negotiate boolean |
| Don't negotiate capability with this neighbor. | ||||||
dscp string | Set dscp value for tcp transport. | |||||||
dynamic_capability boolean |
| Dynamic Capability | ||||||
ebgp_multihop integer | Specify multihop TTL for remote peer. | |||||||
graceful_shutdown dictionary | Graceful-shutdown for this neighbor. | |||||||
activate dictionary | Send graceful-shutdown community. | |||||||
route_map string | Apply route-map to modify attributes for outbound. | |||||||
set boolean |
| Set activate. | ||||||
inherit dictionary | Inherit a template. | |||||||
peer string | Peer template to inherit. | |||||||
peer_session string | Peer-session template to inherit. | |||||||
local_as string | Specify the local-as number for the eBGP neighbor. | |||||||
log_neighbor_changes dictionary | Log message for neighbor up/down event. | |||||||
disable boolean |
| Disable logging of neighbor up/down event. | ||||||
set boolean |
| Set log-neighbor-changes. | ||||||
low_memory dictionary | Behaviour in low memory situations. | |||||||
exempt boolean |
| Do not shutdown this peer when under memory pressure. | ||||||
neighbor_address string / required | IP address/Prefix of the neighbor or interface. | |||||||
neighbor_affinity_group dictionary | Configure an affinity group. | |||||||
group_id integer | Affinity Group ID. | |||||||
password dictionary | Configure a password for neighbor. | |||||||
encryption integer | 0 specifies an UNENCRYPTED neighbor password. 3 specifies an 3DES ENCRYPTED neighbor password will follow. 7 specifies a Cisco type 7 ENCRYPTED neighbor password will follow. | |||||||
key string | Authentication password. | |||||||
path_attribute list / elements=dictionary | BGP path attribute optional filtering. | |||||||
action string |
| Action. | ||||||
range dictionary | Path attribute range. | |||||||
end integer | Path attribute range end value. | |||||||
start integer | Path attribute range start value. | |||||||
type integer | Path attribute type | |||||||
peer_type string |
| Neighbor facing | ||||||
remote_as string | Specify Autonomous System Number of the neighbor. | |||||||
remove_private_as dictionary | Remove private AS number from outbound updates. | |||||||
all boolean |
| All. | ||||||
replace_as boolean |
| Replace. | ||||||
set boolean |
| Remove private AS. | ||||||
shutdown boolean |
| Administratively shutdown this neighbor. | ||||||
timers dictionary | Configure keepalive and hold timers. | |||||||
holdtime integer | Holdtime (seconds). | |||||||
keepalive integer | Keepalive interval (seconds). | |||||||
transport dictionary | BGP transport connection. | |||||||
connection_mode dictionary | Specify type of connection. | |||||||
passive boolean |
| Allow passive connection setup only. | ||||||
ttl_security dictionary | Enable TTL Security Mechanism. | |||||||
hops integer | Specify hop count for remote peer. | |||||||
update_source string | Specify source of BGP session and updates. | |||||||
nexthop dictionary | Nexthop resolution options. | |||||||
suppress_default_resolution boolean |
| Prohibit use of default route for nexthop address resolution. | ||||||
rd dictionary | Secondary Route Distinguisher for vxlan multisite border gateway. | |||||||
dual boolean |
| Generate Secondary RD for all VRFs and L2VNIs. | ||||||
id integer | Specify 2 byte value for ID. | |||||||
reconnect_interval integer | Configure connection reconnect interval. | |||||||
router_id string | Specify the IP address to use as router-id. | |||||||
shutdown boolean |
| Administratively shutdown BGP protocol. | ||||||
suppress_fib_pending boolean |
| Advertise only routes that are programmed in hardware to peers. | ||||||
timers dictionary | Configure bgp related timers. | |||||||
bestpath_limit dictionary | Configure timeout for first bestpath after restart. | |||||||
always boolean |
| Configure update-delay-always option. | ||||||
timeout integer | Bestpath timeout (seconds). | |||||||
bgp dictionary | Configure different bgp keepalive and holdtimes. | |||||||
holdtime integer | Holdtime (seconds). | |||||||
keepalive integer | Keepalive interval (seconds). | |||||||
prefix_peer_timeout integer | Prefix Peer timeout (seconds). | |||||||
prefix_peer_wait integer | Configure wait timer for a prefix peer. | |||||||
vrfs list / elements=dictionary | Virtual Router Context configurations. | |||||||
allocate_index integer | Configure allocate-index. | |||||||
bestpath dictionary | Define the default bestpath selection algorithm. | |||||||
always_compare_med boolean |
| Compare MED on paths from different AS. | ||||||
as_path dictionary | AS-Path. | |||||||
ignore boolean |
| Ignore AS-Path during bestpath selection. | ||||||
multipath_relax boolean |
| Relax AS-Path restriction when choosing multipaths. | ||||||
compare_neighborid boolean |
| When more paths are available than max path config, use neighborid as tie-breaker. | ||||||
compare_routerid boolean |
| Compare router-id for identical EBGP paths. | ||||||
cost_community_ignore boolean |
| Ignore cost communities in bestpath selection. | ||||||
igp_metric_ignore boolean |
| Ignore IGP metric for next-hop during bestpath selection. | ||||||
med dictionary | MED | |||||||
confed boolean |
| Compare MED only from paths originated from within a confederation. | ||||||
missing_as_worst boolean |
| Treat missing MED as highest MED. | ||||||
non_deterministic boolean |
| Not always pick the best-MED path among paths from same AS. | ||||||
cluster_id string | Configure Route Reflector Cluster-ID. | |||||||
confederation dictionary | AS confederation parameters. | |||||||
identifier string | Set routing domain confederation AS. | |||||||
peers list / elements=string | Peer ASs in BGP confederation. | |||||||
graceful_restart dictionary | Configure Graceful Restart functionality. | |||||||
helper boolean |
| Configure Graceful Restart Helper mode functionality. | ||||||
restart_time integer | Maximum time for restart advertised to peers. | |||||||
set boolean |
| Enable graceful-restart. | ||||||
stalepath_time integer | Maximum time to keep a restarting peer's stale routes. | |||||||
local_as string | Specify the local-as for this vrf. | |||||||
log_neighbor_changes boolean |
| Log a message for neighbor up/down event. | ||||||
maxas_limit integer | Allow AS-PATH attribute from EBGP neighbor imposing a limit on number of ASes. | |||||||
neighbor_down dictionary | Handle BGP neighbor down event, due to various reasons. | |||||||
fib_accelerate boolean |
| Accelerate the hardware updates for IP/IPv6 adjacencies for neighbor. | ||||||
neighbors list / elements=dictionary | Configure BGP neighbors. | |||||||
bfd dictionary | Bidirectional Fast Detection for the neighbor. | |||||||
multihop dictionary | Multihop session. | |||||||
interval dictionary | Configure BFD session interval parameters. | |||||||
min_rx_interval integer | Minimum RX interval. | |||||||
multiplier integer | Detect Multiplier. | |||||||
tx_interval integer | TX interval in milliseconds. | |||||||
set boolean |
| Set BFD multihop. | ||||||
set boolean |
| Set BFD for this neighbor. | ||||||
singlehop boolean |
| Single-hop session. | ||||||
bmp_activate_server integer | Specify server ID for activating BMP monitoring for the peer. | |||||||
capability dictionary | Capability. | |||||||
suppress_4_byte_as boolean |
| Suppress 4-byte AS Capability. | ||||||
description string | Neighbor specific descripion. | |||||||
disable_connected_check boolean |
| Disable check for directly connected peer. | ||||||
dont_capability_negotiate boolean |
| Don't negotiate capability with this neighbor. | ||||||
dscp string | Set dscp value for tcp transport. | |||||||
dynamic_capability boolean |
| Dynamic Capability | ||||||
ebgp_multihop integer | Specify multihop TTL for remote peer. | |||||||
graceful_shutdown dictionary | Graceful-shutdown for this neighbor. | |||||||
activate dictionary | Send graceful-shutdown community. | |||||||
route_map string | Apply route-map to modify attributes for outbound. | |||||||
set boolean |
| Set activate. | ||||||
inherit dictionary | Inherit a template. | |||||||
peer string | Peer template to inherit. | |||||||
peer_session string | Peer-session template to inherit. | |||||||
local_as string | Specify the local-as number for the eBGP neighbor. | |||||||
log_neighbor_changes dictionary | Log message for neighbor up/down event. | |||||||
disable boolean |
| Disable logging of neighbor up/down event. | ||||||
set boolean |
| Set log-neighbor-changes. | ||||||
low_memory dictionary | Behaviour in low memory situations. | |||||||
exempt boolean |
| Do not shutdown this peer when under memory pressure. | ||||||
neighbor_address string / required | IP address/Prefix of the neighbor or interface. | |||||||
neighbor_affinity_group dictionary | Configure an affinity group. | |||||||
group_id integer | Affinity Group ID. | |||||||
password dictionary | Configure a password for neighbor. | |||||||
encryption integer | 0 specifies an UNENCRYPTED neighbor password. 3 specifies an 3DES ENCRYPTED neighbor password will follow. 7 specifies a Cisco type 7 ENCRYPTED neighbor password will follow. | |||||||
key string | Authentication password. | |||||||
path_attribute list / elements=dictionary | BGP path attribute optional filtering. | |||||||
action string |
| Action. | ||||||
range dictionary | Path attribute range. | |||||||
end integer | Path attribute range end value. | |||||||
start integer | Path attribute range start value. | |||||||
type integer | Path attribute type | |||||||
peer_type string |
| Neighbor facing | ||||||
remote_as string | Specify Autonomous System Number of the neighbor. | |||||||
remove_private_as dictionary | Remove private AS number from outbound updates. | |||||||
all boolean |
| All. | ||||||
replace_as boolean |
| Replace. | ||||||
set boolean |
| Remove private AS. | ||||||
shutdown boolean |
| Administratively shutdown this neighbor. | ||||||
timers dictionary | Configure keepalive and hold timers. | |||||||
holdtime integer | Holdtime (seconds). | |||||||
keepalive integer | Keepalive interval (seconds). | |||||||
transport dictionary | BGP transport connection. | |||||||
connection_mode dictionary | Specify type of connection. | |||||||
passive boolean |
| Allow passive connection setup only. | ||||||
ttl_security dictionary | Enable TTL Security Mechanism. | |||||||
hops integer | Specify hop count for remote peer. | |||||||
update_source string | Specify source of BGP session and updates. | |||||||
reconnect_interval integer | Configure connection reconnect interval. | |||||||
router_id string | Specify the IP address to use as router-id. | |||||||
timers dictionary | Configure bgp related timers. | |||||||
bestpath_limit dictionary | Configure timeout for first bestpath after restart. | |||||||
always boolean |
| Configure update-delay-always option. | ||||||
timeout integer | Bestpath timeout (seconds). | |||||||
bgp dictionary | Configure different bgp keepalive and holdtimes. | |||||||
holdtime integer | Holdtime (seconds). | |||||||
keepalive integer | Keepalive interval (seconds). | |||||||
prefix_peer_timeout integer | Prefix Peer timeout (seconds). | |||||||
prefix_peer_wait integer | Configure wait timer for a prefix peer. | |||||||
vrf string | VRF name. | |||||||
running_config string | This option is used only with state parsed. The value of this option should be the output received from the NX-OS device by executing the command show running-config | section '^router bgp'. The state parsed reads the configuration from 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 parsed key within the result. | |||||||
state string |
| The state the configuration should be left in. State purged removes all the BGP configurations from the target device. Use caution with this state. State deleted only removes BGP attributes that this modules manages and does not negate the BGP process completely. Thereby, preserving address-family related configurations under BGP context. Running states deleted and replaced will result in an error if there are address-family configuration lines present under a neighbor, or a vrf context that is to be removed. Please use the cisco.nxos.nxos_bgp_af or cisco.nxos.nxos_bgp_neighbor_af modules for prior cleanup. States merged and replaced will result in a failure if BGP is already configured with a different ASN than what is provided in the task. In such cases, please use state purged to remove the existing BGP process and proceed further. Refer to examples for more details. |
Notes
Note
- Tested against NX-OS 9.3.6.
- Unsupported for Cisco MDS
- This module works with connection
network_cli
andhttpapi
.
Examples
# Using merged # Before state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # Nexus9000v# - name: Merge the provided configuration with the existing running configuration cisco.nxos.nxos_bgp_global: config: as_number: 65563 router_id: 192.168.1.1 bestpath: as_path: multipath_relax: True compare_neighborid: True cost_community_ignore: True confederation: identifier: 42 peers: - 65020 - 65030 - 65040 log_neighbor_changes: True maxas_limit: 20 neighbors: - neighbor_address: 192.168.1.100 neighbor_affinity_group: group_id: 160 bmp_activate_server: 1 remote_as: 65563 description: NBR-1 low_memory: exempt: True - neighbor_address: 192.168.1.101 remote_as: 65563 password: encryption: 7 key: 12090404011C03162E neighbor_down: fib_accelerate: True vrfs: - vrf: site-1 allocate_index: 5000 local_as: 200 log_neighbor_changes: True neighbors: - neighbor_address: 198.51.100.1 description: site-1-nbr-1 password: encryption: 3 key: 13D4D3549493D2877B1DC116EE27A6BE remote_as: 65562 - neighbor_address: 198.51.100.2 remote_as: 65562 description: site-1-nbr-2 - vrf: site-2 local_as: 300 log_neighbor_changes: True neighbors: - neighbor_address: 203.0.113.2 description: site-2-nbr-1 password: encryption: 3 key: AF92F4C16A0A0EC5BDF56CF58BC030F6 remote_as: 65568 neighbor_down: fib_accelerate: True # Task output # ------------- # before: {} # # commands: # - router bgp 65563 # - bestpath as-path multipath-relax # - bestpath compare-neighborid # - bestpath cost-community ignore # - confederation identifier 42 # - log-neighbor-changes # - maxas-limit 20 # - neighbor-down fib-accelerate # - router-id 192.168.1.1 # - confederation peers 65020 65030 65040 # - neighbor 192.168.1.100 # - remote-as 65563 # - affinity-group 160 # - bmp-activate-server 1 # - description NBR-1 # - low-memory exempt # - neighbor 192.168.1.101 # - remote-as 65563 # - password 7 12090404011C03162E # - vrf site-1 # - allocate-index 5000 # - local-as 200 # - log-neighbor-changes # - neighbor 198.51.100.1 # - remote-as 65562 # - description site-1-nbr-1 # - password 3 13D4D3549493D2877B1DC116EE27A6BE # - neighbor 198.51.100.2 # - remote-as 65562 # - description site-1-nbr-2 # - vrf site-2 # - local-as 300 # - log-neighbor-changes # - neighbor-down fib-accelerate # - neighbor 203.0.113.2 # - remote-as 65568 # - description site-2-nbr-1 # - password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 # # after: # as_number: '65563' # bestpath: # as_path: # multipath_relax: true # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65040' # log_neighbor_changes: true # maxas_limit: 20 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # - neighbor_address: 192.168.1.101 # password: # encryption: 7 # key: 12090404011C03162E # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - allocate_index: 5000 # local_as: '200' # log_neighbor_changes: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 198.51.100.1 # password: # encryption: 3 # key: 13D4D3549493D2877B1DC116EE27A6BE # remote_as: '65562' # - description: site-1-nbr-2 # neighbor_address: 198.51.100.2 # remote_as: '65562' # vrf: site-1 # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - description: site-2-nbr-1 # neighbor_address: 203.0.113.2 # password: # encryption: 3 # key: AF92F4C16A0A0EC5BDF56CF58BC030F6 # remote_as: '65568' # vrf: site-2 # After state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65040 # bestpath as-path multipath-relax # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 20 # log-neighbor-changes # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # neighbor 192.168.1.101 # remote-as 65563 # password 7 12090404011C03162E # vrf site-1 # local-as 200 # log-neighbor-changes # allocate-index 5000 # neighbor 198.51.100.1 # remote-as 65562 # description site-1-nbr-1 # password 3 13D4D3549493D2877B1DC116EE27A6BE # neighbor 198.51.100.2 # remote-as 65562 # description site-1-nbr-2 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # remote-as 65568 # description site-2-nbr-1 # password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 # Using replaced # Before state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65040 # bestpath as-path multipath-relax # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 20 # log-neighbor-changes # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # neighbor 192.168.1.101 # remote-as 65563 # password 7 12090404011C03162E # vrf site-1 # local-as 200 # log-neighbor-changes # allocate-index 5000 # neighbor 198.51.100.1 # remote-as 65562 # description site-1-nbr-1 # password 3 13D4D3549493D2877B1DC116EE27A6BE # neighbor 198.51.100.2 # remote-as 65562 # description site-1-nbr-2 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # remote-as 65568 # description site-2-nbr-1 # password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 - name: Replace BGP configuration with provided configuration cisco.nxos.nxos_bgp_global: config: as_number: 65563 router_id: 192.168.1.1 bestpath: compare_neighborid: True cost_community_ignore: True confederation: identifier: 42 peers: - 65020 - 65030 - 65050 maxas_limit: 40 neighbors: - neighbor_address: 192.168.1.100 neighbor_affinity_group: group_id: 160 bmp_activate_server: 1 remote_as: 65563 description: NBR-1 low_memory: exempt: True neighbor_down: fib_accelerate: True vrfs: - vrf: site-2 local_as: 300 log_neighbor_changes: True neighbors: - neighbor_address: 203.0.113.2 password: encryption: 7 key: 12090404011C03162E neighbor_down: fib_accelerate: True state: replaced # Task output # ------------- # before: # as_number: '65563' # bestpath: # as_path: # multipath_relax: true # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65040' # log_neighbor_changes: true # maxas_limit: 20 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # - neighbor_address: 192.168.1.101 # password: # encryption: 7 # key: 12090404011C03162E # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - allocate_index: 5000 # local_as: '200' # log_neighbor_changes: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 198.51.100.1 # password: # encryption: 3 # key: 13D4D3549493D2877B1DC116EE27A6BE # remote_as: '65562' # - description: site-1-nbr-2 # neighbor_address: 198.51.100.2 # remote_as: '65562' # vrf: site-1 # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - description: site-2-nbr-1 # neighbor_address: 203.0.113.2 # password: # encryption: 3 # key: AF92F4C16A0A0EC5BDF56CF58BC030F6 # remote_as: '65568' # vrf: site-2 # # commands: # - router bgp 65563 # - no bestpath as-path multipath-relax # - no log-neighbor-changes # - maxas-limit 40 # - no confederation peers 65020 65030 65040 # - confederation peers 65020 65030 65050 # - no neighbor 192.168.1.101 # - vrf site-2 # - neighbor 203.0.113.2 # - no remote-as 65568 # - no description site-2-nbr-1 # - password 7 12090404011C03162E # - no vrf site-1 # after: # as_number: '65563' # bestpath: # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65050' # maxas_limit: 40 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - neighbor_address: 203.0.113.2 # password: # encryption: 7 # key: 12090404011C03162E # vrf: site-2 # # After state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65050 # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 40 # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # password 7 12090404011C03162E # Using deleted # Before state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65040 # bestpath as-path multipath-relax # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 20 # log-neighbor-changes # address-family ipv4 unicast # default-metric 400 # suppress-inactive # default-information originate # address-family ipv6 multicast # wait-igp-convergence # redistribute eigrp eigrp-1 route-map site-1-rmap # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # neighbor 192.168.1.101 # remote-as 65563 # password 7 12090404011C03162E # vrf site-1 # local-as 200 # log-neighbor-changes # allocate-index 5000 # address-family ipv4 multicast # maximum-paths 40 # dampen-igp-metric 1200 # neighbor 198.51.100.1 # remote-as 65562 # description site-1-nbr-1 # password 3 13D4D3549493D2877B1DC116EE27A6BE # neighbor 198.51.100.2 # remote-as 65562 # description site-1-nbr-2 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # remote-as 65568 # description site-1-nbr-1 # password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 - name: Delete BGP configurations handled by this module cisco.nxos.nxos_bgp_global: state: deleted # Task output # ------------- # before: # as_number: '65563' # bestpath: # as_path: # multipath_relax: true # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65040' # log_neighbor_changes: true # maxas_limit: 20 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # - neighbor_address: 192.168.1.101 # password: # encryption: 7 # key: 12090404011C03162E # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - allocate_index: 5000 # local_as: '200' # log_neighbor_changes: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 198.51.100.1 # password: # encryption: 3 # key: 13D4D3549493D2877B1DC116EE27A6BE # remote_as: '65562' # - description: site-1-nbr-2 # neighbor_address: 198.51.100.2 # remote_as: '65562' # vrf: site-1 # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 203.0.113.2 # password: # encryption: 3 # key: AF92F4C16A0A0EC5BDF56CF58BC030F6 # remote_as: '65568' # vrf: site-2 # # commands: # - router bgp 65563 # - no bestpath as-path multipath-relax # - no bestpath compare-neighborid # - no bestpath cost-community ignore # - no confederation identifier 42 # - no log-neighbor-changes # - no maxas-limit 20 # - no neighbor-down fib-accelerate # - no router-id 192.168.1.1 # - no confederation peers 65020 65030 65040 # - no neighbor 192.168.1.100 # - no neighbor 192.168.1.101 # - no vrf site-1 # - no vrf site-2 # # after: # as_number: '65563' # # After state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # address-family ipv4 unicast # default-metric 400 # suppress-inactive # default-information originate # address-family ipv6 multicast # wait-igp-convergence # redistribute eigrp eigrp-1 route-map site-1-rmap # # Using purged # Before state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65040 # bestpath as-path multipath-relax # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 20 # log-neighbor-changes # address-family ipv4 unicast # default-metric 400 # suppress-inactive # default-information originate # address-family ipv6 multicast # wait-igp-convergence # redistribute eigrp eigrp-1 route-map site-1-rmap # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # neighbor 192.168.1.101 # remote-as 65563 # password 7 12090404011C03162E # vrf site-1 # local-as 200 # log-neighbor-changes # allocate-index 5000 # address-family ipv4 multicast # maximum-paths 40 # dampen-igp-metric 1200 # neighbor 198.51.100.1 # remote-as 65562 # description site-1-nbr-1 # password 3 13D4D3549493D2877B1DC116EE27A6BE # neighbor 198.51.100.2 # remote-as 65562 # description site-1-nbr-2 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # remote-as 65568 # description site-1-nbr-1 # password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 - name: Purge all BGP configurations from the device cisco.nxos.nxos_bgp_global: state: purged # Task output # ------------- # before: # as_number: '65563' # bestpath: # as_path: # multipath_relax: true # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65040' # log_neighbor_changes: true # maxas_limit: 20 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # - neighbor_address: 192.168.1.101 # password: # encryption: 7 # key: 12090404011C03162E # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - allocate_index: 5000 # local_as: '200' # log_neighbor_changes: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 198.51.100.1 # password: # encryption: 3 # key: 13D4D3549493D2877B1DC116EE27A6BE # remote_as: '65562' # - description: site-1-nbr-2 # neighbor_address: 198.51.100.2 # remote_as: '65562' # vrf: site-1 # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 203.0.113.2 # password: # encryption: 3 # key: AF92F4C16A0A0EC5BDF56CF58BC030F6 # remote_as: '65568' # vrf: site-2 # # commands: # - no router bgp 65563 # # after: {} # # After state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # Nexus9000v# # Using rendered - name: Render platform specific configuration lines (without connecting to the device) cisco.nxos.nxos_bgp_global: config: as_number: 65563 router_id: 192.168.1.1 bestpath: as_path: multipath_relax: True compare_neighborid: True cost_community_ignore: True confederation: identifier: 42 peers: - 65020 - 65030 - 65040 log_neighbor_changes: True maxas_limit: 20 neighbors: - neighbor_address: 192.168.1.100 neighbor_affinity_group: group_id: 160 bmp_activate_server: 1 remote_as: 65563 description: NBR-1 low_memory: exempt: True - neighbor_address: 192.168.1.101 remote_as: 65563 password: encryption: 7 key: 12090404011C03162E neighbor_down: fib_accelerate: True vrfs: - vrf: site-1 allocate_index: 5000 local_as: 200 log_neighbor_changes: True neighbors: - neighbor_address: 198.51.100.1 description: site-1-nbr-1 password: encryption: 3 key: 13D4D3549493D2877B1DC116EE27A6BE remote_as: 65562 - neighbor_address: 198.51.100.2 remote_as: 65562 description: site-1-nbr-2 - vrf: site-2 local_as: 300 log_neighbor_changes: True neighbors: - neighbor_address: 203.0.113.2 description: site-1-nbr-1 password: encryption: 3 key: AF92F4C16A0A0EC5BDF56CF58BC030F6 remote_as: 65568 neighbor_down: fib_accelerate: True # Task Output (redacted) # ----------------------- # rendered: # - router bgp 65563 # - bestpath as-path multipath-relax # - bestpath compare-neighborid # - bestpath cost-community ignore # - confederation identifier 42 # - log-neighbor-changes # - maxas-limit 20 # - neighbor-down fib-accelerate # - router-id 192.168.1.1 # - confederation peers 65020 65030 65040 # - neighbor 192.168.1.100 # - remote-as 65563 # - affinity-group 160 # - bmp-activate-server 1 # - description NBR-1 # - low-memory exempt # - neighbor 192.168.1.101 # - remote-as 65563 # - password 7 12090404011C03162E # - vrf site-1 # - allocate-index 5000 # - local-as 200 # - log-neighbor-changes # - neighbor 198.51.100.1 # - remote-as 65562 # - description site-1-nbr-1 # - password 3 13D4D3549493D2877B1DC116EE27A6BE # - neighbor 198.51.100.2 # - remote-as 65562 # - description site-1-nbr-2 # - vrf site-2 # - local-as 300 # - log-neighbor-changes # - neighbor-down fib-accelerate # - neighbor 203.0.113.2 # - remote-as 65568 # - description site-1-nbr-1 # - password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 # Using parsed # parsed.cfg # ------------ # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65040 # bestpath as-path multipath-relax # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 20 # log-neighbor-changes # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # neighbor 192.168.1.101 # remote-as 65563 # password 7 12090404011C03162E # vrf site-1 # local-as 200 # log-neighbor-changes # allocate-index 5000 # neighbor 198.51.100.1 # remote-as 65562 # description site-1-nbr-1 # password 3 13D4D3549493D2877B1DC116EE27A6BE # neighbor 198.51.100.2 # remote-as 65562 # description site-1-nbr-2 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # remote-as 65568 # description site-1-nbr-1 # password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6 - name: Parse externally provided BGP config cisco.nxos.nxos_bgp_global: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed # Task output (redacted) # ----------------------- # parsed: # as_number: '65563' # bestpath: # as_path: # multipath_relax: true # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65040' # log_neighbor_changes: true # maxas_limit: 20 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # - neighbor_address: 192.168.1.101 # password: # encryption: 7 # key: 12090404011C03162E # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - allocate_index: 5000 # local_as: '200' # log_neighbor_changes: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 198.51.100.1 # password: # encryption: 3 # key: 13D4D3549493D2877B1DC116EE27A6BE # remote_as: '65562' # - description: site-1-nbr-2 # neighbor_address: 198.51.100.2 # remote_as: '65562' # vrf: site-1 # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - description: site-1-nbr-1 # neighbor_address: 203.0.113.2 # password: # encryption: 3 # key: AF92F4C16A0A0EC5BDF56CF58BC030F6 # remote_as: '65568' # vrf: site-2 # Using gathered # existing config # # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 # confederation identifier 42 # confederation peers 65020 65030 65050 # bestpath cost-community ignore # bestpath compare-neighborid # neighbor-down fib-accelerate # maxas-limit 40 # neighbor 192.168.1.100 # low-memory exempt # bmp-activate-server 1 # remote-as 65563 # description NBR-1 # affinity-group 160 # vrf site-1 # vrf site-2 # local-as 300 # neighbor-down fib-accelerate # log-neighbor-changes # neighbor 203.0.113.2 # password 7 12090404011C03162E - name: Gather BGP facts using gathered cisco.nxos.nxos_bgp_global: state: gathered # Task output (redacted) # ----------------------- # gathered: # as_number: '65563' # bestpath: # compare_neighborid: true # cost_community_ignore: true # confederation: # identifier: '42' # peers: # - '65020' # - '65030' # - '65050' # maxas_limit: 40 # neighbor_down: # fib_accelerate: true # neighbors: # - bmp_activate_server: 1 # description: NBR-1 # low_memory: # exempt: true # neighbor_address: 192.168.1.100 # neighbor_affinity_group: # group_id: 160 # remote_as: '65563' # router_id: 192.168.1.1 # vrfs: # - vrf: site-1 # - local_as: '300' # log_neighbor_changes: true # neighbor_down: # fib_accelerate: true # neighbors: # - neighbor_address: 203.0.113.2 # password: # encryption: 7 # key: 12090404011C03162E # vrf: site-2 # Remove a neighbor having AF configurations with state replaced (will fail) # Before state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # log-neighbor-changes # maxas-limit 20 # router-id 198.51.100.2 # neighbor 203.0.113.2 # address-family ipv4 unicast # next-hop-self # remote-as 65538 # affinity-group 160 # description NBR-1 # low-memory exempt # neighbor 192.0.2.1 # remote-as 65537 # password 7 12090404011C03162E - name: Remove a neighbor having AF configurations (should fail) cisco.nxos.nxos_bgp_global: config: as_number: 65536 router_id: 198.51.100.2 maxas_limit: 20 log_neighbor_changes: True neighbors: - neighbor_address: 192.0.2.1 remote_as: 65537 password: encryption: 7 key: 12090404011C03162E state: replaced # Task output (redacted) # ----------------------- # fatal: [Nexus9000v]: FAILED! => changed=false # msg: Neighbor 203.0.113.2 has address-family configurations. # Please use the nxos_bgp_neighbor_af module to remove those first. # Remove a VRF having AF configurations with state replaced (will fail) # Before state: # ------------- # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # log-neighbor-changes # maxas-limit 20 # router-id 198.51.100.2 # neighbor 192.0.2.1 # remote-as 65537 # password 7 12090404011C03162E # vrf site-1 # address-family ipv4 unicast # default-information originate # neighbor 203.0.113.2 # remote-as 65538 # affinity-group 160 # description NBR-1 # low-memory exempt # vrf site-2 # neighbor-down fib-accelerate - name: Remove a VRF having AF configurations (should fail) cisco.nxos.nxos_bgp_global: config: as_number: 65536 router_id: 198.51.100.2 maxas_limit: 20 log_neighbor_changes: True neighbors: - neighbor_address: 192.0.2.1 remote_as: 65537 password: encryption: 7 key: 12090404011C03162E vrfs: - vrf: site-2 neighbor_down: fib_accelerate: True state: replaced # Task output (redacted) # ----------------------- # fatal: [Nexus9000v]: FAILED! => changed=false # msg: VRF site-1 has address-family configurations. # Please use the nxos_bgp_af module to remove those first.
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
after dictionary | when changed | The resulting configuration model invocation. Sample: The configuration returned will always be in the same format of the parameters above. |
before dictionary | always | The configuration prior to the model invocation. Sample: The configuration returned will always be in the same format of the parameters above. |
commands list / elements=string | always | The set of commands pushed to the remote device. Sample: ['router bgp 65563', 'maxas-limit 20', 'router-id 192.168.1.1', 'confederation peers 65020 65030 65040', 'neighbor 192.168.1.100', 'remote-as 65563', 'affinity-group 160', 'bmp-activate-server 1', 'description NBR-1', 'low-memory exempt', 'vrf site-1', 'log-neighbor-changes', 'neighbor 198.51.100.1', 'remote-as 65562', 'description site-1-nbr-1', 'password 3 13D4D3549493D2877B1DC116EE27A6BE'] |
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/cisco/nxos/nxos_bgp_global_module.html