cisco.iosxr.iosxr_bgp_address_family 模块 – 用于配置 BGP 地址族的资源模块。

注意

此模块是 cisco.iosxr 集合(版本 10.2.2)的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.iosxr

要在 playbook 中使用它,请指定:cisco.iosxr.iosxr_bgp_address_family

cisco.iosxr 2.0.0 中的新增功能

概要

  • 此模块配置和管理 Cisco IOS-XR 平台上 BGP 地址族的属性。

参数

参数

注释

config

字典

BGP 地址族的配置列表。

address_family

列表 / 元素=字典

启用地址族并进入其配置模式

additional_paths

字符串

BGP additional-paths 命令

选择

  • "send"

  • "receive"

advertise_best_external

布尔值

通告最佳外部路径。

选择

  • false

  • true

afi

字符串

地址族。

选择

  • "ipv4"

  • "ipv6"

  • "l2vpn"

  • "link-state"

  • "vpnv4"

  • "vpnv6"

aggregate_address

列表 / 元素=字典

配置 BGP 聚合条目。

as_confed_set

布尔值

生成 AS confed set 路径信息。

选择

  • false

  • true

as_set

布尔值

生成 AS set 路径信息。

选择

  • false

  • true

route_policy

字符串

用于条件通告、抑制和属性的策略。

summary_only

布尔值

从更新中筛选出更具体的路由。

选择

  • false

  • true

value

字符串

IPv4 聚合地址和掩码或掩码长度。

allocate_label

字典

分配标签。

all

布尔值

为所有前缀分配标签。

选择

  • false

  • true

route_policy

字符串

使用路由策略选择用于标签分配的前缀。

allow_vpn_default_originate

布尔值

允许向 VPN 邻居发送默认始发路由。

选择

  • false

  • true

as_path_loopcheck_out_disable

布尔值

配置出站更新的 AS 路径环路检查。

选择

  • false

  • true

bgp

字典

BGP 命令。

attribute_download

布尔值

为此地址族配置属性下载。

选择

  • false

  • true

bestpath

字典

更改默认路由选择标准。

origin_as

字典

BGP origin-AS 旋钮。

allow

字典

BGP origin-AS 旋钮。

invalid

布尔值

BGP 最佳路径选择将允许“无效”的 origin-AS

选择

  • false

  • true

use

字典

BGP origin-AS 旋钮。

validity

布尔值

BGP 最佳路径选择将使用 origin-AS 有效性

选择

  • false

  • true

client_to_client

字典

配置客户端到客户端的路由反射。

reflection

字典

禁用群集 ID 的客户端到客户端反射。

cluster_id_disable

字典

要禁用反射的群集 ID。

cluster_id

字符串

要禁用反射的群集 ID。

disable

布尔值

禁用群集 ID。

选择

  • false

  • true

disable

布尔值

禁用反射。

选择

  • false

  • true

dampening

字典

启用路由抖动抑制

route_policy

字符串

指定抑制标准的路由策略。

set

布尔值

启用抑制。

选择

  • false

  • true

value

整数

惩罚的半衰期

import_delay

字典

指定批量导入处理的延迟。

delay_ms_parts

整数

毫秒部分 <0-999>。

delay_second_parts

整数

延迟,秒部分 <0-10>。

label_delay

字典

指定批量标签处理的延迟

delay_ms_parts

整数

毫秒部分 <0-999>。

delay_second_parts

整数

延迟,秒部分 <0-10>。

origin_as

字典

BGP origin-AS 旋钮。

validation

字典

BGP origin-AS 验证旋钮。

disable

布尔值

禁用 RPKI origin-AS 验证。

选择

  • false

  • true

signal

字典

向对等方发出 origin-AS 有效性信号。

ibgp

布尔值

向 iBGP 对等方发出 origin-AS 有效性信号

选择

  • false

  • true

scan_time

整数

为此地址族配置后台扫描器间隔。示例 - <5-3600>。

default_martian_check_disable

布尔值

默认的火星人检查

选择

  • false

  • true

distance

字典

定义管理距离。

local_routes

整数

本地路由的距离 <1-255>。

routes_external_to_as

整数

AS 外部路由的距离 <1-255>。

routes_internal_to_as

整数

AS 内部路由的距离 <1-255>。

dynamic_med

整数

动态 MED 间隔。

global_table_multicast

布尔值

启用全局表组播。

选择

  • false

  • true

inter_as_install

布尔值

在默认 VRF 中安装远程 mvpn 路由。这适用于 mvpn afi。

选择

  • false

  • true

label_mode

字典

标签配置。

per_ce

布尔值

设置每个 CE 标签模式

选择

  • false

  • true

per_prefix

布尔值

设置每个前缀标签模式。

选择

  • false

  • true

per_vrf

布尔值

设置每个 VRF 标签模式。

选择

  • false

  • true

route_policy

字符串

使用路由策略选择用于标签分配模式的前缀。

maximum_paths

字典

通过多条路径转发数据包。

ebgp

字典

ebgp 多路径。

max_path_value

整数

<2-64> 路径数(限制包括备份路径)。

order_igp_metric

布尔值

按照配置的数字(cisco 支持)选择候选多路径。

选择

  • false

  • true

selective_order_igp_metric

布尔值

仅允许来自标记邻居的多路径

选择

  • false

  • true

eibgp

字典

eiBGP 多路径。

max_path_value

整数

<2-64> 路径数(限制包括备份路径)。

order_igp_metric

布尔值

按照配置的数字(cisco 支持)选择候选多路径。

选择

  • false

  • true

selective_order_igp_metric

布尔值

仅允许来自标记邻居的多路径

选择

  • false

  • true

ibgp

字典

iBGP 多路径。

max_path_value

整数

<2-64> 路径数(限制包括备份路径)。

