arista.eos.eos_bgp_global 模块 – 管理 BGP 全局资源模块

注意

此模块是 arista.eos 集合 (版本 10.0.1) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install arista.eos

要在 playbook 中使用它,请指定: arista.eos.eos_bgp_global

arista.eos 1.4.0 中的新增功能

概要

  • 此模块配置和管理 Arista EOS 平台上 BGP 全局属性。

参数

参数

注释

config

字典

BGP 全局配置列表。

access_group

列表 / 元素=字典

IP/IPv6 访问列表配置。

acl_name

字符串

访问列表名称。

afi

字符串

指定 ip/ipv6。

选项

  • "ipv4"

  • "ipv6"

direction

字符串

数据包方向。

aggregate_address

列表 / 元素=字典

配置聚合地址。

address

字符串

IPv4/IPv6 地址前缀。

advertise_only

布尔值

仅通告,不安装 FIB 中生成的空洞路由。

选项

  • false

  • true

as_set

布尔值

生成自治系统集合路径信息。

选项

  • false

  • true

attribute_map

字符串

用于设置聚合路由属性的路由映射名称。

match_map

字符串

用于过滤聚合路由贡献者的路由映射名称。

summary_only

布尔值

从更新中过滤所有更具体的路由。

选项

  • false

  • true

as_number

字符串

自治系统编号。

bgp_params

字典

BGP 参数。

additional_paths

字符串

BGP additional-paths 命令

选项

  • "install"

  • "send"

  • "receive"

advertise_inactive

布尔值

即使路由在 RIB 中处于非活动状态,也通告 BGP 路由。

选项

  • false

  • true

allowas_in

字典

允许在更新中使用本地 AS。

count

整数

BGP 更新中允许的本地 ASN 数量。

set

布尔值

为真时,则设置。

选项

  • false

  • true

always_compare_med

布尔值

BGP 始终比较 MED

选项

  • false

  • true

asn

字符串

AS 号记法。

选项

  • "asdot"

  • "asplain"

auto_local_addr

布尔值

自动确定用于非传输 AF 的本地地址。

选项

  • false

  • true

bestpath

字典

选择 BGP 路由的最佳路径选择算法。

as_path

字符串

基于 as-path 选择最佳路径。

选项

  • "ignore"

  • "multipath_relax"

ecmp_fast

布尔值

基于到达顺序来打破 ECMP 组中 BGP 路径的平局。

选项

  • false

  • true

med

字典

MED 属性

confed

布尔值

MED 联盟。

选项

  • false

  • true

missing_as_worst

布尔值

MED missing-as-worst。

选项

  • false

  • true

skip

布尔值

跳过最佳路径选择中的一个平局打破规则。

选项

  • false

  • true

tie_break

字符串

配置 BGP 最佳路径选择的平局打破选项。

选项

  • "cluster_list_length"

  • "router_id"

client_to_client

布尔值

客户端到客户端配置。

选项

  • false

  • true

cluster_id

字符串

充当路由反射器的此路由器的集群 ID。

confederation

字典

联盟。

identifier

字符串

联盟标识符。

peers

字符串

联盟对等体。

control_plane_filter

布尔值

BGP 的控制平面过滤器。

选项

  • false

  • true

convergence

字典

BGP 收敛参数。

slow_peer

布尔值

等待慢速对等体建立会话的最长时间。

选项

  • false

  • true

time

整数

以秒为单位的时间

default

字符串

默认邻居配置命令。

选项

  • "ipv4_unicast"

  • "ipv6_unicast"

enforce_first_as

布尔值

对 EBGP 路由强制执行第一个 AS(默认值)。

选项

  • false

  • true

host_routes

布尔值

BGP 主机路由配置。

选项

  • false

  • true

labeled_unicast

字符串

标记单播。

选项

  • "ip"

  • "tunnel"

listen

字典

BGP 侦听。

limit

整数

设置允许的动态 BGP 对等体数量的限制。

range

字典

要与对等组关联的子网范围。

address

字符串

地址前缀

peer_group

字典

对等组名称。

name

字符串

名称。

peer_filter

字符串

对等过滤器名称。

remote_as

字符串

邻居 AS 号

log_neighbor_changes

布尔值

记录邻居启动/关闭事件。

选项

  • false

  • true

missing_policy

字典

缺少策略覆盖配置命令。

action

字符串

缺少策略操作选项。

选项

  • "deny"

  • "permit"

  • "deny-in-out"

direction

字符串

缺少策略方向选项。

选项

  • "in"

  • "out"

monitoring

布尔值

为所有/指定的站点启用 BGP 监控。

选项

  • false

  • true

next_hop_unchanged

布尔值

在向 eBGP 对等体通告路由时保留原始 nexthop。

选项

  • false

  • true

redistribute_internal

布尔值

重新分发内部 BGP 路由。

选项

  • false

  • true

route

字符串

配置用于路由安装的路由映射。

route_reflector

字典

配置路由反射器选项

preserve

布尔值

保留路由属性,覆盖路由映射更改

选项

  • false

  • true

set

布尔值

为真时,设置 route_reflector。

选项

  • false

  • true

transport

整数

配置 TCP 会话的传输端口

default_metric

整数

默认度量。

distance

字典

定义管理距离。

external

整数

外部路由的距离。

internal

整数

内部路由的距离。

local

整数

本地路由的距离。

graceful_restart

字典

启用优雅重启模式。

restart_time

整数

设置重启并恢复所需的最长时间。

set

布尔值

为真时,设置优雅重启。

选项

  • false

  • true

stalepath_time

整数

设置保留重启对等体陈旧路径的最长时间。

graceful_restart_helper

布尔值

启用优雅重启辅助模式。

选项

  • false

  • true

maximum_paths

字典

等成本路径的最大数量。

max_equal_cost_paths

整数

等成本路径最大数量的值。

max_installed_ecmp_paths

整数

已安装 ECMP 路由最大数量的值。

monitoring

字典

BGP 监控协议配置。

port

整数

配置 BGP 监控协议端口号 <1024-65535>。

received

字符串

BGP 监控协议接收路由选择。

选项

  • "post_policy"

  • "pre_policy"

station

字符串

BGP 监控站点配置。

timestamp

字符串

BGP 监控协议每个对等体报头时间戳行为。

选项

  • "none"

  • "send_time"

neighbor

别名:neighbors

列表 / 元素=字典

配置网络路由。

additional_paths

字符串

BGP additional-paths 命令。

选项

  • "send"

  • "receive"

allowas_in

字典

允许在更新中使用本地 AS。

count

整数

BGP 更新中允许的本地 ASN 数量。

设置

布尔值

为真时,则设置。

选项

  • false

  • true

auto_local_addr

布尔值

自动确定用于非传输 AF 的本地地址。

选项

  • false

  • true

bfd

字符串

配置此对等体的BFD故障转移

选项

  • “启用”

  • “c_bit”

