junipernetworks.junos.junos_bgp_address_family – Manage BGP Address Family attributes of interfaces on Junos devices.
Note
This plugin is part of the junipernetworks.junos collection (version 2.8.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install junipernetworks.junos
.
To use it in a playbook, specify: junipernetworks.junos.junos_bgp_address_family
.
New in version 1.3.0: of junipernetworks.junos
Synopsis
Manage BGP Address Family attributes of interfaces on Junos network devices.
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 |
Comments |
---|---|
The provided link BGP address family dictionary. |
|
Enable address family and enter its config mode. |
|
Address family type for ipv4. |
|
Specify limit for maximum number of prefixes accepted from a peer. |
|
Idle the peer until the user intervenes. Choices:
|
|
Set idle timeout node. Choices:
|
|
Specify timeout before attempting to restart peer. |
|
Specify teardown percentage of prefix-limit to start warnings. |
|
Specify maximum number of prefixes accepted from a peer. |
|
Clear peer connection on reaching limit. Choices:
|
|
Advertise multiple paths to peer. |
|
Receive multiple paths from peer. Choices:
|
|
Send multiple paths to peer. |
|
Specify number of backup paths to advertise. |
|
Include only multipath contributor routes. Choices:
|
|
Include only multipath contributor routes. |
|
Configure how to select add-path routes. |
|
Advertise all paths allowed by path count. Choices:
|
|
Advertise equal cost paths. Choices:
|
|
Perform add-path only for prefixes that match policy. |
|
Aggregate labels of incoming routes with the same FEC. |
|
Community to identify the FEC of incoming routesC. |
|
Set Aggregate labels of incoming routes with the same FEC Choices:
|
|
Allow sending and receiving of AIGP attribute. |
|
Dn not allow sending and receiving of AIGP attribute. Choices:
|
|
Set AIGP. Choices:
|
|
Enable route flap damping. Choices:
|
|
Defer initial multipath build until EOR is received. |
|
Max delay(sec) multipath build after peer is up. |
|
Set defer initial multipath build. Choices:
|
|
Delay route updates for this family until FIB-sync. |
|
Set max delay advertisement route age. |
|
Set max delay advertisement route age. |
|
Set min delayadvertisement after source-peer sent all routes. |
|
Set min delay advertisement route age. |
|
Set delay route advertisements. Choices:
|
|
Use entropy label for entropy label capable BGP LSPs. |
|
Policy to select BGP LSPs to use entropy label. |
|
Don’t validate next hop field against route next hop. Choices:
|
|
Set entropy-label attribute. Choices:
|
|
Advertise explicit null. |
|
Advertise explicit null only for connected routes. Choices:
|
|
Set explicit-null attribute. Choices:
|
|
Enable extended nexthop encoding. Choices:
|
|
Resolve using extended color nexthop. Choices:
|
|
Specify BGP graceful restart options. Choices:
|
|
Configure legacy redirect to IP support. |
|
Accept legacy encoded redirect-to-ip action attribute Choices:
|
|
Advertise Redirect action as legacy redirect attribute. Choices:
|
|
Set the legacy-redirect-ip-action. Choices:
|
|
Specify local IPv4 address. |
|
Allow local AS in received AS paths. |
|
Dont install received routes in forwarding. Choices:
|
|
Bypass validation procedure for routes that match policy. |
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
Advertise prefixes with unique labels per group. Choices:
|
|
Allocate a unique label to each advertised prefix. Choices:
|
|
Limit maximum number of prefixes from a peer. |
|
Idle the peer until the user intervenes. Choices:
|
|
Set idle timeout node. Choices:
|
|
Specify timeout before attempting to restart peer. |
|
Percentage of prefix-limit to start warnings. |
|
Specify maximum number of prefixes from a peer. |
|
Clear peer connection on reaching limit. Choices:
|
|
Install received NLRI in inet.3 also. Choices:
|
|
Select table used by labeled unicast routes. Choices:
|
|
Name of the routing table group. |
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
Resolve FLOW routes in VRF table independent of VPN FLOW route. Choices:
|
|
Set NLRI. Choices:
|
|
Strip the next-hop from the outgoing flow update. Choices:
|
|
Multi topology routing tables. |
|
Community to identify multi topology routes. |
|
Specify topology name. |
|
Collect statistics for BGP label-switched paths |
|
Statistics file options. |
|
Name of file in which to write trace information. |
|
Maximum number of trace files. |
|
Don’t allow any user to read the log file. Choices:
|
|
Maximum trace file size. |
|
Don’t allow any user to read the log file. Choices:
|
|
Time to collect statistics (seconds). |
|
Enable ingress labeled path statistics. Choices:
|
|
Set traffic-statistics. Choices:
|
|
Specify type of NLRI. Choices:
|
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
address family. Choices:
|
|
Specify address family config for groups. |
|
Enable address family and enter its config mode. |
|
Address family type for ipv4. |
|
Specify limit for maximum number of prefixes accepted from a peer. |
|
Idle the peer until the user intervenes. Choices:
|
|
Set idle timeout node. Choices:
|
|
Specify timeout before attempting to restart peer. |
|
Specify teardown percentage of prefix-limit to start warnings. |
|
Specify maximum number of prefixes accepted from a peer. |
|
Clear peer connection on reaching limit. Choices:
|
|
Advertise multiple paths to peer. |
|
Receive multiple paths from peer. Choices:
|
|
Send multiple paths to peer. |
|
Specify number of backup paths to advertise. |
|
Include only multipath contributor routes. Choices:
|
|
Include only multipath contributor routes. |
|
Configure how to select add-path routes. |
|
Advertise all paths allowed by path count. Choices:
|
|
Advertise equal cost paths. Choices:
|
|
Perform add-path only for prefixes that match policy. |
|
Aggregate labels of incoming routes with the same FEC. |
|
Community to identify the FEC of incoming routesC. |
|
Set Aggregate labels of incoming routes with the same FEC Choices:
|
|
Allow sending and receiving of AIGP attribute. |
|
Dn not allow sending and receiving of AIGP attribute. Choices:
|
|
Set AIGP. Choices:
|
|
Enable route flap damping. Choices:
|
|
Defer initial multipath build until EOR is received. |
|
Max delay(sec) multipath build after peer is up. |
|
Set defer initial multipath build. Choices:
|
|
Delay route updates for this family until FIB-sync. |
|
Set max delay advertisement route age. |
|
Set max delay advertisement route age. |
|
Set min delayadvertisement after source-peer sent all routes. |
|
Set min delay advertisement route age. |
|
Set delay route advertisements. Choices:
|
|
Use entropy label for entropy label capable BGP LSPs. |
|
Policy to select BGP LSPs to use entropy label. |
|
Don’t validate next hop field against route next hop. Choices:
|
|
Set entropy-label attribute. Choices:
|
|
Advertise explicit null. |
|
Advertise explicit null only for connected routes. Choices:
|
|
Set explicit-null attribute. Choices:
|
|
Enable extended nexthop encoding. Choices:
|
|
Resolve using extended color nexthop. Choices:
|
|
Specify BGP graceful restart options. Choices:
|
|
Configure legacy redirect to IP support. |
|
Accept legacy encoded redirect-to-ip action attribute Choices:
|
|
Advertise Redirect action as legacy redirect attribute. Choices:
|
|
Set the legacy-redirect-ip-action. Choices:
|
|
Specify local IPv4 address. |
|
Allow local AS in received AS paths. |
|
Dont install received routes in forwarding. Choices:
|
|
Bypass validation procedure for routes that match policy. |
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
Advertise prefixes with unique labels per group. Choices:
|
|
Allocate a unique label to each advertised prefix. Choices:
|
|
Limit maximum number of prefixes from a peer. |
|
Idle the peer until the user intervenes. Choices:
|
|
Set idle timeout node. Choices:
|
|
Specify timeout before attempting to restart peer. |
|
Percentage of prefix-limit to start warnings. |
|
Specify maximum number of prefixes from a peer. |
|
Clear peer connection on reaching limit. Choices:
|
|
Install received NLRI in inet.3 also. Choices:
|
|
Select table used by labeled unicast routes. Choices:
|
|
Name of the routing table group. |
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
Resolve FLOW routes in VRF table independent of VPN FLOW route. Choices:
|
|
Set NLRI. Choices:
|
|
Strip the next-hop from the outgoing flow update. Choices:
|
|
Multi topology routing tables. |
|
Community to identify multi topology routes. |
|
Specify topology name. |
|
Collect statistics for BGP label-switched paths |
|
Statistics file options. |
|
Name of file in which to write trace information. |
|
Maximum number of trace files. |
|
Don’t allow any user to read the log file. Choices:
|
|
Maximum trace file size. |
|
Don’t allow any user to read the log file. Choices:
|
|
Time to collect statistics (seconds). |
|
Enable ingress labeled path statistics. Choices:
|
|
Set traffic-statistics. Choices:
|
|
Specify type of NLRI. Choices:
|
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
address family. Choices:
|
|
Specify name of the group |
|
Specify address family config per neighbor. |
|
Enable address family and enter its config mode. |
|
Address family type for ipv4. |
|
Specify limit for maximum number of prefixes accepted from a peer. |
|
Idle the peer until the user intervenes. Choices:
|
|
Set idle timeout node. Choices:
|
|
Specify timeout before attempting to restart peer. |
|
Specify teardown percentage of prefix-limit to start warnings. |
|
Specify maximum number of prefixes accepted from a peer. |
|
Clear peer connection on reaching limit. Choices:
|
|
Advertise multiple paths to peer. |
|
Receive multiple paths from peer. Choices:
|
|
Send multiple paths to peer. |
|
Specify number of backup paths to advertise. |
|
Include only multipath contributor routes. Choices:
|
|
Include only multipath contributor routes. |
|
Configure how to select add-path routes. |
|
Advertise all paths allowed by path count. Choices:
|
|
Advertise equal cost paths. Choices:
|
|
Perform add-path only for prefixes that match policy. |
|
Aggregate labels of incoming routes with the same FEC. |
|
Community to identify the FEC of incoming routesC. |
|
Set Aggregate labels of incoming routes with the same FEC Choices:
|
|
Allow sending and receiving of AIGP attribute. |
|
Dn not allow sending and receiving of AIGP attribute. Choices:
|
|
Set AIGP. Choices:
|
|
Enable route flap damping. Choices:
|
|
Defer initial multipath build until EOR is received. |
|
Max delay(sec) multipath build after peer is up. |
|
Set defer initial multipath build. Choices:
|
|
Delay route updates for this family until FIB-sync. |
|
Set max delay advertisement route age. |
|
Set max delay advertisement route age. |
|
Set min delayadvertisement after source-peer sent all routes. |
|
Set min delay advertisement route age. |
|
Set delay route advertisements. Choices:
|
|
Use entropy label for entropy label capable BGP LSPs. |
|
Policy to select BGP LSPs to use entropy label. |
|
Don’t validate next hop field against route next hop. Choices:
|
|
Set entropy-label attribute. Choices:
|
|
Advertise explicit null. |
|
Advertise explicit null only for connected routes. Choices:
|
|
Set explicit-null attribute. Choices:
|
|
Enable extended nexthop encoding. Choices:
|
|
Resolve using extended color nexthop. Choices:
|
|
Specify BGP graceful restart options. Choices:
|
|
Configure legacy redirect to IP support. |
|
Accept legacy encoded redirect-to-ip action attribute Choices:
|
|
Advertise Redirect action as legacy redirect attribute. Choices:
|
|
Set the legacy-redirect-ip-action. Choices:
|
|
Specify local IPv4 address. |
|
Allow local AS in received AS paths. |
|
Dont install received routes in forwarding. Choices:
|
|
Bypass validation procedure for routes that match policy. |
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
Advertise prefixes with unique labels per group. Choices:
|
|
Allocate a unique label to each advertised prefix. Choices:
|
|
Limit maximum number of prefixes from a peer. |
|
Idle the peer until the user intervenes. Choices:
|
|
Set idle timeout node. Choices:
|
|
Specify timeout before attempting to restart peer. |
|
Percentage of prefix-limit to start warnings. |
|
Specify maximum number of prefixes from a peer. |
|
Clear peer connection on reaching limit. Choices:
|
|
Install received NLRI in inet.3 also. Choices:
|
|
Select table used by labeled unicast routes. Choices:
|
|
Name of the routing table group. |
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
Resolve FLOW routes in VRF table independent of VPN FLOW route. Choices:
|
|
Set NLRI. Choices:
|
|
Strip the next-hop from the outgoing flow update. Choices:
|
|
Multi topology routing tables. |
|
Community to identify multi topology routes. |
|
Specify topology name. |
|
Collect statistics for BGP label-switched paths |
|
Statistics file options. |
|
Name of file in which to write trace information. |
|
Maximum number of trace files. |
|
Don’t allow any user to read the log file. Choices:
|
|
Maximum trace file size. |
|
Don’t allow any user to read the log file. Choices:
|
|
Time to collect statistics (seconds). |
|
Enable ingress labeled path statistics. Choices:
|
|
Set traffic-statistics. Choices:
|
|
Specify type of NLRI. Choices:
|
|
Expedited queue; highest priority. Choices:
|
|
Output queue priority; higher is better. |
|
address family. Choices:
|
|
Specify neighbor address. |
|
This option is used only with state parsed. The value of this option should be the output received from the Junos device by executing the command show protocols bgp. The state parsed reads the configuration from |
|
The state the configuration should be left in. State deleted only removes BGP address family attributes that this modules manages and does not negate the BGP neighbor address family completely. Thereby, preserving address-family related configurations under BGP group neighbor context. To delete the address family associated to neighbor use junipernetworks.junos.junos_bgp_neighbor_address_family modules for prior cleanup. Refer to examples for more details. Choices:
|
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
#
# [edit]
- name: Merge Junos BGP address family configuration
junipernetworks.junos.junos_bgp_address_family:
config:
address_family:
- afi: 'evpn'
af_type:
- type: 'signaling'
accepted_prefix_limit:
maximum: 20
limit_threshold: 98
idle_timeout_value: 2001
damping: true
defer_initial_multipath_build:
maximum_delay: 2
- afi: 'inet'
af_type:
- type: 'flow'
legacy_redirect_ip_action:
send: true
receive: true
loops: 4
no_install: true
output_queue_priority_expedited: true
secondary_independent_resolution: true
- type: 'unicast'
extended_nexthop: true
extended_nexthop_color: true
local_ipv4_address: '9.9.9.9'
- type: 'labeled-unicast'
entropy_label:
no_next_hop_validation: true
explicit_null:
connected_only: true
per_prefix_label: true
per_group_label: true
prefix_limit:
maximum: 20
limit_threshold: 99
forever: true
resolve_vpn: true
rib: 'inet.3'
route_refresh_priority_expedited: true
route_refresh_priority_priority: 3
- type: 'any'
accepted_prefix_limit:
maximum: 20
limit_threshold: 99
idle_timeout_value: 2000
damping: true
defer_initial_multipath_build:
maximum_delay: 2
delay_route_advertisements:
max_delay_route_age: 20
max_delay_routing_uptime: 32000
min_delay_inbound_convergence: 32000
min_delay_routing_uptime: 23000
graceful_restart_forwarding_state_bit: 'from-fib'
state: merged
# After state
# -----------
#
# admin# show protocols bgp
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
# Using replaced
#
# Before state
# ------------
#
# admin# show protocols bgp
# 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;
# }
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
- name: Replace existing Junos BGP address family config with provided config
junipernetworks.junos.junos_bgp_address_family:
config:
address_family:
- afi: 'evpn'
af_type:
- type: 'signaling'
accepted_prefix_limit:
maximum: 21
limit_threshold: 99
idle_timeout_value: 2002
delay_route_advertisements:
max_delay_route_age: 20
max_delay_routing_uptime: 32000
min_delay_inbound_convergence: 32000
min_delay_routing_uptime: 23000
damping: true
state: replaced
# After state
# -----------
#
# admin# show protocols bgp
# 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;
# }
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 21;
# teardown 99 idle-timeout 2002;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# }
# }
# Using overridden
#
# Before state
# ------------
#
# admin# show protocols bgp
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
- name: Override Junos BGP address family config
junipernetworks.junos.junos_bgp_address_family:
config:
address_family:
- afi: 'evpn'
af_type:
- type: 'signaling'
accepted_prefix_limit:
maximum: 21
limit_threshold: 99
idle_timeout_value: 2002
delay_route_advertisements:
max_delay_route_age: 20
max_delay_routing_uptime: 32000
min_delay_inbound_convergence: 32000
min_delay_routing_uptime: 23000
damping: true
state: overridden
# After state
# -----------
#
# admin# show protocols bgp
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 21;
# teardown 99 idle-timeout 2002;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# }
# }
# Using deleted
#
# Before state
# ------------
#
# admin# show protocols bgp
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
- name: Delete Junos BGP address family config based on the afi
junipernetworks.junos.junos_bgp_address_family:
config:
address_family:
- afi: 'inet'
state: deleted
# After state
# -----------
#
# admin# show protocols bgp
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
# Using deleted
#
# Before state
# ------------
#
# admin# show protocols bgp
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
- name: Delete complete Junos BGP address family config
junipernetworks.junos.junos_bgp_address_family:
config:
state: deleted
# After state
# -----------
#
# admin# show protocols bgp
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# Using gathered
#
# Before state
# ------------
#
# admin# show protocols bgp
# preference 2;
# hold-time 5;
# advertise-inactive;
# out-delay 10;
# family inet {
# unicast {
# local-ipv4-address 9.9.9.9;
# extended-nexthop;
# extended-nexthop-color;
# }
# flow {
# loops 4;
# no-install;
# output-queue-priority expedited;
# legacy-redirect-ip-action {
# receive;
# send;
# }
# secondary-independent-resolution;
# }
# any {
# accepted-prefix-limit {
# maximum 20;
# teardown 99 idle-timeout 2000;
# }
# damping;
# delay-route-advertisements {
# minimum-delay {
# routing-uptime 23000;
# inbound-convergence 32000;
# }
# maximum-delay {
# route-age 20;
# routing-uptime 32000;
# }
# }
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# graceful-restart {
# forwarding-state-bit from-fib;
# }
# }
# labeled-unicast {
# prefix-limit {
# maximum 20;
# teardown 99 idle-timeout forever;
# }
# route-refresh-priority priority 3;
# per-prefix-label;
# per-group-label;
# rib {
# inet.3;
# }
# explicit-null connected-only;
# resolve-vpn;
# entropy-label {
# no-next-hop-validation;
# }
# }
# }
# family evpn {
# signaling {
# accepted-prefix-limit {
# maximum 20;
# teardown 98 idle-timeout 2001;
# }
# damping;
# defer-initial-multipath-build {
# maximum-delay 2;
# }
# }
# }
- name: Gather Junos BGP address family config
junipernetworks.junos.junos_bgp_address_family:
config:
state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
# "gathered": {
# "address_family": [
# {
# "af_type": [
# {
# "accepted_prefix_limit": {
# "idle_timeout_value": 2001,
# "limit_threshold": 98,
# "maximum": 20
# },
# "damping": true,
# "defer_initial_multipath_build": {
# "maximum_delay": 2
# },
# "type": "signaling"
# }
# ],
# "afi": "evpn"
# },
# {
# "af_type": [
# {
# "accepted_prefix_limit": {
# "idle_timeout_value": 2000,
# "limit_threshold": 99,
# "maximum": 20
# },
# "damping": true,
# "defer_initial_multipath_build": {
# "maximum_delay": 2
# },
# "delay_route_advertisements": {
# "max_delay_route_age": 20,
# "max_delay_routing_uptime": 32000,
# "min_delay_inbound_convergence": 32000,
# "min_delay_routing_uptime": 23000
# },
# "graceful_restart_forwarding_state_bit": "from-fib",
# "type": "any"
# },
# {
# "legacy_redirect_ip_action": {
# "receive": true,
# "send": true
# },
# "loops": 4,
# "no_install": true,
# "output_queue_priority_expedited": true,
# "secondary_independent_resolution": true,
# "type": "flow"
# },
# {
# "entropy_label": {
# "no_next_hop_validation": true
# },
# "explicit_null": {
# "connected_only": true
# },
# "per_group_label": true,
# "per_prefix_label": true,
# "prefix_limit": {
# "forever": true,
# "limit_threshold": 99,
# "maximum": 20
# },
# "resolve_vpn": true,
# "rib": "inet.3",
# "route_refresh_priority_priority": 3,
# "type": "labeled-unicast"
# },
# {
# "extended_nexthop": true,
# "extended_nexthop_color": true,
# "local_ipv4_address": "9.9.9.9",
# "type": "unicast"
# }
# ],
# "afi": "inet"
# }
# ]
# }
#
# 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>
# <preference>2</preference>
# <hold-time>5</hold-time>
# <advertise-inactive/>
# <out-delay>10</out-delay>
# <family>
# <inet>
# <unicast>
# <local-ipv4-address>9.9.9.9</local-ipv4-address>
# <extended-nexthop/>
# <extended-nexthop-color/>
# </unicast>
# <flow>
# <loops>
# <loops>4</loops>
# </loops>
# <no-install/>
# <output-queue-priority>
# <expedited/>
# </output-queue-priority>
# <legacy-redirect-ip-action>
# <receive/>
# <send/>
# </legacy-redirect-ip-action>
# <secondary-independent-resolution/>
# </flow>
# <any>
# <accepted-prefix-limit>
# <maximum>20</maximum>
# <teardown>
# <limit-threshold>99</limit-threshold>
# <idle-timeout>
# <timeout>2000</timeout>
# </idle-timeout>
# </teardown>
# </accepted-prefix-limit>
# <damping/>
# <delay-route-advertisements>
# <minimum-delay>
# <routing-uptime>23000</routing-uptime>
# <inbound-convergence>32000</inbound-convergence>
# </minimum-delay>
# <maximum-delay>
# <route-age>20</route-age>
# <routing-uptime>32000</routing-uptime>
# </maximum-delay>
# </delay-route-advertisements>
# <defer-initial-multipath-build>
# <maximum-delay>2</maximum-delay>
# </defer-initial-multipath-build>
# <graceful-restart>
# <forwarding-state-bit>from-fib</forwarding-state-bit>
# </graceful-restart>
# </any>
# <labeled-unicast>
# <prefix-limit>
# <maximum>20</maximum>
# <teardown>
# <limit-threshold>99</limit-threshold>
# <idle-timeout>
# <forever/>
# </idle-timeout>
# </teardown>
# </prefix-limit>
# <route-refresh-priority>
# <priority>3</priority>
# </route-refresh-priority>
# <per-prefix-label/>
# <per-group-label/>
# <rib>
# <inet.3/>
# </rib>
# <explicit-null>
# <connected-only/>
# </explicit-null>
# <resolve-vpn/>
# <entropy-label>
# <no-next-hop-validation/>
# </entropy-label>
# </labeled-unicast>
# </inet>
# <evpn>
# <signaling>
# <accepted-prefix-limit>
# <maximum>20</maximum>
# <teardown>
# <limit-threshold>98</limit-threshold>
# <idle-timeout>
# <timeout>2001</timeout>
# </idle-timeout>
# </teardown>
# </accepted-prefix-limit>
# <damping/>
# <defer-initial-multipath-build>
# <maximum-delay>2</maximum-delay>
# </defer-initial-multipath-build>
# </signaling>
# </evpn>
# </family>
# </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 bgp address family running config to get the facts
junipernetworks.junos.junos_bgp_address_family:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": {
# "address_family": [
# {
# "af_type": [
# {
# "accepted_prefix_limit": {
# "idle_timeout_value": 2001,
# "limit_threshold": 98,
# "maximum": 20
# },
# "damping": true,
# "defer_initial_multipath_build": {
# "maximum_delay": 2
# },
# "type": "signaling"
# }
# ],
# "afi": "evpn"
# },
# {
# "af_type": [
# {
# "accepted_prefix_limit": {
# "idle_timeout_value": 2000,
# "limit_threshold": 99,
# "maximum": 20
# },
# "damping": true,
# "defer_initial_multipath_build": {
# "maximum_delay": 2
# },
# "delay_route_advertisements": {
# "max_delay_route_age": 20,
# "max_delay_routing_uptime": 32000,
# "min_delay_inbound_convergence": 32000,
# "min_delay_routing_uptime": 23000
# },
# "graceful_restart_forwarding_state_bit": "from-fib",
# "type": "any"
# },
# {
# "legacy_redirect_ip_action": {
# "receive": true,
# "send": true
# },
# "loops": 4,
# "no_install": true,
# "output_queue_priority_expedited": true,
# "secondary_independent_resolution": true,
# "type": "flow"
# },
# {
# "entropy_label": {
# "no_next_hop_validation": true
# },
# "explicit_null": {
# "connected_only": true
# },
# "per_group_label": true,
# "per_prefix_label": true,
# "prefix_limit": {
# "forever": true,
# "limit_threshold": 99,
# "maximum": 20
# },
# "resolve_vpn": true,
# "rib": "inet.3",
# "route_refresh_priority_priority": 3,
# "type": "labeled-unicast"
# },
# {
# "extended_nexthop": true,
# "extended_nexthop_color": true,
# "local_ipv4_address": "9.9.9.9",
# "type": "unicast"
# }
# ],
# "afi": "inet"
# }
# ]
# }
# Using rendered
#
#
- name: Render the commands for provided configuration
junipernetworks.junos.junos_bgp_address_family:
config:
address_family:
- afi: 'evpn'
af_type:
- type: 'signaling'
accepted_prefix_limit:
maximum: 20
limit_threshold: 98
idle_timeout_value: 2001
damping: true
defer_initial_multipath_build:
maximum_delay: 2
- afi: 'inet'
af_type:
- type: 'flow'
legacy_redirect_ip_action:
send: true
receive: true
loops: 4
no_install: true
output_queue_priority_expedited: true
secondary_independent_resolution: true
- type: 'unicast'
extended_nexthop: true
extended_nexthop_color: true
local_ipv4_address: '9.9.9.9'
- type: 'labeled-unicast'
entropy_label:
no_next_hop_validation: true
explicit_null:
connected_only: true
per_prefix_label: true
per_group_label: true
prefix_limit:
maximum: 20
limit_threshold: 99
forever: true
resolve_vpn: true
rib: 'inet.3'
route_refresh_priority_expedited: true
route_refresh_priority_priority: 3
- type: 'any'
accepted_prefix_limit:
maximum: 20
limit_threshold: 99
idle_timeout_value: 2000
damping: true
defer_initial_multipath_build:
maximum_delay: 2
delay_route_advertisements:
max_delay_route_age: 20
max_delay_routing_uptime: 32000
min_delay_inbound_convergence: 32000
min_delay_routing_uptime: 23000
graceful_restart_forwarding_state_bit: 'from-fib'
state: rendered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": "<nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:bgp><nc:family><nc:evpn><nc:signaling><nc:accepted-prefix-limit><nc:maximum>20</nc:maximum>
# <nc:teardown><nc:limit-threshold>98</nc:limit-threshold><nc:idle-timeout><nc:timeout>2001</nc:timeout>
# </nc:idle-timeout></nc:teardown></nc:accepted-prefix-limit><nc:damping/><nc:defer-initial-multipath-build>
# <nc:maximum-delay>2</nc:maximum-delay></nc:defer-initial-multipath-build></nc:signaling>
# </nc:evpn><nc:inet><nc:flow><nc:legacy-redirect-ip-action><nc:send/><nc:receive/>
# </nc:legacy-redirect-ip-action><nc:loops>4</nc:loops><nc:no-install/>
# <nc:output-queue-priority><nc:expedited/></nc:output-queue-priority>
# <nc:secondary-independent-resolution/></nc:flow><nc:unicast><nc:extended-nexthop/>
# <nc:extended-nexthop-color/><nc:local-ipv4-address>9.9.9.9</nc:local-ipv4-address>
# </nc:unicast><nc:labeled-unicast><nc:entropy-label><nc:no-next-hop-validation/>
# </nc:entropy-label><nc:explicit-null><nc:connected-only/></nc:explicit-null>
# <nc:per-prefix-label/><nc:per-group-label/><nc:prefix-limit><nc:maximum>20</nc:maximum>
# <nc:teardown>99<nc:idle-timeout><nc:forever/></nc:idle-timeout></nc:teardown>
# </nc:prefix-limit><nc:resolve-vpn/><nc:rib><nc:inet.3/></nc:rib><nc:route-refresh-priority>
# <nc:expedited/><nc:priority>3</nc:priority></nc:route-refresh-priority></nc:labeled-unicast>
# <nc:any><nc:accepted-prefix-limit><nc:maximum>20</nc:maximum><nc:teardown>
# <nc:limit-threshold>99</nc:limit-threshold><nc:idle-timeout><nc:timeout>2000</nc:timeout>
# </nc:idle-timeout></nc:teardown></nc:accepted-prefix-limit><nc:damping/>
# <nc:defer-initial-multipath-build><nc:maximum-delay>2</nc:maximum-delay>
# </nc:defer-initial-multipath-build><nc:delay-route-advertisements>
# <nc:maximum-delay><nc:route-age>20</nc:route-age><nc:routing-uptime>32000</nc:routing-uptime>
# </nc:maximum-delay><nc:minimum-delay><nc:inbound-convergence>32000</nc:inbound-convergence>
# <nc:routing-uptime>23000</nc:routing-uptime></nc:minimum-delay></nc:delay-route-advertisements>
# <nc:graceful-restart><nc:forwarding-state-bit>from-fib</nc:forwarding-state-bit>
# </nc:graceful-restart></nc:any></nc:inet></nc:family></nc:bgp></nc:protocols>"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The resulting configuration model invocation. Returned: when changed Sample: “The configuration returned will always be in the same format\n of the parameters above.\n” |
|
The configuration prior to the model invocation. Returned: always Sample: “The configuration returned will always be in the same format\n of the parameters above.\n” |
|
The set of commands pushed to the remote device. Returned: always Sample: [“\u003cnc:protocols xmlns:nc=\”urn:ietf:params:xml:ns:netconf:base:1.0\”\u003e \u003cnc:bgp\u003e\u003cnc:family\u003e\u003cnc:evpn\u003e\u003cnc:signaling\u003e\u003cnc:accepted-prefix-limit\u003e \u003cnc:maximum\u003e21\u003c/nc:maximum\u003e\u003cnc:teardown\u003e\u003cnc:limit-threshold\u003e99\u003c/nc:limit-threshold\u003e \u003cnc:idle-timeout\u003e\u003cnc:timeout\u003e2002\u003c/nc:timeout\u003e\u003c/nc:idle-timeout\u003e \u003c/nc:teardown\u003e\u003c/nc:accepted-prefix-limit\u003e\u003cnc:damping/\u003e \u003cnc:delay-route-advertisements\u003e\u003cnc:maximum-delay\u003e \u003cnc:route-age\u003e20\u003c/nc:route-age\u003e\u003cnc:routing-uptime\u003e32000\u003c/nc:routing-uptime\u003e \u003c/nc:maximum-delay\u003e\u003cnc:minimum-delay\u003e\u003cnc:inbound-convergence\u003e32000\u003c/nc:inbound-convergence\u003e \u003cnc:routing-uptime\u003e23000\u003c/nc:routing-uptime\u003e\u003c/nc:minimum-delay\u003e\u003c/nc:delay-route-advertisements\u003e \u003c/nc:signaling\u003e\u003c/nc:evpn\u003e\u003c/nc:family\u003e\u003c/nc:bgp\u003e\u003c/nc:protocols\u003e”, “xml 2”, “xml 3”] |
Authors
Rohit Thakur (@rohitthakur2590)