Модуль arista.eos.eos_bgp_address_family — управление ресурсным модулем семейства адресов BGP
Примечание
Этот модуль входит в коллекцию arista.eos (версия 12.1.2).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install arista.eos.
Чтобы использовать коллекцию в playbook, укажите: arista.eos.eos_bgp_address_family.
Добавлено в arista.eos 1.4.0
Краткое описание
- Этот модуль настраивает атрибуты BGP AF и управляет ими на платформах Arista EOS.
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: bgp_address_family
Параметры
Параметр | Комментарии |
|---|---|
config dictionary | Конфигурация семейства адресов BGP. |
|
address_family list / elements=dictionary |
Включить семейство адресов и перейти в режим его конфигурации |
|
afi string |
Семейство адресов. Варианты:
|
|
bgp_params dictionary |
Параметры BGP. |
|
additional_paths string |
Команды BGP additional-paths Варианты:
|
|
next_hop_address_family string |
Конфигурация семейства адресов next-hop Варианты:
|
|
next_hop_unchanged boolean |
Сохранять исходный next-hop при анонсировании маршрутов узлам eBGP. Варианты:
|
|
redistribute_internal boolean |
Перераспределять внутренние маршруты BGP. Варианты:
|
|
route string |
Настроить route-map для установки маршрута. |
|
graceful_restart boolean |
Включить режим graceful restart. Варианты:
|
|
neighbor list / elements=dictionary |
Настроить маршрутизацию для сети. |
|
activate boolean |
Активировать соседа в семействе адресов. Варианты:
|
|
additional_paths string |
Команды BGP additional-paths. Варианты:
|
|
default_originate dictionary |
Анонсировать этому соседу маршрут по умолчанию. |
|
always boolean |
Всегда анонсировать этому соседу маршрут по умолчанию. Варианты:
|
|
route_map string |
Ссылка на route map. |
|
encapsulation dictionary |
Инкапсуляция транспорта по умолчанию для соседа. Применяется к семейству адресов evpn. |
|
source_interface string |
Исходный интерфейс для обновления адреса next-hop BGP. Применяется для транспорта mpls. |
|
transport string |
Транспорт MPLS/VXLAN. Варианты:
|
|
graceful_restart boolean |
Включить режим graceful restart. Варианты:
|
|
next_hop_address_family string |
Конфигурация семейства адресов next-hop Варианты:
|
|
next_hop_unchanged boolean |
Сохранять исходный next-hop при анонсировании маршрутов узлам eBGP. Варианты:
|
|
peer string |
Адрес соседа / имя группы узлов. |
|
prefix_list dictionary |
Ссылка на список префиксов. |
|
direction string |
Настроить входящий/исходящий список префиксов. Варианты:
|
|
name string |
Имя списка префиксов. |
|
route_map dictionary |
Ссылка на route map. |
|
direction string |
Настроить входящий/исходящий route-map. Варианты:
|
|
name string |
Имя route map. |
|
weight integer |
Назначаемый вес. |
|
network list / elements=dictionary |
Настроить маршрутизацию для сети. |
|
address string |
Адрес сети. |
|
route_map string |
Ссылка на route map. |
|
redistribute list / elements=dictionary |
Перераспределять маршруты в BGP. |
|
isis_level string |
Применяется к маршрутам isis. Укажите уровень маршрута isis. Варианты:
|
|
ospf_route string |
Параметры маршрутов ospf. Варианты:
|
|
protocol string |
Перераспределяемые маршруты. Варианты:
|
|
route_map string |
Ссылка на route map. |
|
route_target dictionary |
Целевой маршрут. |
|
action псевдонимы: mode string |
Действие с маршрутом. Варианты:
|
|
imported_route boolean |
Экспортировать маршруты, импортированные из того же Afi/Safi Варианты:
|
|
route_map string |
Имя route map. |
|
target string |
Целевой маршрут. |
|
type string |
Тип семейства адресов Варианты:
|
|
safi string |
Тип семейства адресов для ipv4. Варианты:
|
|
vrf string |
Имя VRF, в котором будет настроен BGP. |
|
as_number string |
Номер автономной системы. |
running_config string | Этот параметр используется только с состоянием parsed. Значением этого параметра должен быть вывод, полученный с устройства EOS при выполнении команды show running-config | section bgp. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация. Варианты:
|
Примечания
Примечание
- Проверено на 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_address_family:
config:
as_number: "10"
address_family:
- afi: "ipv4"
redistribute:
- protocol: "ospfv3"
ospf_route: "external"
network:
- address: "1.1.1.0/24"
- address: "1.5.1.0/24"
route_map: "MAP01"
- afi: "ipv6"
bgp_params:
additional_paths: "receive"
neighbor:
- peer: "peer2"
default_originate:
always: true
- afi: "ipv6"
redistribute:
- protocol: "isis"
isis_level: "level-2"
route_target:
mode: "export"
target: "33:11"
vrf: "vrft"
state: merged
# Task output:
# ------------
# before: {}
#
# commands:
# - router bgp 10
# - address-family ipv4
# - redistribute ospfv3 match external
# - network 1.1.1.0/24
# - network 1.5.1.0/24 route-map MAP01
# - exit
# - address-family ipv6
# - neighbor peer2 default-originate always
# - bgp additional-paths receive
# - exit
# - vrf vrft
# - address-family ipv6
# - redistribute isis level-2
# - route-target export 33:11
# - exit
# - exit
#
# after:
# address_family:
# - afi: ipv4
# neighbor:
# - activate: true
# peer: 1.1.1.1
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# bgp_params:
# additional_paths: receive
# neighbor:
# - activate: true
# default_originate:
# always: true
# peer: peer2
# - afi: ipv6
# redistribute:
# - isis_level: level-2
# protocol: isis
# route_target:
# action: export
# target: '33:11'
# vrf: vrft
# as_number: '10'
# "before": {},
# "changed": true,
# After state:
# ------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# bgp additional-paths receive
# neighbor peer2 activate
# neighbor peer2 default-originate always
# !
# vrf vrft
# address-family ipv6
# route-target export 33:11
# redistribute isis level-2
# Using replaced
# Before state:
# -------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# bgp additional-paths receive
# neighbor peer2 activate
# neighbor peer2 default-originate always
# !
# vrf vrft
# address-family ipv6
# route-target export 33:11
# redistribute isis level-2
- name: Replace running config section with provided config
arista.eos.eos_bgp_address_family:
config:
as_number: "10"
address_family:
- afi: "ipv6"
vrf: "vrft"
redistribute:
- protocol: "ospfv3"
ospf_route: "external"
- afi: "ipv6"
redistribute:
- protocol: "isis"
isis_level: "level-2"
state: replaced
# Task output:
# ------------
# before:
# address_family:
# - afi: ipv4
# neighbor:
# - activate: true
# peer: 1.1.1.1
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# bgp_params:
# additional_paths: receive
# neighbor:
# - activate: true
# default_originate:
# always: true
# peer: peer2
# - afi: ipv6
# redistribute:
# - isis_level: level-2
# protocol: isis
# route_target:
# action: export
# target: '33:11'
# vrf: vrft
# as_number: '10'
#
# commands:
# - router bgp 10
# - vrf vrft
# - address-family ipv6
# - redistribute ospfv3 match external
# - no redistribute isis level-2
# - no route-target export 33:11
# - exit
# - exit
# - address-family ipv6
# - redistribute isis level-2
# - no neighbor peer2 activate
# - no bgp additional-paths receive
# - exit
#
# after:
# address_family:
# - afi: ipv4
# neighbor:
# - activate: true
# peer: 1.1.1.1
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# redistribute:
# - isis_level: level-2
# protocol: isis
# - afi: ipv6
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# vrf: vrft
# as_number: '10'
# After state:
# ------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# neighbor peer2 default-originate always
# redistribute isis level-2
# !
# vrf vrft
# address-family ipv6
# redistribute ospfv3 match external
# Using overridden (overriding af at global context):
# Before state:
# -------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# neighbor peer2 default-originate always
# redistribute isis level-2
# !
# vrf vrft
# address-family ipv6
# redistribute ospfv3 match external
- name: Override running config with provided config
arista.eos.eos_bgp_address_family:
config:
as_number: "10"
address_family:
- afi: "ipv4"
bgp_params:
additional_paths: "receive"
neighbor:
- peer: "peer2"
default_originate:
always: true
state: overridden
#
# Task output:
# ------------
# before:
# address_family:
# - afi: ipv4
# neighbor:
# - activate: true
# peer: 1.1.1.1
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# redistribute:
# - isis_level: level-2
# protocol: isis
# - afi: ipv6
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# vrf: vrft
# as_number: '10'
#
# commands:
# - router bgp 10
# - address-family ipv4
# - no redistribute ospfv3 match external
# - no network 1.1.1.0/24
# - no network 1.5.1.0/24 route-map MAP01
# - neighbor peer2 default-originate always
# - no neighbor 1.1.1.1 activate
# - bgp additional-paths receive
# - exit
# - no address-family ipv6
#
# after:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# - afi: ipv6
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# vrf: vrft
# as_number: '10'
# After state:
# ------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# !
# vrf vrft
# address-family ipv6
# redistribute ospfv3 match external
# using Overridden (overridding af in vrf context):
# Before state:
# -------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# no neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# bgp additional-paths receive
# neighbor peer2 default-originate always
# !
# vrf vrft
# address-family ipv6
# route-target export 33:11
# redistribute isis level-2
# redistribute ospfv3 match external
- name: Override running config with provided config
arista.eos.eos_bgp_address_family:
config:
as_number: "10"
address_family:
- afi: "ipv4"
bgp_params:
additional_paths: "receive"
neighbor:
- peer: "peer2"
default_originate:
always: true
vrf: vrft
state: overridden
# Task output:
# ------------
# before:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# - afi: ipv6
# redistribute:
# - isis_level: level-2
# protocol: isis
# - ospf_route: external
# protocol: ospfv3
# route_target:
# action: export
# target: '33:11'
# vrf: vrft
# as_number: '10'
#
# commands:
# - router bgp 10
# - vrf vrft
# - address-family ipv4
# - neighbor peer2 default-originate always
# - bgp additional-paths receive
# - exit
# - exit
# - vrf vrft
# - no address-family ipv6
#
# after:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# vrf: vrft
# as_number: '10'
# After state:
# ------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# bgp additional-paths receive
# neighbor peer2 default-originate always
# !
# vrf vrft
# address-family ipv4
# bgp additional-paths receive
# Using deleted
# Before state:
# -------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# no neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# address-family ipv6
# bgp additional-paths receive
# neighbor peer2 default-originate always
# !
# vrf vrft
# address-family ipv4
# bgp additional-paths receive
- name: Delete running config for provided afi
arista.eos.eos_bgp_address_family:
config:
as_number: "10"
address_family:
- afi: "ipv6"
vrf: "vrft"
- afi: "ipv6"
state: deleted
# Task output:
# ------------
# before:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# vrf: vrft
# as_number: '10'
#
# after:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# vrf: vrft
# as_number: '10'
# After state:
# ------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# no neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# vrf vrft
# address-family ipv4
# bgp additional-paths receive
# Using parsed
# parsed.cfg
# ----------
# router bgp 10
# neighbor n2 peer group
# neighbor n2 next-hop-unchanged
# neighbor n2 maximum-routes 12000
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# redistribute ospfv3 match external
# !
# address-family ipv6
# no bgp additional-paths receive
# neighbor n2 next-hop-unchanged
# redistribute isis level-2
# !
# vrf bgp_10
# ip access-group acl01
# ucmp fec threshold trigger 33 clear 22 warning-only
# !
# address-family ipv4
# route-target import 20:11
# !
# vrf vrft
# address-family ipv4
# bgp additional-paths receive
# !
# address-family ipv6
# redistribute ospfv3 match external
- name: parse running config and generate structred facts
arista.eos.eos_bgp_address_family:
running_config: "{{ lookup('file', './parsed_bgp_address_family.cfg') }}"
state: parsed
# Task output:
# ------------
# parsed:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv6
# neighbor:
# - next_hop_unchanged: true
# peer: n2
# redistribute:
# - isis_level: level-2
# protocol: isis
# - afi: ipv4
# route_target:
# action: import
# target: '20:11'
# vrf: bgp_10
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# vrf: vrft
# - afi: ipv6
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# vrf: vrft
# as_number: '10'
# Using gathered
# running config
# --------------
# veos(config-router-bgp)#show running-config | section bgp
# router bgp 10
# neighbor peer2 peer group
# neighbor peer2 maximum-routes 12000
# neighbor 1.1.1.1 maximum-routes 12000
# !
# address-family ipv4
# bgp additional-paths receive
# neighbor peer2 default-originate always
# no neighbor 1.1.1.1 activate
# network 1.1.1.0/24
# network 1.5.1.0/24 route-map MAP01
# redistribute ospfv3 match external
# !
# vrf vrft
# address-family ipv4
# bgp additional-paths receive
- name: gather running config
arista.eos.eos_bgp_address_family:
state: gathered
# Task output:
# ------------
# gathered:
# address_family:
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# neighbor:
# - default_originate:
# always: true
# peer: peer2
# network:
# - address: 1.1.1.0/24
# - address: 1.5.1.0/24
# route_map: MAP01
# redistribute:
# - ospf_route: external
# protocol: ospfv3
# - afi: ipv4
# bgp_params:
# additional_paths: receive
# vrf: vrft
# as_number: '10'
# using rendered
- name: Render CLI commands for provided config
arista.eos.eos_bgp_address_family:
config:
as_number: "10"
address_family:
- afi: "ipv4"
redistribute:
- protocol: "ospfv3"
ospf_route: "external"
network:
- address: "1.1.1.0/24"
- address: "1.5.1.0/24"
route_map: "MAP01"
- afi: "ipv6"
bgp_params:
additional_paths: "receive"
neighbor:
- peer: "peer2"
default_originate:
always: true
- afi: "ipv6"
redistribute:
- protocol: "isis"
isis_level: "level-2"
route_target:
mode: "export"
target: "33:11"
vrf: "vrft"
state: rendered
# Task output:
# ------------
# rendered:
# - router bgp 10
# - address-family ipv4
# - redistribute ospfv3 match external
# - network 1.1.1.0/24
# - network 1.5.1.0/24 route-map MAP01
# - exit
# - address-family ipv6
# - neighbor peer2 default-originate always
# - bgp additional-paths receive
# - exit
# - vrf vrft
# - address-family ipv6
# - redistribute isis level-2
# - route-target export 33:11
# - exit
# - exit
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after словарь | Конфигурация, полученная после выполнения модуля. Возвращается: если были внесены изменения Пример: |
before словарь | Конфигурация до выполнения модуля. Возвращается: если state имеет значение Пример: |
commands список / elements=string | Набор команд, отправленных на удаленное устройство. Возвращается: если state имеет значение Пример: |
gathered словарь | Факты о сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных. Возвращается: если state имеет значение Пример: |
parsed словарь | Встроенная конфигурация устройства, переданная в параметре running_config, преобразованная в структурированные данные в соответствии со спецификацией аргументов модуля. Возвращается: если state имеет значение Пример: |
rendered список / elements=string | Конфигурация, указанная в задаче, преобразованная в формат устройства (без подключения к устройству). Возвращается: если state имеет значение Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/arista/eos/eos_bgp_address_family_module.html