default_originate

字典

向此邻居发起默认路由。

always

布尔值

始终向此邻居发起默认路由。

选项

  • false

  • true

route_map

字符串

路由映射引用。

description

字符串

描述邻居的文本。

dont_capability_negotiate

布尔值

不要与该邻居进行能力协商。

选项

  • false

  • true

ebgp_multihop

字典

允许BGP连接到间接连接的外部对等体。

设置

布尔值

如果为真,则不设置ttl。

选项

  • false

  • true

ttl

整数

生存时间,范围为1-255跳。

encryption_password

字典

用于计算MD5哈希的密码。

password

字符串

密码(最多80个字符)。

type

整数

加密类型。

选项

  • 0

  • 7

enforce_first_as

布尔值

对 EBGP 路由强制执行第一个 AS(默认值)。

选项

  • false

  • true

export_localpref

整数

导出到内部对等体时覆盖localpref。

fall_over

布尔值

配置此对等体的BFD协议选项。

选项

  • false

  • true

graceful_restart

布尔值

启用优雅重启模式。

选项

  • false

  • true

graceful_restart_helper

布尔值

启用优雅重启辅助模式。

选项

  • false

  • true

idle_restart_timer

整数

邻居空闲重启计时器。

import_localpref

整数

从外部对等体导入时覆盖localpref。

字典

为发送到此对等体的路由启用链路带宽社区。

布尔值

为来自此对等体的路由启用链路带宽自动生成。

选项

  • false

  • true

字符串

为来自此对等体的路由启用链路带宽默认生成。

布尔值

如果为真,则设置链路带宽

选项

  • false

  • true

整数

延迟出站路由更新。

local_as

字典

配置通告给对等体的本地AS号。

as_number

字符串

AS号。

fallback

布尔值

优先使用路由器AS号而不是本地AS号。

选项

  • false

  • true

local_v6_addr

字符串

邻居的本地IPv6地址,格式为A:B:C:D:E:F:G:H。

maximum_accepted_routes

字典

从该对等体接受的最大路由数。

count

整数

接受的最大路由数(0表示无限制)。

warning_limit

整数

发出警告之前接受的最大路由数。(0表示从不警告)

maximum_received_routes

字典

从该对等体接收的最大路由数。

count

整数

最大路由数(0表示无限制)。

warning_limit

字典

发出警告的最大路由数的百分比。

limit_count

整数

发出警告的路由数。

limit_percent

整数

发出警告的最大路由数的百分比(1-100)。

warning_only

布尔值

如果超过最大路由限制,则仅警告,不重启。

选项

  • false

  • true

metric_out

整数

通告给对等体的MED值。

monitoring

布尔值

为此对等体启用BGP监控协议。

选项

  • false

  • true

neighbor_address

别名:peer

字符串

邻居地址或对等体组。

next_hop_self

布尔值

始终通告此路由器地址作为BGP下一跳。

选项

  • false

  • true

next_hop_unchanged

布尔值

在向 eBGP 对等体通告路由时保留原始 nexthop。

选项

  • false

  • true

next_hop_v6_address

字符串

邻居的IPv6下一跳地址

out_delay

整数

延迟出站路由更新。

peer_group

字符串

对等体组的名称。

prefix_list

字典

前缀列表引用。

direction

字符串

配置入站/出站前缀列表。

选项

  • "in"

  • "out"

name

字符串

前缀列表名称。

remote_as

字符串

邻居自治系统。

remove_private_as

字典

从发送给此对等体的更新中删除私有AS号。

all

布尔值

删除私有AS号。

选项

  • false

  • true

replace_as

布尔值

用本地AS号替换私有AS号。

选项

  • false

  • true

设置

布尔值

如果为真,则设置remove_private_as。

选项

  • false

  • true

route_map

字典

路由映射引用。

direction

字符串

配置入站/出站路由映射。

选项

  • "in"

  • "out"

name

字符串

路由映射名称。

route_reflector_client

布尔值

将对等体配置为路由反射器客户端。

选项

  • false

  • true

route_to_peer

布尔值

使用路由表信息来访问对等体。

选项

  • false

  • true

send_community

字典

将社区属性发送给此邻居。

community_attribute

字符串

要发送给此邻居的社区属性类型。

divide

字符串

链路带宽除法属性。

选项

  • “相等”

  • “比率”

字符串

要发送的累积/聚合属性。

选项

  • “聚合”

  • “除法”

设置

布尔值

启用send-community

选项

  • false

  • true

speed

字符串

以位/秒为单位的参考链路速度

sub_attribute

字符串

要发送给邻居的属性。

选项

  • “扩展”

  • “链路带宽”

  • “标准”

shutdown

布尔值

在管理上关闭此邻居。

选项

  • false

  • true

soft_recognition

字符串

配置如何处理导入失败的路由。

选项

  • “全部”

  • “无”

timers

字典

计时器。

holdtime

整数

保持时间(秒)。

keepalive

整数

保持活动间隔(秒)。

transport

字典

配置TCP会话的传输选项。

connection_mode

字符串

配置TCP会话的连接模式。

remote_port

整数

配置要连接到的BGP对等体TCP端口。

ttl

整数

BGP ttl 安全检查

update_source

字符串

指定对等BGP会话的本地源接口。

weight

整数

要分配的权重。

network

别名:networks

列表 / 元素=字典

配置网络路由。

address

字符串

地址前缀。

route_map

字符串

路由映射名称。

redistribute

列表 / 元素=字典

将路由重新分发到BGP。

isis_level

字符串

适用于ISIS路由。指定ISIS路由级别。

选项

  • "level-1"

  • "level-2"

  • "level-1-2"

ospf_route

字符串

OSPF路由选项。

选项

  • "internal"

  • "external"

  • "nssa_external_1"

  • "nssa_external_2"

protocol

字符串

要重新分发的路由。

选项

  • "isis"

  • "ospfv3"

  • "ospf"

  • "attached-host"

  • "connected"

  • "rip"

  • "static"

route_map

字符串

路由映射引用。

route_target

字典

路由目标。

action

字符串

路由操作。

选项

  • "both"

  • "import"

  • "export"

target

字符串

路由目标。

router_id

字符串

路由器ID。

shutdown

布尔值

如果为true,则关闭BGP。

选项

  • false

  • true

timers

字典

计时器。

holdtime

整数

保持时间(秒)。

keepalive

整数

保持活动间隔(秒)。

ucmp

字典

配置不等代价多路径。

fec

字典

配置UCMP FEC利用率阈值。

clear

整数

清除UCMP FEC利用率阈值。

trigger

整数

UCMP FEC利用率过高阈值。

字典

配置链路带宽传播延迟。

字符串

UCMP链路带宽模式

选项

  • "encoding_weighted"

  • "recursive"

整数

链路带宽通告延迟。

mode

字典

UCMP模式。

nexthops

整数

UCMP下一跳总数的值。

