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 |
| 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 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. | |||||
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)
© 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