junipernetworks.junos.junos_bgp_global – Manages BGP Global configuration on devices running Juniper JUNOS.

Note

This plugin is part of the junipernetworks.junos collection (version 1.3.0).

To install it use: ansible-galaxy collection install junipernetworks.junos.

To use it in a playbook, specify: junipernetworks.junos.junos_bgp_global.

New in version 1.3.0: of junipernetworks.junos

Synopsis

  • This module manages global bgp configuration on devices running Juniper JUNOS.

Note

This module has a corresponding action plugin.

Requirements

The below requirements are needed on the host that executes this module.

  • ncclient (>=v0.6.4)

  • xmltodict (>=0.12.0)

Parameters

Parameter Choices/Defaults Comments
config
dictionary
A list of BGP process configuration.
accept_remote_nexthop
boolean
    Choices:
  • no
  • yes
Allow import policy to specify a non-directly connected next-hop.
add_path_display_ipv4_address
boolean
    Choices:
  • no
  • yes
Display add-path path-id in IPv4 address format.
advertise_bgp_static
dictionary
Advertise bgp-static routes.
policy
string
Specify static route advertisement policy.
set
boolean
    Choices:
  • no
  • yes
Set Advertise bgp-static routes.
advertise_external
dictionary
Advertise best external routes.
conditional
boolean
    Choices:
  • no
  • yes
Route matches active route upto med-comparison rule.
set
boolean
    Choices:
  • no
  • yes
Set Advertise best external routes.
advertise_from_main_vpn_tables
boolean
    Choices:
  • no
  • yes
Advertise VPN routes from bgp.Xvpn.0 tables in master instance.
advertise_inactive
boolean
    Choices:
  • no
  • yes
Advertise inactive routes.
advertise_peer_as
boolean
    Choices:
  • no
  • yes
Advertise routes received from the same autonomous system.
as_number
string
Specify Autonomous system number.
authentication_algorithm
string
    Choices:
  • aes-128-cmac-96
  • hmac-sha-1-96
  • md5
Specify authentication algorithm name.
authentication_key
string
Specify MD5 authentication key.
authentication_key_chain
string
Specify authentication key chain name.
bfd_liveness_detection
dictionary
Bidirectional Forwarding Detection (BFD) options.
authentication
dictionary
Authentication options.
algorithm
string
    Choices:
  • keyed-md5
  • keyed-sha-1
  • meticulous-keyed-md5
  • meticulous-keyed-sha-1
  • simple-password
Specify algorithm name.
key_chain
string
Specify Key chain name.
loose_check
boolean
    Choices:
  • no
  • yes
Verify authentication only if authentication is negotiated.
detection_time
dictionary
Specify Detection-time optionss.
threshold
integer
Specify high detection-time triggering a trap (milliseconds).
holddown_interval
integer
Specify time to hold the session-UP notification to the client.
minimum_interval
integer
Specify minimum transmit and receive interval.
minimum_receive_interval
integer
Specify minimum receive interval.
multiplier
integer
Specify detection time multiplier.
no_adaptation
boolean
    Choices:
  • no
  • yes
Disable adaptation.
session_mode
string
    Choices:
  • automatic
  • multihop
  • single-hop
BFD single-hop or multihop session-mode.
transmit_interval
dictionary
Transmit-interval options.
minimum_interval
integer
Specify Minimum transmit interval.
threshold
integer
Specify high transmit interval triggering a trap.
version
string
    Choices:
  • 0
  • 1
  • automatic
Specify BFD protocol version number.
bgp_error_tolerance
dictionary
Handle BGP malformed updates softly.
malformed_route_limit
integer
Maximum number of malformed routes from a peer.
malformed_update_log_interval
integer
Time used when logging malformed update.
no_malformed_route_limit
boolean
    Choices:
  • no
  • yes
Specify no malformed route limit.
set
boolean
    Choices:
  • no
  • yes
Set BGP malformed updates softly.
bmp
dictionary
Specific settings to override the routing-options settings.
monitor
boolean
    Choices:
  • no
  • yes
Enable/Disable monitoring.
route_monitoring
dictionary
Control route monitoring settings.
none
boolean
    Choices:
  • no
  • yes
Do not send route montoring messages.
post_policy
boolean
    Choices:
  • no
  • yes