set

布尔值

如果为true,则ucmp模式设置为1。

选项

  • false

  • true

update

字典

配置BGP更新生成。

batch_size

整数

FIB路由确认的批量大小。

wait_for

字符串

收敛或同步前等待选项。

选项

  • "wait_for_convergence"

  • "wait_install"

vlan

整数

配置单VLAN支持的MAC VRF BGP。

vlan_aware_bundle

字符串

配置多VLAN支持的MAC VRF BGP。

vrfs

列表 / 元素=字典

在VRF中配置BGP。

access_group

列表 / 元素=字典

IP/IPv6 访问列表配置。

acl_name

字符串

访问列表名称。

afi

字符串

指定 ip/ipv6。

选项

  • "ipv4"

  • "ipv6"

direction

字符串

数据包方向。

aggregate_address

列表 / 元素=字典

配置聚合地址。

address

字符串

IPv4/IPv6 地址前缀。

advertise_only

布尔值

仅通告,不安装 FIB 中生成的空洞路由。

选项

  • false

  • true

as_set

布尔值

生成自治系统集合路径信息。

选项

  • false

  • true

attribute_map

字符串

用于设置聚合路由属性的路由映射名称。

match_map

字符串

用于过滤聚合路由贡献者的路由映射名称。

summary_only

布尔值

从更新中过滤所有更具体的路由。

选项

  • false

  • true

bgp_params

字典

BGP 参数。

additional_paths

字符串

BGP additional-paths 命令

选项

  • "install"

  • "send"

  • "receive"

advertise_inactive

布尔值

即使路由在 RIB 中处于非活动状态,也通告 BGP 路由。

选项

  • false

  • true

allowas_in

字典

允许在更新中使用本地 AS。

count

整数

BGP 更新中允许的本地 ASN 数量。

set

布尔值

为真时,则设置。

选项

  • false

  • true

always_compare_med

布尔值

BGP 始终比较 MED

选项

  • false

  • true

asn

字符串

AS 号记法。

选项

  • "asdot"

  • "asplain"

auto_local_addr

布尔值

自动确定用于非传输 AF 的本地地址。

选项

  • false

  • true

bestpath

字典

选择 BGP 路由的最佳路径选择算法。

as_path

字符串

基于 as-path 选择最佳路径。

选项

  • "ignore"

  • "multipath_relax"

ecmp_fast

布尔值

基于到达顺序来打破 ECMP 组中 BGP 路径的平局。

选项

  • false

  • true

med

字典

MED 属性

confed

布尔值

MED 联盟。

选项

  • false

  • true

missing_as_worst

布尔值

MED missing-as-worst。

选项

  • false

  • true

skip

布尔值

跳过最佳路径选择中的一个平局打破规则。

选项

  • false

  • true

tie_break

字符串

配置 BGP 最佳路径选择的平局打破选项。

选项

  • "cluster_list_length"

  • "router_id"

client_to_client

布尔值

客户端到客户端配置。

选项

  • false

  • true

cluster_id

字符串

充当路由反射器的此路由器的集群 ID。

confederation

字典

联盟。

identifier

字符串

联盟标识符。

peers

字符串

联盟对等体。

control_plane_filter

布尔值

BGP 的控制平面过滤器。

选项

  • false

  • true

convergence

字典

BGP 收敛参数。

slow_peer

布尔值

等待慢速对等体建立会话的最长时间。

选项

  • false

  • true

time

整数

以秒为单位的时间

default

字符串

默认邻居配置命令。

选项

  • "ipv4_unicast"

  • "ipv6_unicast"

enforce_first_as

布尔值

对 EBGP 路由强制执行第一个 AS(默认值)。

选项

  • false

  • true

host_routes

布尔值

BGP 主机路由配置。

选项

  • false

  • true

labeled_unicast

字符串

标记单播。

选项

  • "ip"

  • "tunnel"

listen

字典

BGP 侦听。

limit

整数

设置允许的动态 BGP 对等体数量的限制。

range

字典

要与对等组关联的子网范围。

address

字符串

地址前缀

peer_group

字典

对等组名称。

name

字符串

名称。

peer_filter

字符串

对等过滤器名称。

remote_as

字符串

邻居 AS 号

log_neighbor_changes

布尔值

记录邻居启动/关闭事件。

选项

  • false

  • true

missing_policy

字典

缺少策略覆盖配置命令。

action

字符串

缺少策略操作选项。

选项

  • "deny"

  • "permit"

  • "deny-in-out"

direction

字符串

缺少策略方向选项。

选项

  • "in"

  • "out"

monitoring

布尔值

为所有/指定的站点启用 BGP 监控。

选项

  • false

  • true

next_hop_unchanged

布尔值

在向 eBGP 对等体通告路由时保留原始 nexthop。

选项

  • false

  • true

redistribute_internal

布尔值

重新分发内部 BGP 路由。

选项

  • false

  • true

route

字符串

配置用于路由安装的路由映射。

route_reflector

字典

配置路由反射器选项

preserve

布尔值

保留路由属性,覆盖路由映射更改

选项

  • false

  • true

set

布尔值

为真时,设置 route_reflector。

选项

  • false

  • true

transport

整数

配置 TCP 会话的传输端口

default_metric

整数

默认度量。

distance

字典

定义管理距离。

external

整数

外部路由的距离。

internal

整数

内部路由的距离。

local

整数

本地路由的距离。

graceful_restart

字典

启用优雅重启模式。

restart_time

整数

设置重启并恢复所需的最长时间。

set

布尔值

为真时,设置优雅重启。

选项

  • false

  • true

stalepath_time

整数

设置保留重启对等体陈旧路径的最长时间。

graceful_restart_helper

布尔值

启用优雅重启辅助模式。

选项

  • false

  • true

maximum_paths

字典

等成本路径的最大数量。

max_equal_cost_paths

整数

等成本路径最大数量的值。

max_installed_ecmp_paths

整数

已安装 ECMP 路由最大数量的值。

neighbor

别名:neighbors

列表 / 元素=字典

配置网络路由。

additional_paths

字符串

BGP additional-paths 命令。

选项

  • "send"

  • "receive"

allowas_in

字典

允许在更新中使用本地 AS。

count

整数

BGP 更新中允许的本地 ASN 数量。

set

布尔值

为真时,则设置。

选项

  • false

  • true

auto_local_addr

布尔值

自动确定用于非传输 AF 的本地地址。

选项

  • false

  • true

bfd

字符串

配置此对等体的BFD故障转移

选项

  • “启用”

  • “c_bit”

default_originate

字典

向此邻居发起默认路由。

always

布尔值

始终向此邻居发起默认路由。

选项

  • false

  • true

route_map

字符串

路由映射引用。

description

字符串

描述邻居的文本。

dont_capability_negotiate

布尔值

不要与该邻居进行能力协商。

选项

  • false

  • true

ebgp_multihop

字典

