On this page
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