Send post policy route montoring messages.
post_policy_exclude_non_eligible
boolean
    Choices:
  • no
  • yes
Send post policy route montoring messages and exclude unresolved routes, etc.
post_policy_exclude_non_feasible
boolean
    Choices:
  • no
  • yes
Send pre policy route montoring messages and exclude looped routes, etc.
pre_policy
boolean
    Choices:
  • no
  • yes
Send pre policy route montoring messages.
cluster_id
string
Specify cluster identifier.
damping
boolean
    Choices:
  • no
  • yes
Enable route flap damping.
description
string
Specify text description.
disable
boolean
    Choices:
  • no
  • yes
Disable BGP.
egress_te
dictionary
Use Egress Peering traffic engineering.
backup_path
string
The 'egress-te-backup-paths template' to use for this peer.
egress_te_backup_paths
dictionary
Backup-path for Egress-TE peer interface failure.
peer_addr
string
Specify address of BGP peer to use as backup next-hop.
remote_nexthop
string
Specify address of remote-nexthop to use as backup path.
template
dictionary
Specify Backup-path template.
ip_forward
dictionary
Use IP-forward backup path for Egress TE.
rti_name
string
Routing-instance to use as IP forward backup-path.
set
boolean
    Choices:
  • no
  • yes
Set use IP-forward backup path for Egress TE.
path_name
string
Name of Egress-TE backup path.
egress_te_set_segment
dictionary
Configure BGP-Peer-Set segment.
egress_te_backup_segment_label
integer
BGP-Peer-Set SID label value from static label pool.
label
integer
Backup segment label value from static label pool.
name
string
The BGP-Peer-Set segment name.
egress_te_sid_stats
boolean
    Choices:
  • no
  • yes
Create BGP-Peer-SID sensor.
enforce_first_as
boolean
    Choices:
  • no
  • yes
Enforce neighbor AS is the first AS in AS-PATH attribute (EBGP).
export
string
Specify export policy.
forwarding_context
string
Specify routing-instance used for data-forwarding and transport-session.
graceful_restart
dictionary
BGP graceful restart options.
disable
boolean
    Choices:
  • no
  • yes
Disable graceful restart.
dont_help_shared_fate_bfd_down
boolean
    Choices:
  • no
  • yes
Honor BFD-Down(C=0) if GR-restart not in progress.
forwarding_state_bit
dictionary
Control forwarding-state flag negotiation.
as_rr_client
boolean
    Choices:
  • no
  • yes
As for a route reflector client.
from_fib
boolean
    Choices:
  • no
  • yes
Always use state of associated FIB(s).
long_lived
dictionary
Long-lived graceful restart options.
advertise_to_non_llgr_neighbor
dictionary
Advertise stale routes to non-LLGR neighbors.
omit_no_export
boolean
    Choices:
  • no
  • yes
Set Advertise stale routes to non-LLGR neighbors.
set
boolean
    Choices:
  • no
  • yes
Set Advertise stale routes to non-LLGR neighbors.
receiver_disable
boolean
    Choices:
  • no
  • yes
Disable receiver (helper) functionality.
restart_time
integer
Restart time used when negotiating with a peer.
set
boolean
    Choices:
  • no
  • yes
Set BGP graceful restart options.
stale_routes_time
integer
Maximum time for which stale routes are kept.
hold_time
integer
Specify hold time used when negotiating with a peer.
holddown_all_stale_labels
boolean
    Choices:
  • no
  • yes
Hold all BGP stale-labels, facilating make-before-break for new label advertisements.
idle_after_switch_over
dictionary
Stop peer session from coming up after nonstop-routing switch-over.
forever
boolean
    Choices:
  • no
  • yes
Idle the peer until the user intervenes.
timeout
integer
Specify timeout value, in seconds, for starting peer after switch over.
import
string
Specify import policy.
include_mp_next_hop
boolean
    Choices:
  • no
  • yes
Include NEXT-HOP attribute in multiprotocol updates.
ipsec_sa
string
Specify IPSec SA name.
keep
string
    Choices:
  • all
  • none
Specify how to retain routes in the routing table.
local_address
string
Specify Address of local end of BGP session.
local_as
dictionary
Local autonomous system number.
alias
boolean
    Choices:
  • no
  • yes