允许BGP连接到间接连接的外部对等体。

set

布尔值

如果为真,则不设置ttl。

选项

  • false

  • true

ttl

整数

生存时间,范围为1-255跳。

encryption_password

字典

用于计算MD5哈希的密码。

password

字符串

密码(最多80个字符)。

type

整数

加密类型。

选项

  • 0

  • 7

enforce_first_as

布尔值

对 EBGP 路由强制执行第一个 AS(默认值)。

选项

  • false

  • true

export_localpref

整数

导出到内部对等体时覆盖localpref。

fall_over

布尔值

配置此对等体的BFD协议选项。

选项

  • false

  • true

graceful_restart

布尔值

启用优雅重启模式。

选项

  • false

  • true

graceful_restart_helper

布尔值

启用优雅重启辅助模式。

选项

  • false

  • true

idle_restart_timer

整数

邻居空闲重启计时器。

import_localpref

整数

从外部对等体导入时覆盖localpref。

字典

为发送到此对等体的路由启用链路带宽社区。

布尔值

为来自此对等体的路由启用链路带宽自动生成。

选项

  • false

  • true

字符串

为来自此对等体的路由启用链路带宽默认生成。

布尔值

如果为真,则设置链路带宽

选项

  • false

  • true

整数

延迟出站路由更新。

local_as

字典

配置通告给对等体的本地AS号。

as_number

字符串

AS号。

fallback

布尔值

优先使用路由器AS号而不是本地AS号。

选项

  • false

  • true

local_v6_addr

字符串

邻居的本地IPv6地址,格式为A:B:C:D:E:F:G:H。

maximum_accepted_routes

字典

从该对等体接受的最大路由数。

count

整数

接受的最大路由数(0表示无限制)。

warning_limit

整数

发出警告之前接受的最大路由数。(0表示从不警告)

maximum_received_routes

字典

从该对等体接收的最大路由数。

count

整数

最大路由数(0表示无限制)。

warning_limit

字典

发出警告的最大路由数的百分比。

limit_count

整数

发出警告的路由数。

limit_percent

整数

发出警告的最大路由数的百分比(1-100)。

warning_only

布尔值

如果超过最大路由限制,则仅警告,不重启。

选项

  • false

  • true

metric_out

整数

通告给对等体的MED值。

monitoring

布尔值

为此对等体启用BGP监控协议。

选项

  • false

  • true

neighbor_address

别名:peer

字符串

邻居地址或对等体组。

next_hop_self

布尔值

始终通告此路由器地址作为BGP下一跳。

选项

  • false

  • true

next_hop_unchanged

布尔值

在向 eBGP 对等体通告路由时保留原始 nexthop。

选项

  • false

  • true

next_hop_v6_address

字符串

邻居的IPv6下一跳地址

out_delay

整数

延迟出站路由更新。

peer_group

字符串

对等体组的名称。

prefix_list

字典

前缀列表引用。

direction

字符串

配置入站/出站前缀列表。

选项

  • "in"

  • "out"

name

字符串

前缀列表名称。

remote_as

字符串

邻居自治系统。

remove_private_as

字典

从发送给此对等体的更新中删除私有AS号。

all

布尔值

删除私有AS号。

选项

  • false

  • true

replace_as

布尔值

用本地AS号替换私有AS号。

选项

  • false

  • true

set

布尔值

如果为真,则设置remove_private_as。

选项

  • false

  • true

route_map

字典

路由映射引用。

direction

字符串

配置入站/出站路由映射。

选项

  • "in"

  • "out"

name

字符串

路由映射名称。

route_reflector_client

布尔值

将对等体配置为路由反射器客户端。

选项

  • false

  • true

route_to_peer

布尔值

使用路由表信息来访问对等体。

选项

  • false

  • true

send_community

字典

将社区属性发送给此邻居。

community_attribute

字符串

要发送给此邻居的社区属性类型。

divide

字符串

链路带宽除法属性。

选项

  • “相等”

  • “比率”

字符串

要发送的累积/聚合属性。

选项

  • “聚合”

  • “除法”

speed

字符串

以位/秒为单位的参考链路速度

sub_attribute

字符串

要发送给邻居的属性。

选项

  • “扩展”

  • “链路带宽”

  • “标准”

shutdown

布尔值

在管理上关闭此邻居。

选项

  • false

  • true

soft_recognition

字符串

配置如何处理导入失败的路由。

选项

  • “全部”

  • “无”

timers

字典

计时器。

holdtime

整数

保持时间(秒)。

keepalive

整数

保持活动间隔(秒)。

transport

字典

配置TCP会话的传输选项。

connection_mode

字符串

配置TCP会话的连接模式。

remote_port

整数

配置要连接到的BGP对等体TCP端口。

ttl

整数

BGP ttl 安全检查

update_source

字符串

指定对等BGP会话的本地源接口。

weight

整数

要分配的权重。

network

别名:networks

列表 / 元素=字典

配置网络路由。

address

字符串

地址前缀。

route_map

字符串

路由映射名称。

redistribute

列表 / 元素=字典

将路由重新分发到BGP。

isis_level

字符串

适用于ISIS路由。指定ISIS路由级别。

选项

  • "level-1"

  • "level-2"

  • "level-1-2"

ospf_route

字符串

OSPF路由选项。

选项

  • "internal"

  • "external"

  • "nssa_external_1"

  • "nssa_external_2"

protocol

字符串

要重新分发的路由。

选项

  • "isis"

  • "ospfv3"

  • "ospf"

  • "attached-host"

  • "connected"

  • "rip"

  • "static"

route_map

字符串

路由映射引用。

route_target

字典

路由目标。

action

字符串

路由操作。

选项

  • "both"

  • "import"

  • "export"

imported_route

布尔值

导出从相同Afi/Safi导入的路由。

选项

  • false

  • true

route_map

字符串

路由映射名称。

target

字符串

路由目标。

type

字符串

地址族类型

选项

  • "evpn"

  • "vpn-ipv4"

  • "vpn-ipv6"

router_id

字符串

路由器ID。

shutdown

布尔值

如果为true,则关闭BGP。

选项

  • false

  • true

timers

字典

计时器。

holdtime

整数

保持时间(秒)。

keepalive

整数

保持活动间隔(秒)。

ucmp

字典

配置不等代价多路径。

fec

字典

配置UCMP FEC利用率阈值。

clear

整数

清除UCMP FEC利用率阈值。

trigger

整数

UCMP FEC利用率过高阈值。

字典

配置链路带宽传播延迟。

字符串

UCMP链路带宽模式

选项

  • "encoding_weighted"

  • "recursive"

  • "update_delay"

整数

链路带宽通告延迟。

mode

字典

UCMP模式。

nexthops

整数

UCMP下一跳总数的值。

set

布尔值

如果为true,则ucmp模式设置为1。

选项

  • false

  • true

update

字典

配置BGP更新生成。

batch_size

