Note
This plugin is part of the cisco.iosxr collection (version 2.5.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cisco.iosxr
.
To use it in a playbook, specify: cisco.iosxr.iosxr_bgp_address_family
.
New in version 2.0.0: of cisco.iosxr
Note
This module has a corresponding action plugin.
Parameter | Choices/Defaults | Comments | ||||||
---|---|---|---|---|---|---|---|---|
config dictionary | A list of configurations for BGP address family. | |||||||
address_family list / elements=dictionary | Enable address family and enter its config mode | |||||||
additional_paths string |
| BGP additional-paths commands | ||||||
advertise_best_external boolean |
| Advertise best-external path. | ||||||
afi string |
| address family. | ||||||
aggregate_address list / elements=dictionary | Configure BGP aggregate entries. | |||||||
as_confed_set boolean |
| Generate AS confed set path information. | ||||||
as_set boolean |
| Generate AS set path information. | ||||||
route_policy string | Policy to condition advertisement, suppression, and attributes. | |||||||
summary_only boolean |
| Filter more specific routes from updates. | ||||||
value string | IPv4 Aggregate address and mask or masklength. | |||||||
allocate_label dictionary | Allocate labels. | |||||||
all boolean |
| Allocate labels for all prefixes. | ||||||
route_policy string | Use a route policy to select prefixes for label allocation. | |||||||
allow_vpn_default_originate boolean |
| Allow sending default originate route to VPN neighbor. | ||||||
as_path_loopcheck_out_disable boolean |
| Configure AS Path loop checking for outbound updates. | ||||||
bgp dictionary | BGP Commands. | |||||||
attribute_download boolean |
| Configure attribute download for this address-family. | ||||||
bestpath dictionary | Change default route selection criteria. | |||||||
origin_as dictionary | BGP origin-AS knobs. | |||||||
allow dictionary | BGP origin-AS knobs. | |||||||
invalid boolean |
| BGP bestpath selection will allow 'invalid' origin-AS | ||||||
use dictionary | BGP origin-AS knobs. | |||||||
validity boolean |
| BGP bestpath selection will use origin-AS validity | ||||||
client_to_client dictionary | Configure client to client route reflection. | |||||||
reflection dictionary | disable client to client reflection of cluster id. | |||||||
cluster_id_disable dictionary | ID of Cluster for which reflection is to be disabled. | |||||||
cluster_id string | ID of Cluster for which reflection is to be disabled. | |||||||
disable boolean |
| disable cluster id. | ||||||
disable boolean |
| disable reflection. | ||||||
dampening dictionary | Enable route-flap dampening | |||||||
route_policy string | Route policy to specify criteria for dampening. | |||||||
set boolean |
| Enable dampening. | ||||||
value integer | Half-life time for the penalty | |||||||
import_delay dictionary | Specify delay for batching import processing. | |||||||
delay_ms_parts integer | milliseconds part <0-999>. | |||||||
delay_second_parts integer | Delay, seconds part <0-10>. | |||||||
label_delay dictionary | Specify delay for batching label processing | |||||||
delay_ms_parts integer | milliseconds part <0-999>. | |||||||
delay_second_parts integer | Delay, seconds part <0-10>. | |||||||
origin_as dictionary | BGP origin-AS knobs. | |||||||
validation dictionary | BGP origin-AS validation knobs. | |||||||
disable boolean |
| Disable RPKI origin-AS validation. | ||||||
signal dictionary | Signal origin-AS validity towards peers. | |||||||
ibgp boolean |
| Signal origin-AS validity towards iBGP peers | ||||||
scan_time integer | Configure background scanner interval for this address-family Example- <5-3600>. | |||||||
default_martian_check_disable boolean |
| Martian check default | ||||||
distance dictionary | Define an administrative distance. | |||||||
local_routes integer | Distance for local routes <1-255>. | |||||||
routes_external_to_as integer | Distance for routes external to the AS <1-255>. | |||||||
routes_internal_to_as integer | Distance for routes internal to the AS <1-255>. | |||||||
dynamic_med integer | Dynamic MED Interval. | |||||||
global_table_multicast boolean |
| Enable global table multicast. | ||||||
inter_as_install boolean |
| Install remote mvpn routes in default vrf.This is applicable for mvpn afi. | ||||||
label_mode dictionary | label configuration. | |||||||
per_ce boolean |
| Set per CE label mode | ||||||
per_prefix boolean |
| Set per perfix label mode. | ||||||
per_vrf boolean |
| Set per VRF label mode. | ||||||
route_policy string | Use a route policy to select prefixes for label allocation mode. | |||||||
maximum_paths dictionary | Forward packets over multiple paths. | |||||||
ebgp dictionary | ebgp-multipath. | |||||||
max_path_value integer | <2-64> Number of paths (limit includes backup path). | |||||||
order_igp_metric boolean |
| Order candidate multipaths for selection as per configured number(cisco-support). | ||||||
selective_order_igp_metric boolean |
| Allow multipaths only from marked neighbors | ||||||
eibgp dictionary | eiBGP-multipath. | |||||||
max_path_value integer | <2-64> Number of paths (limit includes backup path). | |||||||
order_igp_metric boolean |
| Order candidate multipaths for selection as per configured number(cisco-support). | ||||||
selective_order_igp_metric boolean |
| Allow multipaths only from marked neighbors | ||||||
ibgp dictionary | iBGP-multipath. | |||||||
max_path_value integer | <2-64> Number of paths (limit includes backup path). | |||||||
order_igp_metric boolean |
| Order candidate multipaths for selection as per configured number(cisco-support). | ||||||
selective_order_igp_metric boolean |
| Allow multipaths only from marked neighbors | ||||||
unequal_cost dictionary | Allow multipaths to have different BGP nexthop IGP metrics. | |||||||
order_igp_metric boolean |
| Order candidate multipaths for selection as per configured number(cisco-support). | ||||||
selective_order_igp_metric boolean |
| Allow multipaths only from marked neighbors | ||||||
set boolean |
| set unequal_cost. | ||||||
mvpn_single_forwarder_selection_all boolean |
| Enable single forwarder selection for all | ||||||
mvpn_single_forwarder_selection_highest_ip_address boolean |
| Enable single forwarder selection for PE with highest ip address. | ||||||
networks list / elements=dictionary | Specify a network to announce via BGP. | |||||||
backdoor_route_policy string | Specify a BGP backdoor route. | |||||||
network string | Specify a network to announce via BGP. | |||||||
route_policy string | Route-policy to modify the attributes. | |||||||
nexthop dictionary | Nexthop | |||||||
resolution_prefix_length_minimum integer |
| Set minimum prefix-length for nexthop resolution. | ||||||
route_policy string | Policy to filter out nexthop notification. | |||||||
trigger_delay_critical integer | For critical notification | |||||||
trigger_delay_non_critical integer | For non critical notification. | |||||||
optimal_route_reflection dictionary | Configure optimal-route-reflection group. | |||||||
group_name string | ORR group name - maximum 32 characters. | |||||||
primary_address string | IPv4 primary address. | |||||||
secondary_address string | IPv4 secondary address | |||||||
permanent_network_route_policy string | Name of the policy. | |||||||
redistribute list / elements=dictionary | Redistribute information from another routing protocol. | |||||||
external boolean |
| Redistribute EIGRP external routes.applicable for eigrp. | ||||||
external_ospf integer |
| Redistribute OSPF external routes.applicable for ospf. | ||||||
id string | Identifier for the routing protocol for configuring redistribute information. Example-application name, eigrp/is-is instance name, ospf tag Valid for protocols 'ospf', 'eigrp', 'isis' and 'application'. | |||||||
internal boolean |
| Redistribute EIGRP internal routes.applicable for eigrp. | ||||||
level string |
| Redistribute routes from the specified ISIS levels. Redistribute ISIS level 1 routes Redistribute ISIS level 1 inter-area routes Redistribute ISIS level 2 ISIS routes | ||||||
metric integer | Specifies the metric for redistributed routes. | |||||||
nssa_external boolean |
| Redistribute OSPF NSSA external routes.applicable for ospf. | ||||||
protocol string / required |
| Specifies the protocol for configuring redistribute information. | ||||||
route_policy string | Specifies the route policy reference. | |||||||
retain_local_label integer | Label retention time in minutes <3-60>. | |||||||
route_target_download boolean |
| Route target RIB installation. | ||||||
safi string |
| Address Family modifier | ||||||
segmented_multicast boolean |
| Enable segmented multicast.This is applicable for mvpn afi. | ||||||
table_policy string | Configure policy for installation of routes to RIB. | |||||||
update dictionary | BGP Update generation configuration. | |||||||
limit dictionary | Update limit. | |||||||
address_family integer | Update limit for sub-groups. | |||||||
sub_group dictionary | Update limit for address-family. | |||||||
ebgp integer | Update limit for eBGP sub-groups<1-512. | |||||||
ibgp integer | Update limit for iBGP sub-groups<1-512. | |||||||
wait_install boolean |
| Wait for route install. | ||||||
vrf string | VRF name. | |||||||
vrf_all_conf dictionary | configuration is for all vrfs and its applicable for afi vpn6 and modifier unicast. | |||||||
label_mode dictionary | Label-related configuration. | |||||||
per_ce boolean |
| Set per CE label mode | ||||||
per_vrf boolean |
| Set per VRF label mode. | ||||||
route_policy string | Use a route policy to select prefixes for label allocation mode. | |||||||
source_rt_import_policy boolean |
| Source import route-targets from import-policy. | ||||||
table_policy string | Configure policy for installation of routes to RIB. | |||||||
weight dictionary | Define or modify weight. | |||||||
reset_on_import boolean |
| set reset_on_import. | ||||||
reset_on_import_disable boolean |
| disable reset_on_import. | ||||||
as_number string | Autonomous system number. | |||||||
running_config string | This option is used only with state parsed. The value of this option should be the output received from the Iosxr device by executing the command show running-config 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. |
Note
network_cli
.# Using merged # Before state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.2.1 # address-family vpnv4 unicast # vrf vrf1 # rd auto - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_bgp_address_family: state: merged config: as_number: "65536" address_family: - afi: "ipv4" safi: "unicast" vrf: vrf1 dynamic_med: 9 redistribute: - protocol: connected metric: 10 - afi: "ipv4" safi: "unicast" dynamic_med: 10 redistribute: - protocol: application id: test1 metric: 10 bgp: scan_time: 20 attribute_download: true advertise_best_external: true allocate_label: all: true # Task output # ------------- # commands: # - router bgp 65536 # - address-family ipv4 unicast # - advertise best-external # - allocate-label all # - bgp attribute-download # - bgp scan-time 20 # - dynamic-med interval 10 # - redistribute application test1 metric 10 # - vrf vrf1 # - address-family ipv4 unicast # - dynamic-med interval 9 # - redistribute connected metric 10 # # # after: # as_number: "65536" # address_family: # - afi: "ipv4" # safi: "unicast" # vrf: vrf1 # dynamic_med: 9 # redistribute: # - protocol: connected # metric: 10 # - afi: "ipv4" # safi: "unicast" # dynamic_med: 10 # redistribute: # - protocol: application # id: "test1" # metric: 10 # bgp: # scan_time: 20 # attribute_download: true # advertise_best_external: true # allocate_label: # all: true # # After state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast # advertise best-external # allocate-label all # bgp attribute-download # bgp scan-time 20 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 9 # redistribute connected metric 10 # # Using replaced # Before state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast # advertise best-external # allocate-label all # bgp attribute-download # bgp scan-time 20 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 9 # redistribute connected metric 10 # # - name: Replace the provided configuration with the existing running configuration cisco.iosxr.iosxr_bgp_address_family: state: replaced config: as_number: "65536" address_family: - afi: "ipv4" safi: "unicast" vrf: vrf1 dynamic_med: 10 # Task output # ------------- # commands: # - router bgp 65536 # - vrf vrf1 # - address-family ipv4 unicast # - dynamic-med interval 10 # - no redistribute connected metric 10 # # after: # as_number: "65536" # address_family: # - afi: "ipv4" # safi: "unicast" # vrf: vrf1 # dynamic_med: 10 # - afi: "ipv4" # safi: "unicast" # dynamic_med: 10 # redistribute: # - protocol: application # id: "test1" # metric: 10 # bgp: # scan_time: 20 # attribute_download: true # advertise_best_external: true # allocate_label: # all: true # After state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast # advertise best-external # allocate-label all # bgp attribute-download # bgp scan-time 20 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 10 # # # Using overridden # Before state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast # advertise best-external # allocate-label all # bgp attribute-download # bgp scan-time 20 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 9 # redistribute connected metric 10 # # - name: Override the provided configuration with the existing running configuration cisco.iosxr.iosxr_bgp_address_family: state: overridden config: as_number: "65536" address_family: - afi: "ipv4" safi: "unicast" vrf: vrf1 dynamic_med: 10 # Task output # ------------- # commands: # - router bgp 65536 # - no address-family ipv4 unicast # - vrf vrf1 # - address-family ipv4 unicast # - dynamic-med interval 10 # - no redistribute connected metric 10 # # # after: # as_number: "65536" # address_family: # - afi: "ipv4" # safi: "unicast" # vrf: vrf1 # dynamic_med: 10 # # After state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 10 # # # Using deleted # Before state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast # advertise best-external # allocate-label all # bgp attribute-download # bgp scan-time 20 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 9 # redistribute connected metric 10 # # - name: Delete the provided configuration cisco.iosxr.iosxr_bgp_address_family: state: deleted config: # Task output # ------------- # commands: # - router bgp 65536 # - no address-family ipv4 unicast # - vrf vrf1 # - no address-family ipv4 unicast # # # after: # as_number: "65536" # # # After state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp # Sat Feb 20 03:49:43.618 UTC # router bgp 65536 # bgp router-id 192.0.1.1 # address-family vpnv4 unicast # vrf vrf1 # rd auto # # Using rendered # ------------- # - name: rendered state example cisco.iosxr.iosxr_bgp_address_family: state: rendered config: as_number: "65536" address_family: - afi: "ipv4" safi: "unicast" vrf: vrf1 dynamic_med: 9 redistribute: - protocol: connected metric: 10 - afi: "ipv4" safi: "unicast" dynamic_med: 10 redistribute: - protocol: application id: test1 metric: 10 bgp: scan_time: 20 attribute_download: true advertise_best_external: true allocate_label: all: true # Task output # ------------- # commands: # - router bgp 65536 # - address-family ipv4 unicast # - advertise best-external # - allocate-label all # - bgp attribute-download # - bgp scan-time 20 # - dynamic-med interval 10 # - redistribute application test1 metric 10 # - vrf vrf1 # - address-family ipv4 unicast # - dynamic-med interval 9 # - redistribute connected metric 10 # # Using gathered # ------------- - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_bgp_address_family: state: gathered config: as_number: "65536" address_family: - afi: "ipv4" safi: "unicast" vrf: vrf1 dynamic_med: 9 redistribute: - protocol: connected metric: 10 - afi: "ipv4" safi: "unicast" dynamic_med: 10 redistribute: - protocol: application id: test1 metric: 10 bgp: scan_time: 20 attribute_download: true advertise_best_external: true allocate_label: all: true # gathered: # as_number: "65536" # address_family: # - afi: "ipv4" # safi: "unicast" # vrf: vrf1 # dynamic_med: 9 # redistribute: # - protocol: connected # metric: 10 # - afi: "ipv4" # safi: "unicast" # dynamic_med: 10 # redistribute: # - protocol: application # id: "test1" # metric: 10 # bgp: # scan_time: 20 # attribute_download: true # advertise_best_external: true # allocate_label: # all: true # # Using parsed # #parsed.cfg #------------ # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast # advertise best-external # allocate-label all # bgp attribute-download # bgp scan-time 20 # address-family vpnv4 unicast # vrf vrf1 # rd auto # address-family ipv4 unicast # dynamic-med interval 9 # redistribute connected metric 10 # - name: Parse externally provided BGP neighbor AF config cisco.iosxr.iosxr_bgp_address_family: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed # Task output (redacted) # ----------------------- # parsed: # as_number: "65536" # address_family: # - afi: "ipv4" # safi: "unicast" # vrf: vrf1 # dynamic_med: 9 # redistribute: # - protocol: connected # metric: 10 # - afi: "ipv4" # safi: "unicast" # dynamic_med: 10 # redistribute: # - protocol: application # id: "test1" # metric: 10 # bgp: # scan_time: 20 # attribute_download: true # advertise_best_external: true # allocate_label: # all: true
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/iosxr/iosxr_bgp_address_family_module.html