Treat this AS as an alias to the system AS.
as_num
string
Autonomous system number in plain number or (asdot notation) format.
loops
integer
Maximum number of times this AS can be in an AS path.
no_prepend_global_as
boolean
    Choices:
  • no
  • yes
Maximum number of times this AS can be in an AS path.
private
boolean
    Choices:
  • no
  • yes
Hide this local AS in paths learned from this peering.
set
boolean
    Choices:
  • no
  • yes
Set local autonomous system number.
local_interface
string
Specify Local interface for IPv6 link local EBGP peering.
local_preference
string
Specify value of LOCAL_PREF path attribute.
log_updown
boolean
    Choices:
  • no
  • yes
Enable log a message for peer state transitions.
metric_out
dictionary
Specify route metric sent in MED.
igp
dictionary
Track the IGP metric.
delay_med_update
boolean
    Choices:
  • no
  • yes
Delay updating MED when IGP metric increases.
metric_offset
integer
Specify metric offset for MED.
set
boolean
    Choices:
  • no
  • yes
Set track the IGP metric.
metric_value
integer
Specify metric value.
minimum_igp
dictionary
Track the minimum IGP metric.
metric_offset
integer
Specify metric offset for MED.
set
boolean
    Choices:
  • no
  • yes
Set track the minimum IGP metric.
mtu_discovery
boolean
    Choices:
  • no
  • yes
Enable TCP path MTU discovery.
multihop
dictionary
Configure an EBGP multihop session.
no_nexthop_change
boolean
    Choices:
  • no
  • yes
Do not change next hop to self in advertisements.
set
boolean
    Choices:
  • no
  • yes
Set an EBGP multihop session.
ttl
integer
TTL value for the session.
multipath
dictionary
Allow load sharing among multiple BGP paths.
disable
boolean
    Choices:
  • no
  • yes
Disable Multipath.
multiple_as
boolean
    Choices:
  • no
  • yes
Disable Multipath.
set
boolean
    Choices:
  • no
  • yes
Set allow load sharing among multiple BGP paths.
multipath_build_priority
string
    Choices:
  • low
  • medium
Configure the multipath build priority.
no_advertise_peer_as
boolean
    Choices:
  • no
  • yes
Allows to not advertise routes received from the same autonomous system.
no_aggregator_id
boolean
    Choices:
  • no
  • yes
Set router ID in aggregator path attribute to 0.
no_client_reflect
boolean
    Choices:
  • no
  • yes
Disable intracluster route redistribution.
no_precision_timers
boolean
    Choices:
  • no
  • yes
Specify not to use precision timers for scheduling keepalives.
out_delay
integer
Specify how long before exporting routes from routing table.
outbound_route_filter
dictionary
Dynamically negotiated cooperative route filtering.
bgp_orf_cisco_mode
boolean
    Choices:
  • no
  • yes
Using BGP ORF capability code 130 and Prefix ORF type 128.
prefix_based
dictionary
Prefix-based outbound route filtering.
accept
dictionary
Honor Prefix-based ORFs from remote peers.
inet
boolean
    Choices:
  • no
  • yes
Honor IPv4 prefix filters.
inet6
boolean
    Choices:
  • no
  • yes
Honor IPv6 prefix filters.
set
boolean
    Choices:
  • no
  • yes
Set honor Prefix-based ORFs from remote peers.
set
boolean
    Choices:
  • no
  • yes
Set prefix-based outbound route filtering.
output_queue_priority
dictionary
BGP output queue priority scheduler for updates.
defaults
dictionary
Map policy's priority class and BGP output-queue.
high
dictionary
Assign the 'high' priority class to this output-queue.
expedited
boolean
    Choices:
  • no
  • yes
Expedited queue; highest priority.
priority
boolean
    Choices:
  • no
  • yes
Specify output queue priorit.
low
dictionary
Assign the 'low' priority class to this output-queue.
expedited
boolean
    Choices:
  • no
  • yes
Expedited queue; highest priority.
priority
boolean
    Choices:
  • no
  • yes
Specify output queue priorit.
medium
dictionary
Assign the 'medium' priority class to this output-queue.
expedited
boolean
    Choices:
  • no
  • yes
Expedited queue; highest priority.
priority
boolean
    Choices:
  • no
  • yes
Specify output queue priorit.
expedited
dictionary
Expedited queue; highest priority.
set
boolean
    Choices:
  • no
  • yes