整数

FIB路由确认的批量大小。

wait_for

字符串

收敛或同步前等待选项。

选项

  • "wait_for_convergence"

  • "wait_install"

vrf

字符串

VRF名称。

running_config

字符串

此选项仅与状态parsed一起使用。

此选项的值应为通过执行命令show running-config | section bgp从EOS设备接收到的输出。

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

state

字符串

配置应保留的状态。

状态purged将从目标设备删除所有BGP配置。谨慎使用此状态。(‘no router bgp <x>’)

状态deleted仅删除此模块管理的BGP属性,不会完全否定BGP进程。从而保留BGP上下文下的地址族相关配置。

如果在要删除的vrf上下文中存在地址族配置文件行,则运行状态deletedreplaced将导致错误。请使用arista.eos.eos_bgp_address_family模块进行之前的清理。

有关更多详细信息,请参阅示例。

选项

  • "deleted"

  • "merged" ← (默认)

  • "overridden"

  • "purged"

  • "replaced"

  • "gathered"

  • "rendered"

  • "parsed"

注释

注意

  • 在Arista EOS 4.24.6F上进行了测试

  • 此模块与连接network_cli一起使用。请参阅EOS平台选项

示例

# Using Merged

# Before state:
# -------------
# veos(config)#show running-config | section bgp
# veos(config)#

- name: Merge provided configuration with device configuration
  arista.eos.eos_bgp_global:
    config:
      as_number: "100"
      bgp_params:
        host_routes: true
        convergence:
          slow_peer: true
          time: 6
        additional_paths: "send"
        log_neighbor_changes: true
      maximum_paths:
        max_equal_cost_paths: 55
      aggregate_address:
        - address: "1.2.1.0/24"
          as_set: true
          match_map: "match01"
        - address: "5.2.1.0/24"
          attribute_map: "attrmatch01"
          advertise_only: true
      redistribute:
        - protocol: "static"
          route_map: "map_static"
        - protocol: "attached-host"
      distance:
        internal: 50
      neighbor:
        - peer: "10.1.3.2"
          allowas_in:
            set: true
          default_originate:
            always: true
          dont_capability_negotiate: true
          export_localpref: 4000
          maximum_received_routes:
            count: 500
            warning_limit:
              limit_percent: 5
          next_hop_unchanged: true
          prefix_list:
            name: "prefix01"
            direction: "out"
        - neighbor_address: "peer1"
          fall_over: true
          link_bandwidth:
            update_delay: 5
          monitoring: true
          send_community:
            community_attribute: "extended"
            sub_attribute: "link-bandwidth"
            link_bandwidth_attribute: "aggregate"
            speed: "600"
      vlan: 5
    state: merged

# Task output:
# ------------
# before: {}
#
# commands:
# - router bgp 100
#   - neighbor 10.1.3.2 allowas-in
#   - neighbor 10.1.3.2 default-originate always
#   - neighbor 10.1.3.2 dont-capability-negotiate
#   - neighbor 10.1.3.2 export-localpref 4000
#   - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#   - neighbor 10.1.3.2 next-hop-unchanged
#   - neighbor 10.1.3.2 prefix-list prefix01 out
#   - neighbor peer1 fall-over bfd
#   - neighbor peer1 link-bandwidth update-delay 5
#   - neighbor peer1 monitoring
#   - neighbor peer1 send-community extended link-bandwidth aggregate 600
#   - redistribute static route-map map_static
#   - redistribute attached-host
#   - aggregate-address 1.2.1.0/24 as-set match-map match01
#   - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#   - bgp host-routes fib direct-install
#   - bgp convergence slow-peer time 6
#   - bgp additional-paths send any
#   - bgp log-neighbor-changes
#   - maximum-paths 55
#   - distance bgp 50
#   - vlan 5
#
# after:
#     aggregate_address:
#     - address: 1.2.1.0/24
#       as_set: true
#       match_map: match01
#     - address: 5.2.1.0/24
#       advertise_only: true
#       attribute_map: attrmatch01
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     distance:
#       external: 50
#       internal: 50
#       local: 50
#     maximum_paths:
#       max_equal_cost_paths: 55
#     neighbor:
#     - fall_over: true
#       link_bandwidth:
#         set: true
#         update_delay: 5
#       maximum_received_routes:
#         count: 12000
#       monitoring: true
#       neighbor_address: peer1
#       peer_group: peer1
#       send_community:
#         community_attribute: extended
#         link_bandwidth_attribute: aggregate
#         speed: '600'
#         sub_attribute: link-bandwidth
#     - allowas_in:
#         count: 3
#       default_originate:
#         always: true
#       dont_capability_negotiate: true
#       export_localpref: 4000
#       maximum_received_routes:
#         count: 500
#         warning_limit:
#           limit_percent: 5
#       neighbor_address: 10.1.3.2
#       next_hop_unchanged: true
#     redistribute:
#     - protocol: static
#       route_map: map_static
#     - protocol: attached-host
#     vlan: 5

# After state:
# ------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out

# Using replaced:

# Before state:
# -------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000

- name: replace provided configuration with device configuration
  arista.eos.eos_bgp_global:
    config:
      as_number: "100"
      bgp_params:
        host_routes: true
        convergence:
          slow_peer: true
          time: 6
        additional_paths: "send"
        log_neighbor_changes: true
      vrfs:
        - vrf: "vrf01"
          maximum_paths:
            max_equal_cost_paths: 55
          aggregate_address:
            - address: "1.2.1.0/24"
              as_set: true
              match_map: "match01"
            - address: "5.2.1.0/24"
              attribute_map: "attrmatch01"
              advertise_only: true
          redistribute:
            - protocol: "static"
              route_map: "map_static"
            - protocol: "attached-host"
          distance:
            internal: 50
          neighbor:
            - neighbor_address: "10.1.3.2"
              allowas_in:
                set: true
              default_originate:
                always: true
              dont_capability_negotiate: true
              export_localpref: 4000
              maximum_received_routes:
                count: 500
                warning_limit:
                  limit_percent: 5
              next_hop_unchanged: true
              prefix_list:
                name: "prefix01"
                direction: "out"
            - neighbor_address: "peer1"
              fall_over: true
              link_bandwidth:
                update_delay: 5
              monitoring: true
              send_community:
                community_attribute: "extended"
                sub_attribute: "link-bandwidth"
                link_bandwidth_attribute: "aggregate"
                speed: "600"
    state: replaced

# Task output:
# ------------

