junipernetworks.junos.junos_bgp_global – Manages BGP Global configuration on devices running Juniper JUNOS.
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.
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 |
|
Allow import policy to specify a non-directly connected next-hop. | |||||
add_path_display_ipv4_address boolean |
|
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 |
|
Set Advertise bgp-static routes. | |||||
advertise_external dictionary |
Advertise best external routes. | ||||||
conditional boolean |
|
Route matches active route upto med-comparison rule. | |||||
set boolean |
|
Set Advertise best external routes. | |||||
advertise_from_main_vpn_tables boolean |
|
Advertise VPN routes from bgp.Xvpn.0 tables in master instance. | |||||
advertise_inactive boolean |
|
Advertise inactive routes. | |||||
advertise_peer_as boolean |
|
Advertise routes received from the same autonomous system. | |||||
as_number string |
Specify Autonomous system number. | ||||||
authentication_algorithm string |
|
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 |
|
Specify algorithm name. | |||||
key_chain string |
Specify Key chain name. | ||||||
loose_check boolean |
|
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 |
|
Disable adaptation. | |||||
session_mode string |
|
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 |
|
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 |
|
Specify no malformed route limit. | |||||
set boolean |
|
Set BGP malformed updates softly. | |||||
bmp dictionary |
Specific settings to override the routing-options settings. | ||||||
monitor boolean |
|
Enable/Disable monitoring. | |||||
route_monitoring dictionary |
Control route monitoring settings. | ||||||
none boolean |
|
Do not send route montoring messages. | |||||
post_policy boolean |
|
Send post policy route montoring messages. | |||||
post_policy_exclude_non_eligible boolean |
|
Send post policy route montoring messages and exclude unresolved routes, etc. | |||||
post_policy_exclude_non_feasible boolean |
|
Send pre policy route montoring messages and exclude looped routes, etc. | |||||
pre_policy boolean |
|
Send pre policy route montoring messages. | |||||
cluster_id string |
Specify cluster identifier. | ||||||
damping boolean |
|
Enable route flap damping. | |||||
description string |
Specify text description. | ||||||
disable boolean |
|
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 |
|
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 |
|
Create BGP-Peer-SID sensor. | |||||
enforce_first_as boolean |
|
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 |
|
Disable graceful restart. | |||||
dont_help_shared_fate_bfd_down boolean |
|
Honor BFD-Down(C=0) if GR-restart not in progress. | |||||
forwarding_state_bit dictionary |
Control forwarding-state flag negotiation. | ||||||
as_rr_client boolean |
|
As for a route reflector client. | |||||
from_fib boolean |
|
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 |
|
Set Advertise stale routes to non-LLGR neighbors. | |||||
set boolean |
|
Set Advertise stale routes to non-LLGR neighbors. | |||||
receiver_disable boolean |
|
Disable receiver (helper) functionality. | |||||
restart_time integer |
Restart time used when negotiating with a peer. | ||||||
set boolean |
|
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 |
|
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 |
|
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 |
|
Include NEXT-HOP attribute in multiprotocol updates. | |||||
ipsec_sa string |
Specify IPSec SA name. | ||||||
keep string |
|
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 |
|
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 |
|
Maximum number of times this AS can be in an AS path. | |||||
private boolean |
|
Hide this local AS in paths learned from this peering. | |||||
set boolean |
|
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 |
|
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 |
|
Delay updating MED when IGP metric increases. | |||||
metric_offset integer |
Specify metric offset for MED. | ||||||
set boolean |
|
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 |
|
Set track the minimum IGP metric. | |||||
mtu_discovery boolean |
|
Enable TCP path MTU discovery. | |||||
multihop dictionary |
Configure an EBGP multihop session. | ||||||
no_nexthop_change boolean |
|
Do not change next hop to self in advertisements. | |||||
set boolean |
|
Set an EBGP multihop session. | |||||
ttl integer |
TTL value for the session. | ||||||
multipath dictionary |
Allow load sharing among multiple BGP paths. | ||||||
disable boolean |
|
Disable Multipath. | |||||
multiple_as boolean |
|
Disable Multipath. | |||||
set boolean |
|
Set allow load sharing among multiple BGP paths. | |||||
multipath_build_priority string |
|
Configure the multipath build priority. | |||||
no_advertise_peer_as boolean |
|
Allows to not advertise routes received from the same autonomous system. | |||||
no_aggregator_id boolean |
|
Set router ID in aggregator path attribute to 0. | |||||
no_client_reflect boolean |
|
Disable intracluster route redistribution. | |||||
no_precision_timers boolean |
|
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 |
|
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 |
|
Honor IPv4 prefix filters. | |||||
inet6 boolean |
|
Honor IPv6 prefix filters. | |||||
set boolean |
|
Set honor Prefix-based ORFs from remote peers. | |||||
set boolean |
|
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 |
|
Expedited queue; highest priority. | |||||
priority boolean |
|
Specify output queue priorit. | |||||
low dictionary |
Assign the 'low' priority class to this output-queue. | ||||||
expedited boolean |
|
Expedited queue; highest priority. | |||||
priority boolean |
|
Specify output queue priorit. | |||||
medium dictionary |
Assign the 'medium' priority class to this output-queue. | ||||||
expedited boolean |
|
Expedited queue; highest priority. | |||||
priority boolean |
|
Specify output queue priorit. | |||||
expedited dictionary |
Expedited queue; highest priority. | ||||||
set boolean |
|
Set expedited queue; highest priority. | |||||
update_tokens integer |
Specify Number of tokens. | ||||||
priority integer |
Output queue priority; higher is better. | ||||||
passive boolean |
|
Specify to not send open messages to a peer. | |||||
path_selection dictionary |
Configure path selection strategy. | ||||||
always_compare_med boolean |
|
Compare MED on paths from different AS. | |||||
as_path_ignore boolean |
|
Ignore AS path comparison during path selection. | |||||
cisco_non_deterministic boolean |
|
Use Cisco IOS nondeterministic path selection algorithm. | |||||
external_router_id boolean |
|
Compare router ID on BGP externals. | |||||
l2vpn_use_bgp_rules boolean |
|
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 |
|
Use precision timers for scheduling keepalives. | |||||
preference string |
Specify preference value. | ||||||
remove_private dictionary |
Remove well-known private AS numbers. | ||||||
all boolean |
|
Remove all private AS numbers and do not stop at the first public AS number. | |||||
no_peer_loop_check boolean |
|
Remove peer loop-check. | |||||
replace dictionary |
Specify private AS replacement. | ||||||
nearest boolean |
|
Use closest public AS number to replace a private AS number. | |||||
set boolean |
|
Replace private AS numbers with the BGP Group's local AS number. | |||||
set boolean |
|
Remove well-known private AS numbers. | |||||
rfc6514_compliant_safi129 boolean |
|
Specify Compliance with RFC6514 SAFI129 format. | |||||
route_server_client boolean |
|
Enable route server client behavior. | |||||
send_addpath_optimization boolean |
|
Enable BGP addpath advertisement optimization. | |||||
snmp_options dictionary |
Customize SNMP behaviors specifically for BGP MIBs. | ||||||
backward_traps_only_from_established boolean |
|
Limit traps for backward transitions to only those moving from Established state. | |||||
emit_inet_address_length_in_oid boolean |
|
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 |
|
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 |
|
Don't allow any user to read the log file. | |||||
size integer |
Specify maximum trace file size. | ||||||
world_readable boolean |
|
Allow any user to read the log file. | |||||
flag dictionary |
Specify tracing parameters. | ||||||
add_path dictionary |
Specify trace add-path events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set trace add-path events. | |||||
all dictionary |
Specify to trace everything. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace everything. | |||||
bfd dictionary |
Trace BFD events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set BFD events. | |||||
byte_as dictionary |
Specify trace 4 byte AS events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set trace 4 byte AS events. | |||||
damping dictionary |
Trace BGP damping information. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
filter dictionary |
Filter to apply to this flag. | ||||||
match_on_prefix boolean |
|
Specify filter based on prefix. | |||||
policy string |
Specify filter policy. | ||||||
set boolean |
|
Set filter to apply to this flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace BGP damping information. | |||||
egress_te dictionary |
Specify Egress Peering Traffic-Engineering events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Egress Peering Traffic-Engineering events. | |||||
general dictionary |
Trace general events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set trace general events. | |||||
graceful_restart dictionary |
Trace Graceful Restart events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace Graceful Restart events. | |||||
keepalive dictionary |
Trace BGP keepalive packets. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace BGP keepalive packets. | |||||
normal dictionary |
Trace normal events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace normal events. | |||||
nsr_synchronization dictionary |
Trace NSR synchronization events. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace NSR synchronization events. | |||||
open dictionary |
Trace BGP open packets. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace BGP open packets. | |||||
packets dictionary |
Trace all BGP protocol packets. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace all BGP protocol packets. | |||||
policy dictionary |
Trace policy processing. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace policy processing. | |||||
refresh dictionary |
Trace BGP refresh packets. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace BGP refresh packets. | |||||
route dictionary |
Trace routing information. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
filter dictionary |
Filter to apply to this flag. | ||||||
match_on_prefix boolean |
|
Specify filter based on prefix. | |||||
policy string |
Specify filter policy. | ||||||
set boolean |
|
Set filter to apply to this flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace routing information. | |||||
state dictionary |
Trace state transitions. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace state transitions. | |||||
thread_io dictionary |
Trace threaded I/O processing. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace threaded I/O processing. | |||||
thread_update_io dictionary |
Trace threaded update I/O processing. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace threaded update I/O processing. | |||||
timer dictionary |
Trace routing protocol timer processing. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
Set Trace routing protocol timer processing. | |||||
update dictionary |
Trace BGP update packets. | ||||||
detail boolean |
|
Trace detailed information. | |||||
disable boolean |
|
Disable this trace flag. | |||||
receive boolean |
|
Trace received packets. | |||||
send boolean |
|
Trace transmitted packets. | |||||
set boolean |
|
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 |
|
Don't allow any user to read the log file. | |||||
size integer |
Specify maximum trace file size. | ||||||
world_readable boolean |
|
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 |
|
Specify BGP unconfigured peer graceful restart options. | |||||
vpn_apply_export boolean |
|
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 | ||||||
state string |
|
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: [' md5 This is configured with Junos_bgp resource module 5 2 4 10 automatic 20000000 enable ', 'xml 2', 'xml 3'] |
Authors
- Rohit Thakur (@rohitthakur)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_bgp_global_module.html