Set expedited queue; highest priority.
update_tokens
integer
Specify Number of tokens.
priority
integer
Output queue priority; higher is better.
passive
boolean
    Choices:
  • no
  • yes
Specify to not send open messages to a peer.
path_selection
dictionary
Configure path selection strategy.
always_compare_med
boolean
    Choices:
  • no
  • yes
Compare MED on paths from different AS.
as_path_ignore
boolean
    Choices:
  • no
  • yes
Ignore AS path comparison during path selection.
cisco_non_deterministic
boolean
    Choices:
  • no
  • yes
Use Cisco IOS nondeterministic path selection algorithm.
external_router_id
boolean
    Choices:
  • no
  • yes
Compare router ID on BGP externals.
l2vpn_use_bgp_rules
boolean
    Choices:
  • no
  • yes
Use standard BGP rules during L2VPN path selection.
med_plus_igp
dictionary
Add IGP cost to next-hop to MED before comparing MED values.
igp_multiplier
integer
Specify multiplier for IGP cost to next-hop.
med_multiplier
integer
Specify Multiplier for MED.
peer_as
string
Specify Autonomous system number in plain number or 'higher 16bits'.'Lower 16 bits' format.
precision_timers
boolean
    Choices:
  • no
  • yes
Use precision timers for scheduling keepalives.
preference
string
Specify preference value.
remove_private
dictionary
Remove well-known private AS numbers.
all
boolean
    Choices:
  • no
  • yes
Remove all private AS numbers and do not stop at the first public AS number.
no_peer_loop_check
boolean
    Choices:
  • no
  • yes
Remove peer loop-check.
replace
dictionary
Specify private AS replacement.
nearest
boolean
    Choices:
  • no
  • yes
Use closest public AS number to replace a private AS number.
set
boolean
    Choices:
  • no
  • yes
Replace private AS numbers with the BGP Group's local AS number.
set
boolean
    Choices:
  • no
  • yes
Remove well-known private AS numbers.
rfc6514_compliant_safi129
boolean
    Choices:
  • no
  • yes
Specify Compliance with RFC6514 SAFI129 format.
route_server_client
boolean
    Choices:
  • no
  • yes
Enable route server client behavior.
send_addpath_optimization
boolean
    Choices:
  • no
  • yes
Enable BGP addpath advertisement optimization.
snmp_options
dictionary
Customize SNMP behaviors specifically for BGP MIBs.
backward_traps_only_from_established
boolean
    Choices:
  • no
  • yes
Limit traps for backward transitions to only those moving from Established state.
emit_inet_address_length_in_oid
boolean
    Choices:
  • no
  • yes
Emit Length in OID for InetAddress MIB type.
sr_preference_override
string
Replace received segment routing traffic engineering preference value with override value.
stale_labels_holddown_period
integer
Specify duration (sec) MPLS labels allocated by BGP are kept after they go stale.
tcp_aggressive_transmission
boolean
    Choices:
  • no
  • yes
Enable aggressive transmission of pure TCP ACKs and retransmissions.
tcp_mss
integer
Specify maximum TCP segment size.
traceoptions
dictionary
Configure trace options for BGP.
file
dictionary
Specify trace file options.
file_name
string
Specify name of file in which to write trace information.
files
integer
Specify maximum number of trace files.
no_world_readable
boolean
    Choices:
  • no
  • yes
Don't allow any user to read the log file.
size
integer
Specify maximum trace file size.
world_readable
boolean
    Choices:
  • no
  • yes
Allow any user to read the log file.
flag
dictionary
Specify tracing parameters.
add_path
dictionary
Specify trace add-path events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set trace add-path events.
all
dictionary
Specify to trace everything.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace everything.
bfd
dictionary
Trace BFD events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set BFD events.
byte_as
dictionary
Specify trace 4 byte AS events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set trace 4 byte AS events.
damping
dictionary
Trace BGP damping information.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
filter
dictionary
Filter to apply to this flag.
match_on_prefix
boolean
    Choices:
  • no
  • yes
Specify filter based on prefix.
policy
string
Specify filter policy.
set
boolean
    Choices:
  • no
  • yes