# before:
#     aggregate_address:
#     - address: 1.2.1.0/24
#       as_set: true
#       match_map: match01
#     - address: 5.2.1.0/24
#       advertise_only: true
#       attribute_map: attrmatch01
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     distance:
#       external: 50
#       internal: 50
#       local: 50
#     maximum_paths:
#       max_equal_cost_paths: 55
#     neighbor:
#     - fall_over: true
#       link_bandwidth:
#         set: true
#         update_delay: 5
#       maximum_received_routes:
#         count: 12000
#       monitoring: true
#       neighbor_address: peer1
#       peer_group: peer1
#       send_community:
#         community_attribute: extended
#         link_bandwidth_attribute: aggregate
#         speed: '600'
#         sub_attribute: link-bandwidth
#     - allowas_in:
#         count: 3
#       default_originate:
#         always: true
#       dont_capability_negotiate: true
#       export_localpref: 4000
#       maximum_received_routes:
#         count: 500
#         warning_limit:
#           limit_percent: 5
#       neighbor_address: 10.1.3.2
#       next_hop_unchanged: true
#     redistribute:
#     - protocol: static
#       route_map: map_static
#     - protocol: attached-host
#     vlan: 5
#     vrfs:
#     - neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         maximum_received_routes:
#           count: 12000
#         neighbor_address: 12.1.3.2
#       route_target:
#         action: import
#         target: '54:11'
#       vrf: vrf01
#
# commands:
# - router bgp 100
# - vrf vrf01
# - no route-target import 54:11
# - neighbor 10.1.3.2 allowas-in
# - neighbor 10.1.3.2 default-originate always
# - neighbor 10.1.3.2 dont-capability-negotiate
# - neighbor 10.1.3.2 export-localpref 4000
# - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
# - neighbor 10.1.3.2 next-hop-unchanged
# - neighbor 10.1.3.2 prefix-list prefix01 out
# - neighbor peer1 fall-over bfd
# - neighbor peer1 link-bandwidth update-delay 5
# - neighbor peer1 monitoring
# - neighbor peer1 send-community extended link-bandwidth aggregate 600
# - no neighbor 12.1.3.2
# - redistribute static route-map map_static
# - redistribute attached-host
# - aggregate-address 1.2.1.0/24 as-set match-map match01
# - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
# - maximum-paths 55
# - distance bgp 50
# - exit
# - no neighbor peer1 peer group
# - no neighbor peer1 link-bandwidth update-delay 5
# - no neighbor peer1 fall-over bfd
# - no neighbor peer1 monitoring
# - no neighbor peer1 send-community extended link-bandwidth aggregate 600
# - no neighbor peer1 maximum-routes 12000
# - no neighbor 10.1.3.2
# - no redistribute static route-map map_static
# - no redistribute attached-host
# - no aggregate-address 1.2.1.0/24 as-set match-map match01
# - no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
# - bgp host-routes fib direct-install
# - bgp log-neighbor-changes
# - no distance bgp 50 50 50
# - no maximum-paths 55
# - no vlan 5
#
# after:
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     vrfs:
#     - aggregate_address:
#       - address: 1.2.1.0/24
#         as_set: true
#         match_map: match01
#       - address: 5.2.1.0/24
#         advertise_only: true
#         attribute_map: attrmatch01
#       distance:
#         external: 50
#         internal: 50
#         local: 50
#       maximum_paths:
#         max_equal_cost_paths: 55
#       neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         export_localpref: 4000
#         maximum_received_routes:
#           count: 500
#           warning_limit:
#             limit_percent: 5
#         neighbor_address: 10.1.3.2
#         next_hop_unchanged: true
#       redistribute:
#       - protocol: static
#         route_map: map_static
#       - protocol: attached-host
#       vrf: vrf01
#
# After state:
# ------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    bgp additional-paths send any
#    !
#    vrf vrf01
#       distance bgp 50 50 50
#       maximum-paths 55
#       neighbor 10.1.3.2 export-localpref 4000
#       neighbor 10.1.3.2 next-hop-unchanged
#       neighbor 10.1.3.2 dont-capability-negotiate
#       neighbor 10.1.3.2 allowas-in 3
#       neighbor 10.1.3.2 default-originate always
#       neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#       aggregate-address 1.2.1.0/24 as-set match-map match01
#       aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#       redistribute static route-map map_static
#       redistribute attached-host
#       !
#       address-family ipv4
#          neighbor 10.1.3.2 prefix-list prefix01 out

# Using overridden:
# (Note: Overridden and replaced operations are identitical)

# Before state:
# -------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000

- name: override running configuration with configuration
  arista.eos.eos_bgp_global:
    config:
      as_number: "100"
      bgp_params:
        host_routes: true
        convergence:
          slow_peer: true
          time: 6
        additional_paths: "send"
        log_neighbor_changes: true
      vrfs:
        - vrf: "vrf01"
          maximum_paths:
            max_equal_cost_paths: 55
          aggregate_address:
            - address: "1.2.1.0/24"
              as_set: true
              match_map: "match01"
            - address: "5.2.1.0/24"
              attribute_map: "attrmatch01"
              advertise_only: true
          redistribute:
            - protocol: "static"
              route_map: "map_static"
            - protocol: "attached-host"
          distance:
            internal: 50
          neighbor:
            - neighbor_address: "10.1.3.2"
              allowas_in:
                set: true
              default_originate:
                always: true
              dont_capability_negotiate: true
              export_localpref: 4000
              maximum_received_routes:
                count: 500
                warning_limit:
                  limit_percent: 5
              next_hop_unchanged: true
              prefix_list:
                name: "prefix01"
                direction: "out"
            - neighbor_address: "peer1"
              fall_over: true
              link_bandwidth:
                update_delay: 5
              monitoring: true
              send_community:
                community_attribute: "extended"
                sub_attribute: "link-bandwidth"
                link_bandwidth_attribute: "aggregate"
                speed: "600"
    state: overridden

