arista.eos.eos_bgp_address_family модуль — Управляет ресурсами семейств адресов BGP
Примечание
Этот модуль является частью коллекции arista.eos (версия 9.0.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install arista.eos.
Для использования в плейбуке укажите: arista.eos.eos_bgp_address_family.
Добавлен в arista.eos 1.4.0
Обзор
- Этот модуль настраивает и управляет атрибутами семейств адресов BGP на платформах 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 address-family Варианты:
|
|
next_hop_unchanged boolean |
Сохранить исходный nexthop при объявлении маршрутов для пиров eBGP. Варианты:
|
|
redistribute_internal boolean |
Перераспределить внутренние маршруты BGP. Варианты:
|
|
route string |
Настроить route-map для установки маршрута. |
|
graceful_restart boolean |
Включить режим плавного перезапуска. Варианты:
|
|
neighbor list / elements=dictionary |
Настроить маршрутизацию для сети. |
|
activate boolean |
Активировать соседа в семействе адресов. Варианты:
|
|
additional_paths string |
Команды BGP additional-paths. Варианты:
|
|
default_originate dictionary |
Генерировать маршрут по умолчанию для этого соседа. |
|
always boolean |
Всегда генерировать маршрут по умолчанию для этого соседа. Варианты:
|
|
route_map string |
Ссылка на карту маршрутов. |
|
encapsulation dictionary |
Инкапсуляция по умолчанию для соседа. Применимо для семейства адресов evpn. |
|
source_interface string |
Исходный интерфейс для обновления адреса next hop BGP. Применимо для транспорта mpls. |
|
transport string |
Транспорт MPLS/VXLAN. Варианты:
|
|
graceful_restart boolean |
Включить режим плавного перезапуска. Варианты:
|
|
next_hop_address_family string |
Конфигурация next-hop address-family Варианты:
|
|
next_hop_unchanged boolean |
Сохранять исходный nexthop при рекламировании маршрутов для пиров eBGP. Choices:
|
|
peer string |
Адрес соседа/имя группы пиров. |
|
prefix_list dictionary |
Ссылка на список префиксов. |
|
direction string |
Настроить входящий/исходящий список префиксов. Choices:
|
|
name string |
Имя списка префиксов. |
|
route_map dictionary |
Ссылка на карту маршрутов. |
|
direction string |
Настроить входящую/исходящую карту маршрутов. Choices:
|
|
name string |
Имя карты маршрутов. |
|
weight integer |
Вес для присвоения. |
|
network list / elements=dictionary |
Настроить маршрутизацию для сети. |
|
address string |
сетевой адрес. |
|
route_map string |
Ссылка на карту маршрутов. |
|
redistribute list / elements=dictionary |
Перераспределить маршруты в BGP. |
|
isis_level string |
Применимо для маршрутов isis. Укажите уровень маршрута isis. Choices:
|
|
ospf_route string |
Параметры маршрута ospf. Choices:
|
|
protocol string |
Маршруты для перераспределения. Choices:
|
|
route_map string |
Ссылка на карту маршрутов. |
|
route_target dictionary |
Целевой маршрут. |
|
action string |
Действие маршрута. Choices:
|
|
imported_route boolean |
Экспортировать маршруты, импортированные из того же Afi/Safi Choices:
|
|
route_map string |
Имя карты маршрутов. |
|
target string |
Целевой маршрут. |
|
тип псевдонимы: режим строка |
Тип семейства адресов Варианты:
|
|
safi строка |
Тип семейства адресов для ipv4. Варианты:
|
|
vrf строка |
Имя VRF, в котором будет настроен BGP. |
|
as_number строка |
Номер автономной системы. |
running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно соответствовать выводу устройства EOS, полученному при выполнении команды show running-config | section bgp. Состояние 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_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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
после словарь | Результат конфигурации после выполнения модуля. Возвращается: при изменении Пример: |
до словарь | Конфигурация до выполнения модуля. Возвращается: когда состояние равно Пример: |
команды список / элементы=строка | Набор команд, отправленных на удаленное устройство. Возвращается: когда состояние равно Пример: |
собранные словарь | Данные о сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных. Возвращается: когда состояние равно Пример: |
обработанный словарь | Родная конфигурация устройства, предоставленная в параметре running_config, разобранная в структурированные данные в соответствии с argspec модуля. Возвращается: когда состояние равно Пример: |
отображенный список / элементы=строка | Предоставленная конфигурация в задаче, отрендеренная в формате родном для устройства (офлайн). Возвращается: когда состояние равно Пример: |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/arista/eos/eos_bgp_address_family_module.html