Set filter to apply to this flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace BGP damping information.
egress_te
dictionary
Specify Egress Peering Traffic-Engineering events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Egress Peering Traffic-Engineering events.
general
dictionary
Trace general events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set trace general events.
graceful_restart
dictionary
Trace Graceful Restart events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace Graceful Restart events.
keepalive
dictionary
Trace BGP keepalive packets.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace BGP keepalive packets.
normal
dictionary
Trace normal events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace normal events.
nsr_synchronization
dictionary
Trace NSR synchronization events.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace NSR synchronization events.
open
dictionary
Trace BGP open packets.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace BGP open packets.
packets
dictionary
Trace all BGP protocol packets.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace all BGP protocol packets.
policy
dictionary
Trace policy processing.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace policy processing.
refresh
dictionary
Trace BGP refresh packets.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace BGP refresh packets.
route
dictionary
Trace routing information.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
filter
dictionary
Filter to apply to this flag.
match_on_prefix
boolean
    Choices:
  • no
  • yes
Specify filter based on prefix.
policy
string
Specify filter policy.
set
boolean
    Choices:
  • no
  • yes
Set filter to apply to this flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace routing information.
state
dictionary
Trace state transitions.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace state transitions.
thread_io
dictionary
Trace threaded I/O processing.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace threaded I/O processing.
thread_update_io
dictionary
Trace threaded update I/O processing.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace threaded update I/O processing.
timer
dictionary
Trace routing protocol timer processing.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Set Trace routing protocol timer processing.
update
dictionary
Trace BGP update packets.
detail
boolean
    Choices:
  • no
  • yes
Trace detailed information.
disable
boolean
    Choices:
  • no
  • yes
Disable this trace flag.
receive
boolean
    Choices:
  • no
  • yes
Trace received packets.
send
boolean
    Choices:
  • no
  • yes
Trace transmitted packets.
set
boolean
    Choices:
  • no
  • yes
Trace BGP update packets.
traffic_statistics_labeled_path
dictionary
Collect periodic ingress labeled statistics for BGP label-switched paths.
file
dictionary
Specify statistics file options.
file_name
string
Specify name of file in which to write trace information.
files
integer
Specify maximum number of trace files.
no_world_readable
boolean
    Choices:
  • no
  • yes
Don't allow any user to read the log file.
size
integer
Specify maximum trace file size.
world_readable
boolean
    Choices:
  • no
  • yes
Allow any user to read the log file.
interval
integer
Specify time interval to collect statistics.
ttl
integer
Specify TTL value for the single-hop peer.
unconfigured_peer_graceful_restart
boolean
    Choices:
  • no
  • yes
Specify BGP unconfigured peer graceful restart options.
vpn_apply_export
boolean
    Choices:
  • no
  • yes
Apply BGP export policy when exporting VPN routes.
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
    Choices:
  • purged
  • merged ←
  • replaced
  • deleted
  • gathered
  • parsed
  • rendered
The state the configuration should be left in.

Notes

Note

  • This module requires the netconf system service be enabled on the device being managed.

  • This module works with connection netconf. See the Junos OS Platform Options.

  • Tested against JunOS v18.4R1

Examples

# Using merged
#
# Before state
# ------------
#
# admin# show protocols bgp

- name: Merge Junos BGP interfaces config
  junipernetworks.junos.junos_bgp_global:
    config:
      accept_remote_nexthop: true
      add_path_display_ipv4_address: true
      advertise_bgp_static:
        policy: "static-to-bgp"
      advertise_from_main_vpn_tables: true
      advertise_inactive: true
      authentication_algorithm: "md5"
      bgp_error_tolerance:
        malformed_route_limit: 20000000
      bmp:
        monitor: true
      damping: true
      description: "This is configured with Junos_bgp resource module"
      egress_te_sid_stats: true
      hold_time: 5
      holddown_all_stale_labels: true
      include_mp_next_hop: true
      log_updown: true
      no_advertise_peer_as: true
      no_aggregator_id: true
      no_client_reflect: true
      out_delay: 10
      precision_timers: true
      preference: 2
    state: merged