# Task output:
# ------------
# before:
#     aggregate_address:
#     - address: 1.2.1.0/24
#       as_set: true
#       match_map: match01
#     - address: 5.2.1.0/24
#       advertise_only: true
#       attribute_map: attrmatch01
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     distance:
#       external: 50
#       internal: 50
#       local: 50
#     maximum_paths:
#       max_equal_cost_paths: 55
#     neighbor:
#     - fall_over: true
#       link_bandwidth:
#         set: true
#         update_delay: 5
#       maximum_received_routes:
#         count: 12000
#       monitoring: true
#       neighbor_address: peer1
#       peer_group: peer1
#       send_community:
#         community_attribute: extended
#         link_bandwidth_attribute: aggregate
#         speed: '600'
#         sub_attribute: link-bandwidth
#     - allowas_in:
#         count: 3
#       default_originate:
#         always: true
#       dont_capability_negotiate: true
#       export_localpref: 4000
#       maximum_received_routes:
#         count: 500
#         warning_limit:
#           limit_percent: 5
#       neighbor_address: 10.1.3.2
#       next_hop_unchanged: true
#     redistribute:
#     - protocol: static
#       route_map: map_static
#     - protocol: attached-host
#     vlan: 5
#     vrfs:
#     - neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         maximum_received_routes:
#           count: 12000
#         neighbor_address: 12.1.3.2
#       route_target:
#         action: import
#         target: '54:11'
#       vrf: vrf01
#
# commands:
# - router bgp 100
# - vrf vrf01
# - no route-target import 54:11
# - neighbor 10.1.3.2 allowas-in
# - neighbor 10.1.3.2 default-originate always
# - neighbor 10.1.3.2 dont-capability-negotiate
# - neighbor 10.1.3.2 export-localpref 4000
# - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
# - neighbor 10.1.3.2 next-hop-unchanged
# - neighbor 10.1.3.2 prefix-list prefix01 out
# - neighbor peer1 fall-over bfd
# - neighbor peer1 link-bandwidth update-delay 5
# - neighbor peer1 monitoring
# - neighbor peer1 send-community extended link-bandwidth aggregate 600
# - no neighbor 12.1.3.2
# - redistribute static route-map map_static
# - redistribute attached-host
# - aggregate-address 1.2.1.0/24 as-set match-map match01
# - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
# - maximum-paths 55
# - distance bgp 50
# - exit
# - no neighbor peer1 peer group
# - no neighbor peer1 link-bandwidth update-delay 5
# - no neighbor peer1 fall-over bfd
# - no neighbor peer1 monitoring
# - no neighbor peer1 send-community extended link-bandwidth aggregate 600
# - no neighbor peer1 maximum-routes 12000
# - no neighbor 10.1.3.2
# - no redistribute static route-map map_static
# - no redistribute attached-host
# - no aggregate-address 1.2.1.0/24 as-set match-map match01
# - no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
# - bgp host-routes fib direct-install
# - bgp log-neighbor-changes
# - no distance bgp 50 50 50
# - no maximum-paths 55
# - no vlan 5
#
# after:
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     vrfs:
#     - aggregate_address:
#       - address: 1.2.1.0/24
#         as_set: true
#         match_map: match01
#       - address: 5.2.1.0/24
#         advertise_only: true
#         attribute_map: attrmatch01
#       distance:
#         external: 50
#         internal: 50
#         local: 50
#       maximum_paths:
#         max_equal_cost_paths: 55
#       neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         export_localpref: 4000
#         maximum_received_routes:
#           count: 500
#           warning_limit:
#             limit_percent: 5
#         neighbor_address: 10.1.3.2
#         next_hop_unchanged: true
#       redistribute:
#       - protocol: static
#         route_map: map_static
#       - protocol: attached-host
#       vrf: vrf01
#
# After state:
# ------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    bgp additional-paths send any
#    !
#    vrf vrf01
#       distance bgp 50 50 50
#       maximum-paths 55
#       neighbor 10.1.3.2 export-localpref 4000
#       neighbor 10.1.3.2 next-hop-unchanged
#       neighbor 10.1.3.2 dont-capability-negotiate
#       neighbor 10.1.3.2 allowas-in 3
#       neighbor 10.1.3.2 default-originate always
#       neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#       aggregate-address 1.2.1.0/24 as-set match-map match01
#       aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#       redistribute static route-map map_static
#       redistribute attached-host
#       !
#       address-family ipv4
#          neighbor 10.1.3.2 prefix-list prefix01 out

# Using deleted:

# Before state:
# -------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    bgp additional-paths send any
#    !
#    vrf vrf01
#       distance bgp 50 50 50
#       maximum-paths 55
#       neighbor 10.1.3.2 export-localpref 4000
#       neighbor 10.1.3.2 next-hop-unchanged
#       neighbor 10.1.3.2 dont-capability-negotiate
#       neighbor 10.1.3.2 allowas-in 3
#       neighbor 10.1.3.2 default-originate always
#       neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#       aggregate-address 1.2.1.0/24 as-set match-map match01
#       aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#       redistribute static route-map map_static
#       redistribute attached-host
#       !

- name: Delete configuration
  arista.eos.eos_bgp_global:
    config:
      as_number: "100"
    state: deleted

# Task output:
# ------------
# before:
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     vrfs:
#     - aggregate_address:
#       - address: 1.2.1.0/24
#         as_set: true
#         match_map: match01
#       - address: 5.2.1.0/24
#         advertise_only: true
#         attribute_map: attrmatch01
#       distance:
#         external: 50
#         internal: 50
#         local: 50
#       maximum_paths:
#         max_equal_cost_paths: 55
#       neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         export_localpref: 4000
#         maximum_received_routes:
#           count: 500
#           warning_limit:
#             limit_percent: 5
#         neighbor_address: 10.1.3.2
#         next_hop_unchanged: true
#       redistribute:
#       - protocol: static
#         route_map: map_static
#       - protocol: attached-host
#       vrf: vrf01
#
# commands:
# - router bgp 100
# - no vrf vrf01
# - no bgp convergence slow-peer time 6
# - no bgp additional-paths send any
#
# after:
#  as_number: '100'

#
# After state:
# ------------
# veos(config)#show running-config | section bgp
# router bgp 100

# Using purged:

# Before state:
# -------------
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000

- name: Purge configuration
  arista.eos.eos_bgp_global:
    config:
      as_number: "100"
    state: purged


# Task output:
# ------------
# before:
#     aggregate_address:
#     - address: 1.2.1.0/24
#       as_set: true
#       match_map: match01
#     - address: 5.2.1.0/24
#       advertise_only: true
#       attribute_map: attrmatch01
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     distance:
#       external: 50
#       internal: 50
#       local: 50
#     maximum_paths:
#       max_equal_cost_paths: 55
#     neighbor:
#     - fall_over: true
#       link_bandwidth:
#         set: true
#         update_delay: 5
#       maximum_received_routes:
#         count: 12000
#       monitoring: true
#       neighbor_address: peer1
#       peer_group: peer1
#       send_community:
#         community_attribute: extended
#         link_bandwidth_attribute: aggregate
#         speed: '600'
#         sub_attribute: link-bandwidth
#     - allowas_in:
#         count: 3
#       default_originate:
#         always: true
#       dont_capability_negotiate: true
#       export_localpref: 4000
#       maximum_received_routes:
#         count: 500
#         warning_limit:
#           limit_percent: 5
#       neighbor_address: 10.1.3.2
#       next_hop_unchanged: true
#     redistribute:
#     - protocol: static
#       route_map: map_static
#     - protocol: attached-host
#     vlan: 5
#     vrfs:
#     - neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         maximum_received_routes:
#           count: 12000
#         neighbor_address: 12.1.3.2
#       route_target:
#         action: import
#         target: '54:11'
#       vrf: vrf01
#     "changed": true,
#
# commands:
# - no router bgp 100
#
# after: {}

# After state:
# ------------
# veos(config)#show running-config | section bgp
# veos(config)#

# Using rendered