order_igp_metric

布尔值

按照配置的数字(cisco 支持)选择候选多路径。

选择

  • false

  • true

selective_order_igp_metric

布尔值

仅允许来自标记邻居的多路径

选择

  • false

  • true

unequal_cost

字典

允许具有不同 BGP 下一跳 IGP 度量的多路径。

order_igp_metric

布尔值

按照配置的数字(cisco 支持)选择候选多路径。

选择

  • false

  • true

selective_order_igp_metric

布尔值

仅允许来自标记邻居的多路径

选择

  • false

  • true

set

布尔值

设置 unequal_cost。

选择

  • false

  • true

mvpn_single_forwarder_selection_all

布尔值

为所有启用单个转发器选择

选择

  • false

  • true

mvpn_single_forwarder_selection_highest_ip_address

布尔值

为具有最高 IP 地址的 PE 启用单个转发器选择。

选择

  • false

  • true

networks

列表 / 元素=字典

指定要通过 BGP 通告的网络。

backdoor_route_policy

字符串

指定 BGP 后门路由。

network

字符串

指定要通过 BGP 通告的网络。

route_policy

字符串

修改属性的路由策略。

nexthop

字典

下一跳

resolution_prefix_length_minimum

整数

设置下一跳解析的最小前缀长度。

选择

  • 0

  • 32

route_policy

字符串

用于筛选出下一跳通知的策略。

trigger_delay_critical

整数

对于关键通知

trigger_delay_non_critical

整数

对于非关键通知。

optimal_route_reflection

字典

配置最佳路由反射组。

group_name

字符串

ORR 组名称 - 最多 32 个字符。

primary_address

字符串

IPv4 主地址。

secondary_address

字符串

IPv4 辅助地址

permanent_network_route_policy

字符串

策略的名称。

redistribute

列表 / 元素=字典

从另一个路由协议重新分发信息。

external

布尔值

重新分发 EIGRP 外部路由。适用于 eigrp。

选择

  • false

  • true

external_ospf

整数

重新分发 OSPF 外部路由。适用于 ospf。

选择

  • 1

  • 2

id

字符串

用于配置重新分发信息的路由协议的标识符。示例 - 应用程序名称、eigrp/is-is 实例名称、ospf 标记

适用于协议 ‘ospf’、‘eigrp’、‘isis’ 和 ‘application’。

内部

布尔值

重新分发 EIGRP 内部路由。适用于 eigrp。

选择

  • false

  • true

级别

字符串

重新分发来自指定 ISIS 级别的路由。

重新分发 ISIS 1 级路由

重新分发 ISIS 1 级区域间路由

重新分发 ISIS 2 级路由

选择

  • "1"

  • "2"

  • “1-区域间”

度量值

整数

指定重新分发路由的度量值。

nssa_external

布尔值

重新分发 OSPF NSSA 外部路由。适用于 ospf。

选择

  • false

  • true

协议

字符串 / 必需

指定用于配置重新分发信息的协议。

选择

  • “ospf”

  • “application”

  • “eigrp”

  • “isis”

  • “static”

  • “connected”

  • “lisp”

  • “mobile”

  • “rip”

  • “subscriber”

route_policy

字符串

指定路由策略引用。

retain_local_label

整数

标签保留时间,以分钟为单位 <3-60>。

route_target_download

布尔值

路由目标 RIB 安装。

选择

  • false

  • true

safi

字符串

地址族修饰符

选择

  • “flowspec”

  • “mdt”

  • “multicast”

  • “mvpn”

  • “rt-filter”

  • “tunnel”

  • “unicast”

  • “evpn”

  • “mspw”

  • “vpls-vpws”

  • "link-state"

segmented_multicast

布尔值

启用分段组播。这适用于 mvpn afi。

选择

  • false

  • true

table_policy

字符串

配置将路由安装到 RIB 的策略。

更新

字典

BGP 更新生成配置。

limit

字典

更新限制。

address_family

整数

子组的更新限制。

sub_group

字典

地址族的更新限制。

ebgp

整数

eBGP 子组的更新限制 <1-512>。

ibgp

整数

iBGP 子组的更新限制 <1-512>。

wait_install

布尔值

等待路由安装。

选择

  • false

  • true

vrf

字符串

VRF 名称。

vrf_all_conf

字典

配置适用于所有 VRF,并且适用于 afi vpn6 和修饰符 unicast。

label_mode

字典

标签相关配置。

per_ce

布尔值

设置每个 CE 标签模式

选择

  • false

  • true

per_vrf

布尔值

设置每个 VRF 标签模式。

选择

  • false

  • true

route_policy

字符串

使用路由策略选择用于标签分配模式的前缀。

source_rt_import_policy

布尔值

从导入策略导入源路由目标。

选择

  • false

  • true

table_policy

字符串

配置将路由安装到 RIB 的策略。

weight

字典

定义或修改权重。

reset_on_import

布尔值

设置 reset_on_import。

选择

  • false

  • true

reset_on_import_disable

布尔值

禁用 reset_on_import。

选择

  • false

  • true

as_number

字符串

自治系统编号。

running_config

字符串

此选项仅在状态为 *parsed* 时使用。

此选项的值应该是通过执行命令 show running-config router bgp 从 Iosxr 设备收到的输出。

状态 *parsed* 从 running_config 选项读取配置,并根据资源模块的参数规范将其转换为 Ansible 结构化数据,然后该值将在结果中的 *parsed* 键中返回。

状态

字符串

配置应保留的状态。

选择

  • “已删除”

  • "merged" ← (默认)

  • “已覆盖”

  • “已替换”

  • “已收集”

  • “已呈现”

  • “已解析”

注意

注意

  • 此模块与连接 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: Gather 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

作者

  • Ashwini Mhatre (@amhatre)