# After state
# -----------
#
# admin# show protocols bgp
# precision-timers;
# advertise-from-main-vpn-tables;
# holddown-all-stale-labels;
# description "This is configured with Junos_bgp resource module";
# accept-remote-nexthop;
# preference 2;
# hold-time 5;
# advertise-inactive;
# no-advertise-peer-as;
# no-aggregator-id;
# out-delay 10;
# log-updown;
# damping;
# bgp-error-tolerance {
#     malformed-route-limit 20000000;
# }
# authentication-algorithm md5;
# no-client-reflect;
# include-mp-next-hop;
# bmp {
#     monitor enable;
# }
# advertise-bgp-static {
#     policy static-to-bgp;
# }
# add-path-display-ipv4-address;
# egress-te-sid-stats;


# Using replaced
#
# Before state
# ------------
#
# admin# show protocols bgp
# precision-timers;
# advertise-from-main-vpn-tables;
# holddown-all-stale-labels;
# description "This is configured with Junos_bgp resource module";
# accept-remote-nexthop;
# preference 2;
# hold-time 5;
# advertise-inactive;
# no-advertise-peer-as;
# no-aggregator-id;
# out-delay 10;
# log-updown;
# damping;
# bgp-error-tolerance {
#     malformed-route-limit 20000000;
# }
# authentication-algorithm md5;
# no-client-reflect;
# include-mp-next-hop;
# bmp {
#     monitor enable;
# }
# advertise-bgp-static {
#     policy static-to-bgp;
# }
# add-path-display-ipv4-address;
# egress-te-sid-stats;

- name: Replace Junos BGP global config
  junipernetworks.junos.junos_bgp_global:
   config:
     advertise_bgp_static:
       policy: "static-to-bgp"
     advertise_inactive: true
     authentication_algorithm: "md5"
     bfd_liveness_detection:
       minimum_receive_interval: 8
       multiplier: 30
       no_adaptation: true
       transmit_interval:
         minimum_interval: 4
       version: "automatic"
     bgp_error_tolerance:
       malformed_route_limit: 40000000
     description: "This is configured with Junos_bgp resource module replace"
     egress_te_sid_stats: true
     hold_time: 5
     out_delay: 10
     preference: "2"
   state: replaced

# After state
# -----------
#
# admin# show protocols bgp
# description "This is configured with Junos_bgp resource module replace";
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# bgp-error-tolerance {
#     malformed-route-limit 40000000;
# }
# authentication-algorithm md5;
# advertise-bgp-static {
#     policy static-to-bgp;
# }
# bfd-liveness-detection {
#     version automatic;
#     minimum-receive-interval 8;
#     multiplier 30;
#     no-adaptation;
#     transmit-interval {
#         minimum-interval 4;
#     }
# }
# egress-te-sid-stats;


#
# Using deleted
#
# Before state
# ------------
#
# admin# show protocols bgp
# description "This is configured with Junos_bgp resource module replace";
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# bgp-error-tolerance {
#     malformed-route-limit 40000000;
# }
# authentication-algorithm md5;
# advertise-bgp-static {
#     policy static-to-bgp;
# }
# bfd-liveness-detection {
#     version automatic;
#     minimum-receive-interval 8;
#     multiplier 30;
#     no-adaptation;
#     transmit-interval {
#         minimum-interval 4;
#     }
# }
# egress-te-sid-stats;

- name: Delete Junos BGP global config
  junipernetworks.junos.junos_bgp_global:
    config:
    state: deleted

# After state
# -----------


# admin# show protocols bgp
# Using gathered
#
# Before state
# ------------
#
# admin# show protocols bgp
# description "This is configured with Junos_bgp resource module replace";
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# bgp-error-tolerance {
#     malformed-route-limit 40000000;
# }
# authentication-algorithm md5;
# advertise-bgp-static {
#     policy static-to-bgp;
# }
# bfd-liveness-detection {
#     version automatic;
#     minimum-receive-interval 8;
#     multiplier 30;
#     no-adaptation;
#     transmit-interval {
#         minimum-interval 4;
#     }
# }
# egress-te-sid-stats;

- name: Gather Junos BGP global config
  junipernetworks.junos.junos_bgp_global:
    config:
    state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#    "gathered": {