- name: Render command lines for provided configuration
  arista.eos.eos_bgp_global:
    config:
      as_number: "100"
      bgp_params:
        host_routes: true
        convergence:
          slow_peer: true
          time: 6
        additional_paths: "send"
        log_neighbor_changes: true
      maximum_paths:
        max_equal_cost_paths: 55
      aggregate_address:
        - address: "1.2.1.0/24"
          as_set: true
          match_map: "match01"
        - address: "5.2.1.0/24"
          attribute_map: "attrmatch01"
          advertise_only: true
      redistribute:
        - protocol: "static"
          route_map: "map_static"
        - protocol: "attached-host"
      distance:
        internal: 50
      neighbor:
        - peer: "10.1.3.2"
          allowas_in:
            set: true
          default_originate:
            always: true
          dont_capability_negotiate: true
          export_localpref: 4000
          maximum_received_routes:
            count: 500
            warning_limit:
              limit_percent: 5
          next_hop_unchanged: true
          prefix_list:
            name: "prefix01"
            direction: "out"
        - neighbor_address: "peer1"
          fall_over: true
          link_bandwidth:
            update_delay: 5
          monitoring: true
          send_community:
            community_attribute: "extended"
            sub_attribute: "link-bandwidth"
            link_bandwidth_attribute: "aggregate"
            speed: "600"
      vlan: 5
    state: rendered

# Task output:
# ------------
# rendered:
#   - router bgp 100
#   - neighbor 10.1.3.2 allowas-in
#   - neighbor 10.1.3.2 default-originate always
#   - neighbor 10.1.3.2 dont-capability-negotiate
#   - neighbor 10.1.3.2 export-localpref 4000
#   - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#   - neighbor 10.1.3.2 next-hop-unchanged
#   - neighbor 10.1.3.2 prefix-list prefix01 out
#   - neighbor peer1 fall-over bfd
#   - neighbor peer1 link-bandwidth update-delay 5
#   - neighbor peer1 monitoring
#   - neighbor peer1 send-community extended link-bandwidth aggregate 600
#   - redistribute static route-map map_static
#   - redistribute attached-host
#   - aggregate-address 1.2.1.0/24 as-set match-map match01
#   - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#   - bgp host-routes fib direct-install
#   - bgp convergence slow-peer time 6
#   - bgp additional-paths send any
#   - bgp log-neighbor-changes
#   - maximum-paths 55
#   - distance bgp 50
#   - vlan 5


# Using parsed

# parsed.cfg
# ----------
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000

- name: Parse externally provided BGP config
  arista.eos.eos_bgp_global:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task output:
# ------------

# parsed:
#     aggregate_address:
#     - address: 1.2.1.0/24
#       as_set: true
#       match_map: match01
#     - address: 5.2.1.0/24
#       advertise_only: true
#       attribute_map: attrmatch01
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     distance:
#       external: 50
#       internal: 50
#       local: 50
#     maximum_paths:
#       max_equal_cost_paths: 55
#     neighbor:
#     - fall_over: true
#       link_bandwidth:
#         set: true
#         update_delay: 5
#       maximum_received_routes:
#         count: 12000
#       monitoring: true
#       neighbor_address: peer1
#       peer_group: peer1
#       send_community:
#         community_attribute: extended
#         link_bandwidth_attribute: aggregate
#         speed: '600'
#         sub_attribute: link-bandwidth
#     - allowas_in:
#         count: 3
#       default_originate:
#         always: true
#       dont_capability_negotiate: true
#       export_localpref: 4000
#       maximum_received_routes:
#         count: 500
#         warning_limit:
#           limit_percent: 5
#       neighbor_address: 10.1.3.2
#       next_hop_unchanged: true
#     redistribute:
#     - protocol: static
#       route_map: map_static
#     - protocol: attached-host
#     vlan: 5
#     vrfs:
#     - neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         maximum_received_routes:
#           count: 12000
#         neighbor_address: 12.1.3.2
#       route_target:
#         action: import
#         target: '54:11'
#       vrf: vrf01

# Using gathered

# existing config
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000

- name: Gather BGP facts using gathered
  arista.eos.eos_bgp_global:
    state: gathered

# Task output:
# ------------
# gathered:
#     aggregate_address:
#     - address: 1.2.1.0/24
#       as_set: true
#       match_map: match01
#     - address: 5.2.1.0/24
#       advertise_only: true
#       attribute_map: attrmatch01
#     as_number: '100'
#     bgp_params:
#       additional_paths: send
#       convergence:
#         slow_peer: true
#         time: 6
#     distance:
#       external: 50
#       internal: 50
#       local: 50
#     maximum_paths:
#       max_equal_cost_paths: 55
#     neighbor:
#     - fall_over: true
#       link_bandwidth:
#         set: true
#         update_delay: 5
#       maximum_received_routes:
#         count: 12000
#       monitoring: true
#       neighbor_address: peer1
#       peer_group: peer1
#       send_community:
#         community_attribute: extended
#         link_bandwidth_attribute: aggregate
#         speed: '600'
#         sub_attribute: link-bandwidth
#     - allowas_in:
#         count: 3
#       default_originate:
#         always: true
#       dont_capability_negotiate: true
#       export_localpref: 4000
#       maximum_received_routes:
#         count: 500
#         warning_limit:
#           limit_percent: 5
#       neighbor_address: 10.1.3.2
#       next_hop_unchanged: true
#     redistribute:
#     - protocol: static
#       route_map: map_static
#     - protocol: attached-host
#     vlan: 5
#     vrfs:
#     - neighbor:
#       - allowas_in:
#           count: 3
#         default_originate:
#           always: true
#         dont_capability_negotiate: true
#         maximum_received_routes:
#           count: 12000
#         neighbor_address: 12.1.3.2
#       route_target:
#         action: import
#         target: '54:11'
#       vrf: vrf01

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段:

描述

after

字典

生成的配置模型调用。

返回:发生更改时

示例: "返回的配置将始终与上述参数的格式相同\n"

before

字典

模型调用之前的配置。

返回:始终返回

示例: "返回的配置将始终与上述参数的格式相同\n"

commands

列表 / 元素=字符串

推送到远程设备的命令集。

返回:始终返回

示例: ["router bgp 100", "neighbor 10.1.3.2 allowas-in", "neighbor 10.1.3.2 default-originate always", "neighbor 10.1.3.2 dont-capability-negotiate"]

gathered

字典

从远程设备收集到的关于网络资源的结构化数据事实。

返回:stategathered

示例: "此输出将始终与模块argspec的格式相同\n"

parsed

字典

根据模块argspec将running_config选项中提供的设备原生配置解析为结构化数据。

返回:stateparsed

示例: "此输出将始终与模块argspec的格式相同\n"

rendered

列表 / 元素=字符串

以设备原生格式(离线)呈现的任务中提供的配置。

返回:staterendered

示例: ["router bgp 100", "neighbor 10.1.3.2 allowas-in", "neighbor 10.1.3.2 default-originate always", "neighbor 10.1.3.2 dont-capability-negotiate"]

作者

  • Gomathi Selvi Srinivasan (@GomathiselviS)