#         "advertise_bgp_static": {
#             "policy": "static-to-bgp"
#         },
#         "advertise_inactive": true,
#         "authentication_algorithm": "md5",
#         "bfd_liveness_detection": {
#             "minimum_receive_interval": 8,
#             "multiplier": 30,
#             "no_adaptation": true,
#             "transmit_interval": {
#                 "minimum_interval": 4
#             },
#             "version": "automatic"
#         },
#         "bgp_error_tolerance": {
#             "malformed_route_limit": 40000000
#         },
#         "description": "This is configured with Junos_bgp resource module replace",
#         "egress_te_sid_stats": true,
#         "hold_time": 5,
#         "out_delay": 10,
#         "preference": "2"
#     }
#

#
# Using purged
#
# Before state
# ------------
#
# admin# show protocols bgp
# description "This is configured with Junos_bgp resource module replace";
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# bgp-error-tolerance {
#     malformed-route-limit 40000000;
# }
# authentication-algorithm md5;
# advertise-bgp-static {
#     policy static-to-bgp;
# }
# bfd-liveness-detection {
#     version automatic;
#     minimum-receive-interval 8;
#     multiplier 30;
#     no-adaptation;
#     transmit-interval {
#         minimum-interval 4;
#     }
# }
# egress-te-sid-stats;

- name: Purge Junos BGP global config
  junipernetworks.junos.junos_bgp_global:
    config:
    state: purged

# After state
# ----------

# Using rendered
#
#
- name: Render the commands for provided  configuration
  junipernetworks.junos.junos_bgp_global:
    config:
      authentication_algorithm: "md5"
      bfd_liveness_detection:
        minimum_receive_interval: 4
        multiplier: 10
        no_adaptation: true
        transmit_interval:
          minimum_interval: 2
        version: "automatic"
      bgp_error_tolerance:
        malformed_route_limit: 20000000
      bmp:
        monitor: true
      damping: true
      description: "This is configured with Junos_bgp resource module"
      egress_te_sid_stats: true
      hold_time: 5
    state: rendered

#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": "
# <nc:protocols
#     xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
#     <nc:bgp>
#         <nc:damping/>
#         <nc:egress-te-sid-stats/>
#         <nc:authentication-algorithm>md5</nc:authentication-algorithm>
#         <nc:description>This is configured with Junos_bgp resource module</nc:description>
#         <nc:hold-time>5</nc:hold-time>
#         <nc:bfd-liveness-detection>
#             <nc:transmit-interval>
#                 <nc:minimum-interval>2</nc:minimum-interval>
#             </nc:transmit-interval>
#             <nc:minimum-receive-interval>4</nc:minimum-receive-interval>
#             <nc:multiplier>10</nc:multiplier>
#             <nc:no-adaptation/>
#             <nc:version>automatic</nc:version>
#         </nc:bfd-liveness-detection>
#         <nc:bgp-error-tolerance>
#             <nc:malformed-route-limit>20000000</nc:malformed-route-limit>
#         </nc:bgp-error-tolerance>
#         <nc:bmp>
#             <nc:monitor>enable</nc:monitor>
#         </nc:bmp>
#     </nc:bgp>
# </nc:protocols>"
#
# Using parsed
# parsed.cfg
# ------------
# <?xml version="1.0" encoding="UTF-8"?>
# <rpc-reply message-id="urn:uuid:0cadb4e8-5bba-47f4-986e-72906227007f">
#    <configuration changed-seconds="1590139550" changed-localtime="2020-05-22 09:25:50 UTC">
#       <version>18.4R1-S2.4</version>
#       <protocols>
#          <bgp>
#             <precision-timers />
#             <advertise-from-main-vpn-tables />
#             <holddown-all-stale-labels />
#             <description>This is configured with Junos_bgp resource module</description>
#             <accept-remote-nexthop />
#             <preference>2</preference>
#             <hold-time>5</hold-time>
#             <advertise-inactive />
#             <no-advertise-peer-as />
#             <no-aggregator-id />
#             <out-delay>10</out-delay>
#             <log-updown />
#             <damping />
#             <bgp-error-tolerance>
#                <malformed-route-limit>20000000</malformed-route-limit>
#             </bgp-error-tolerance>
#             <authentication-algorithm>md5</authentication-algorithm>
#             <remove-private />
#             <no-client-reflect />
#             <include-mp-next-hop />
#             <bmp>
#                <monitor>disable</monitor>
#                <route-monitoring>
#                   <none />
#                </route-monitoring>
#             </bmp>
#             <advertise-bgp-static>
#                <policy>static-to-bgp</policy>
#             </advertise-bgp-static>
#             <add-path-display-ipv4-address />
#             <bfd-liveness-detection>
#                <version>automatic</version>
#                <minimum-receive-interval>4</minimum-receive-interval>
#                <multiplier>10</multiplier>
#                <no-adaptation />
#                <transmit-interval>
#                   <minimum-interval>2</minimum-interval>
#                </transmit-interval>
#                <detection-time>
#                   <threshold>300000</threshold>
#                </detection-time>
#             </bfd-liveness-detection>
#             <egress-te-sid-stats />
#             <group>
#                <name>internal</name>
#                <out-delay>8</out-delay>
#             </group>
#             <group>
#                <name>external</name>
#                <out-delay>9</out-delay>
#             </group>
#             <group>
#                <name>inboun</name>
#                <type>internal</type>
#             </group>
#             <group>
#                <name>ibgp</name>
#                <type>internal</type>
#                <local-address>10.2.2.2</local-address>
#                <export>static-to-bgp</export>
#                <neighbor>
#                   <name>10.1.1.1</name>
#                </neighbor>
#             </group>
#          </bgp>
#          <ospf3>
#             <area>
#                <name>0.0.0.100</name>
#                <stub>
#                   <default-metric>200</default-metric>
#                </stub>
#                <interface>
#                   <name>so-0/0/0.0</name>
#                   <metric>5</metric>
#                   <priority>3</priority>
#                </interface>
#             </area>
#          </ospf3>
#       </protocols>
#       <routing-options>
#          <static>
#             <route>
#                <name>172.16.17.0/24</name>
#                <discard />
#             </route>
#          </static>
#          <router-id>10.200.16.75</router-id>
#          <autonomous-system>
#             <as-number>65432</as-number>
#          </autonomous-system>
#       </routing-options>
#    </configuration>
# </rpc-reply>


- name: Parsed the device configuration to get output commands
  junipernetworks.junos.junos_bgp_global:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed":  {
#         "accept_remote_nexthop": true,
#         "add_path_display_ipv4_address": true,
#         "advertise_bgp_static": {
#             "policy": "static-to-bgp"
#         },
#         "advertise_from_main_vpn_tables": true,
#         "advertise_inactive": true,
#         "authentication_algorithm": "md5",
#         "bfd_liveness_detection": {
#             "detection_time": {
#                 "threshold": 300000
#             },
#             "minimum_receive_interval": 4,
#             "multiplier": 10,
#             "no_adaptation": true,
#             "transmit_interval": {
#                 "minimum_interval": 2
#             },
#             "version": "automatic"
#         },
#         "bgp_error_tolerance": {
#             "malformed_route_limit": 20000000
#         },
#         "bmp": {
#             "monitor": false,
#             "route_monitoring": {
#                 "none": true
#             }
#         },
#         "damping": true,
#         "description": "This is configured with Junos_bgp resource module",
#         "egress_te_sid_stats": true,
#         "hold_time": 5,
#         "holddown_all_stale_labels": true,
#         "include_mp_next_hop": true,
#         "log_updown": true,
#         "no_advertise_peer_as": true,
#         "no_aggregator_id": true,
#         "no_client_reflect": true,
#         "out_delay": 10,
#         "precision_timers": true,
#         "preference": "2"
#     }
#

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:
[' <nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:bgp> <nc:damping/> <nc:egress-te-sid-stats/> <nc:authentication-algorithm>md5</nc:authentication-algorithm> <nc:description>This is configured with Junos_bgp resource module</nc:description> <nc:hold-time>5</nc:hold-time> <nc:bfd-liveness-detection> <nc:transmit-interval> <nc:minimum-interval>2</nc:minimum-interval> </nc:transmit-interval> <nc:minimum-receive-interval>4</nc:minimum-receive-interval> <nc:multiplier>10</nc:multiplier> <nc:no-adaptation/> <nc:version>automatic</nc:version> </nc:bfd-liveness-detection> <nc:bgp-error-tolerance> <nc:malformed-route-limit>20000000</nc:malformed-route-limit> </nc:bgp-error-tolerance> <nc:bmp> <nc:monitor>enable</nc:monitor> </nc:bmp> </nc:bgp> </nc:protocols>', 'xml 2', 'xml 3']


Authors

  • Rohit Thakur (@rohitthakur)