dellemc.enterprise_sonic.sonic_route_maps модуль — обработка конфигурации карты маршрутизации для SONiC
Примечание
Этот модуль входит в коллекцию dellemc.enterprise_sonic (версия 2.5.1).
У вас, возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install dellemc.enterprise_sonic.
Для использования в книге задач укажите: dellemc.enterprise_sonic.sonic_route_maps.
Новое в dellemc.enterprise_sonic 2.1.0
Обзор
- Этот модуль обеспечивает управление конфигурацией параметров карты маршрутизации на устройствах, работающих под управлением SONiC.
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Задает список словарей конфигурации маршрутных карт |
|
action string |
Тип действия для маршрутной карты (разрешить или запретить) Это значение обязательно для создания и изменения маршрута карты или атрибутов маршрутной карты, а также для удаления маршрутной карты атрибутов. Оно может быть опущено только при запросе удаления утверждения маршрутной карты или всех утверждений маршрутной карты для данного маршрута карта map_name. Варианты:
|
|
call string |
Имя маршрутной карты для перехода после выполнения «сопоставления» и «установки» утверждений для текущей маршрутной карты. |
|
map_name string / required |
Имя маршрутной карты |
|
match dictionary |
Критерии для сопоставления маршрутной карты с маршрутом |
|
as_path string |
Имя настроенного списка AS-путей BGP, который необходимо проверить на совпадение с целевым маршрутом |
|
community string |
Имя настроенного BGP «community», который необходимо проверить на совпадение с целевым маршрутом |
|
evpn dictionary |
BGP Ethernet Virtual Private Network, который необходимо проверить на совпадение с целевым маршрутом |
|
default_route boolean |
Маршрут EVPN типа 5 по умолчанию Варианты:
|
|
route_type string |
Тип маршрута, отличный от маршрута по умолчанию: один из следующих: маршрут mac-ip, маршрут EVPN типа 3 Inclusive Multicast Ethernet метка (IMET) или префиксный маршрут Варианты:
|
|
vni integer |
Идентификатор VNI, который необходимо проверить на совпадение; указан значением в диапазоне 1-16777215 |
|
ext_comm string |
Имя настроенного BGP «расширенного сообщества», который необходимо проверить на совпадение с целевым маршрутом |
|
interface string |
Имя интерфейса (тип и номер) следующего перехода, который необходимо проверить на совпадение с целевым маршрутом. Тип интерфейса может быть любым из следующих; интерфейс «Ethernet/Eth» или субинтерфейс, интерфейс «Loopback», интерфейс «PortChannel» или субинтерфейс, интерфейс «Vlan». |
|
ip dictionary |
IP-адреса или IP-адреса следующих переходов, которые необходимо проверить на совпадение с целевым маршрутом |
|
address string |
имя списка префиксов IPv4, содержащего список адресов префиксы, которые необходимо проверить на совпадение с целевым маршрутом |
|
next_hop string |
имя списка префиксов, содержащего список следующих переходов префиксы, которые необходимо проверить на совпадение с целевым маршрутом |
|
ipv6 dictionary |
IPv6-адреса, которые необходимо проверить на совпадение с целевым маршрутом |
|
address string / required |
имя списка префиксов IPv6, содержащего список адресов префиксы, которые необходимо проверить на совпадение с целевым маршрутом |
|
local_preference integer |
Значение local-preference, которое необходимо проверить на совпадение с целевым маршрутом. Это значение в диапазоне 0-4294967295. |
|
metric integer |
Значение метрики, которое необходимо проверить на совпадение с целевым маршрутом. Это значение в диапазоне 0-4294967295. |
|
origin string |
Происхождение BGP, которое необходимо проверить на совпадение с целевым маршрутом Варианты:
|
|
peer dictionary |
Пир/сосед маршрутизации BGP, необходимый для соответствия маршрута ip, ipv6 и interface являются взаимоисключающими. |
|
interface string |
Имя (тип и номер) интерфейса пира BGP Допустимые типы интерфейсов — Ethernet или Eth (в зависимости от настроенного режима именования интерфейса), Vlan и Portchannel |
|
ip string |
IPv4-адрес пира BGP |
|
ipv6 string |
IPv6-адрес пира BGP |
|
source_protocol string |
Исходный протокол, необходимый для соответствия маршрута Варианты:
|
|
source_vrf string |
Имя исходного VRF, необходимое для соответствия маршрута |
|
tag integer |
Значение тега, необходимое для соответствия маршрута Значение должно быть в диапазоне 1-4294967295 |
|
sequence_num integer |
Уникальный номер в диапазоне 1-66535 для указания приоритета карты Это значение требуется для создания и изменения маршрута карты или атрибутов карты маршрута, а также для удаления карты маршрута атрибуты. Его можно опустить только при запросе удаления всех атрибуты карты маршрута «statements» для данной карты маршрута «map_name». |
|
set dictionary |
Информация для установки в соответствующий маршрут для перераспределения |
|
as_path_prepend string |
Строка, указывающая разделенный запятыми список номеров AS-path для добавления в начало атрибута BGP AS-path в соответствующем маршруте. Значения AS-path в списке должны быть в диапазоне 1-4294967295; например, 2000,3000 |
|
comm_list_delete string |
Строка, указывающая имя списка сообществ BGP, содержащего значения сообщества BGP, которые должны быть удалены из соответствующих маршрутов. |
|
community dictionary |
Атрибуты сообщества BGP для добавления или замены атрибутов сообщества BGP атрибуты в соответствующем маршруте. Указание атрибута «additive» разрешено только в том случае, если один из других атрибутов (кроме «none») указан. Это приводит к тому, что указанные атрибуты «set community» добавляются к уже существующим атрибутам сообщества атрибуты в соответствующем маршруте. Если атрибут «additive» не указан, ранее существовавшие атрибуты сообщества в соответствующем маршруте заменяются на настроенные атрибуты «set community». Указание атрибута «set community» «none» является взаимоисключающим с установкой других атрибутов сообщества атрибутов и приводит к удалению любых атрибутов сообщества в соответствующем маршруте. |
|
community_attributes list / elements=string |
Список из одного или нескольких атрибутов сообщества BGP. Допустимые значения следующие: local_as Не отправлять за пределы локального AS (известное сообщество) no_advertise Не объявлять ни одному пиру (известное сообщество) no_export Не экспортировать в следующий AS (известное сообщество) no_peer Маршрут не нужно объявлять пирам. (Объявление маршрута может быть подавлено на основе других критериев.) additive Добавить настроенные атрибуты «set community» к соответствующему маршруту (если установлено значение «true»); Ранее существовавшие атрибуты в соответствующем маршруте, вместо этого, заменяются на настроенные атрибуты, если этот атрибут не указан или если он установлен в значение «false». none Не отправлять ни одного атрибута сообщества. Этот атрибут является взаимоисключающим со всеми другими атрибутами «set community». Это приводит к удалению всех атрибутов из соответствующего маршрута. none является взаимоисключающим со всеми другими атрибутами: local_as, no_advertise, no_export, no_peer, additive, и additive. Варианты:
|
|
community_number list / elements=string |
Список из одного или нескольких номеров сообщества BGP в формате AA:NN, где AA и NN — целые числа в диапазоне 0-65535. Примечание: Каждый номер сообщества в списке должен быть заключен в двойные кавычки, чтобы избежать ошибок синтаксического анализа YAML из-за значений списка, содержащих встроенный символ «:». |
|
extcommunity dictionary |
Расширенные атрибуты сообщества BGP для установки в соответствующий маршрут. |
|
rt list / elements=string |
Расширенные сообщества VPN Route Target в формате ASN:NN или IP-ADDRESS:NN Примечание: Каждое значение rt в списке должно быть заключено в двойные кавычки, чтобы избежать ошибок синтаксического анализа YAML из-за значений списка, содержащих встроенный символ «:». |
|
soo list / elements=string |
Расширенные сообщества VPN Site-of-Origin в формате ASN:NN или IP-ADDRESS:NN Примечание: Каждое значение rt в списке должно быть заключено в двойные кавычки, чтобы избежать ошибок синтаксического анализа YAML из-за значений списка, содержащих встроенный символ «:». |
|
ip_next_hop string |
Адрес следующего узла IPv4 для установки в соответствующий маршрут в формате A.B.C.D |
|
ipv6_next_hop dictionary |
Атрибуты адреса следующего узла IPv6 для установки в соответствующий маршрут |
|
global_addr string |
Глобальный адрес следующего узла IPv6 для установки в соответствующий маршрут в формате A::B |
|
prefer_global boolean |
Установить соответствующий атрибут в соответствующий маршрут, если значение этого атрибута Ansible равно «true». Атрибут указывает, что алгоритм маршрутизации должен отдавать предпочтение глобальному адресу следующего узла по сравнению с адресом link-local, если оба существуют. Варианты:
|
|
local_preference integer |
Атрибут пути локальной предпочтения BGP; целочисленное значение в диапазоне 0-4294967295 |
|
metric dictionary |
Действия по маршрутной метрике value и rtt_action взаимоисключают. |
|
rtt_action string |
Действие для изменения метрики соответствующего маршрута с использованием времени обратного прохода (rtt);
Варианты:
|
|
value integer |
Значение метрики, которое нужно установить в соответствующий маршрут; значение в диапазоне 0-4294967295 |
|
origin string |
Происхождение маршрута BGP; должен быть выбран один из следующих вариантов. egp (Внешний; удаленный EGP) igp (Внутренний; локальный IGP) incomplete (Неизвестное происхождение) Варианты:
|
|
tag integer |
Значение тега, которое нужно установить для соответствующего маршрута Значение должно быть в диапазоне 1-4294967295 |
|
weight integer |
Вес BGP, который нужно установить для соответствующего маршрута: Вес должен быть целым числом в диапазоне 0-4294967295 |
state string | Определяет тип обновления конфигурации, который нужно выполнить на устройстве. Для Для Для Для Варианты:
|
Примечания
Примечание
- Поддерживает
check_mode.
Примеры
# Using "merged" state to create initial configuration
#
# Before state:
# -------------
#
# sonic# show running-configuration route-map
# sonic#
# (No configuration present)
#
# -------------
#
- name: Merge initial route_maps configuration
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
action: permit
sequence_num: 80
match:
as_path: bgp_as1
community: bgp_comm_list1
evpn:
default_route: true
vni: 735
ext_comm: bgp_ext_comm1
interface: Ethernet4
ip:
address: ip_pfx_list1
ipv6:
address: ipv6_pfx_list1
local_preference: 8000
metric: 400
origin: egp
peer:
ip: 10.20.30.40
source_protocol: bgp
source_vrf: Vrf1
tag: 7284
set:
as_path_prepend: 200,315,7135
comm_list_delete: bgp_comm_list2
community:
community_number:
- "35:58"
- "79:150"
- "308:650"
community_attributes:
- local_as
- no_advertise
- no_export
- no_peer
- additive
extcommunity:
rt:
- "30:40"
soo:
- "10.73.14.9:78"
ip_next_hop: 10.48.16.18
ipv6_next_hop:
global_addr: 30::30
prefer_global: true
local_preference: 635
metric:
metric_value: 870
origin: egp
weight: 93471
tag: 65
- map_name: rm1
action: deny
sequence_num: 3047
match:
evpn:
route_type: multicast
origin: incomplete
peer:
interface: Ethernet6
source_protocol: ospf
set:
metric:
rtt_action: add
origin: incomplete
- map_name: rm3
action: deny
sequence_num: 285
match:
evpn:
route_type: macip
origin: igp
peer:
ipv6: 87:95:15::53
source_protocol: connected
set:
community:
community_attributes:
- none
metric:
rtt_action: set
origin: igp
call: rm1
- map_name: rm4
action: permit
sequence_num: 480
match:
evpn:
route_type: prefix
source_protocol: static
set:
metric:
rtt_action: subtract
state: merged
# After state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as1
# match evpn default-route
# match evpn vni 735
# match ip address prefix-list ip_pfx_list1
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Ethernet4
# match community bgp_comm_list1
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match peer 10.20.30.40
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 200,315,7135
# set community 35:58 79:150 308:650 local-AS no-advertise no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric 870
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set ipv6 next-hop prefer-global
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match evpn route-type multicast
# match peer Ethernet6
# match source-protocol ospf
# match origin incomplete
# set metric +rtt
# set origin incomplete
# !
# route-map rm3 deny 285
# match evpn route-type macip
# call rm1
# match peer 87:95:15::53
# match source-protocol connected
# match origin igp
# set community none
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# ------------
# Using "merged" state to update and add configuration
#
# Before state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as1
# match evpn default-route
# match evpn vni 735
# match ip address prefix-list ip_pfx_list1
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Ethernet4
# match community bgp_comm_list1
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match peer 10.20.30.40
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 200,315,7135
# set community 35:58 79:150 308:650 local-AS no-advertise no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric 870
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set ipv6 next-hop prefer-global
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match evpn route-type multicast
# match peer Ethernet6
# match source-protocol ospf
# match origin incomplete
# set metric +rtt
# set origin incomplete
# !
# route-map rm3 deny 285
# match evpn route-type macip
# call rm1
# match peer 87:95:15::53
# match source-protocol connected
# match origin igp
# set community none
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# ------------
#
- name: Merge additional and modified route map configuration
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
action: permit
sequence_num: 80
match:
as_path: bgp_as2
community: bgp_comm_list3
evpn:
route_type: prefix
vni: 850
interface: Vlan7
ip:
address: ip_pfx_list2
next_hop: ip_pfx_list3
peer:
interface: Portchannel14
set:
as_path_prepend: 188,257
community:
community_number:
- "45:736"
ipv6_next_hop:
prefer_global: false
metric:
rtt_action: add
- map_name: rm1
action: deny
sequence_num: 3047
match:
as_path: bgp_as3
ext_comm: bgp_ext_comm2
origin: igp
set:
metric:
rtt_action: subtract
- map_name: rm2
action: permit
sequence_num: 100
match:
interface: Ethernet16
set:
as_path_prepend: 200,300,400
ipv6_next_hop:
global_addr: 37::58
prefer_global: true
metric: 8000
- map_name: rm3
action: deny
sequence_num: 285
match:
local_preference: 14783
source_protocol: bgp
set:
community:
community_attributes:
- no_advertise
state: merged
# After state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn default-route
# match evpn route-type prefix
# match evpn vni 850
# match ip address prefix-list ip_pfx_list2
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community 35:58 79:150 308:650 45:736 local-AS no-advertise no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match as-path bgp_as3
# match evpn route-type multicast
# match ext-community bgp_ext_comm2
# match peer Ethernet6
# match source-protocol ospf
# match origin igp
# set metric -rtt
# set origin incomplete
# !
# route-map rm2 permit 100
# match interface Ethernet16
# set as-path prepend 200,300,400
# set ipv6 next-hop global 37::58
# set ipv6 next-hop prefer-global
# set metric 8000
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# Using "replaced" state to replace the contents of a list
#
# Before state:
# ------------
#
# sonic(config-route-map)# do show running-configuration route-map rm1 80
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn default-route
# match evpn route-type prefix
# match evpn vni 850
# match ip address prefix-list ip_pfx_list2
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community 35:58 79:150 308:650 45:736 local-AS no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# ------------
- name: Replace a list
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
action: permit
sequence_num: 80
set:
community:
community_number:
- "15:30"
- "26:54"
state: replaced
# After state:
# ------------
#
# sonic#show running-configuration route-map rm1 80
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn default-route
# match evpn route-type prefix
# match evpn vni 850
# match ip address prefix-list ip_pfx_list2
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community 15:30 26:54 local-AS no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# Using "replaced" state to replace the contents of dictionaries
#
# Before state:
# ------------
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn default-route
# match evpn route-type prefix
# match evpn vni 850
# match ip address prefix-list ip_pfx_list2
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community 15:30 26:54 local-AS no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match as-path bgp_as3
# match evpn route-type multicast
# match ext-community bgp_ext_comm2
# match peer Ethernet6
# match source-protocol ospf
# match origin igp
# set metric -rtt
# set origin incomplete
# !
# route-map rm2 permit 100
# match interface Ethernet16
# set as-path prepend 200,300,400
# set ipv6 next-hop global 37::58
# set ipv6 next-hop prefer-global
# set metric 8000
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# ------------
- name: Replace dictionaries
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
action: permit
sequence_num: 80
match:
evpn:
route_type: multicast
ip:
address: ip_pfx_list1
set:
community:
community_attributes:
- no_advertise
extcommunity:
rt:
- "20:20"
- map_name: rm2
action: permit
sequence_num: 100
set:
ipv6_next_hop:
global_addr: 45::90
state: replaced
# After state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn route-type multicast
# match ip address prefix-list ip_pfx_list1
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community no-advertise
# set extcommunity rt 20:20
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match as-path bgp_as3
# match evpn route-type multicast
# match ext-community bgp_ext_comm2
# match peer Ethernet6
# match source-protocol ospf
# match origin igp
# set metric -rtt
# set origin incomplete
# !
# route-map rm2 permit 100
# match interface Ethernet16
# set as-path prepend 200,300,400
# set metric 8000
# set ipv6 next-hop global 45::90
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# Using "overridden" state to override all existing configuration with new
# configuration
#
# Before state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn route-type multicast
# match ip address prefix-list ip_pfx_list1
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community no-advertise
# set extcommunity rt 30:40
# set extcommunity rt 20:20
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match as-path bgp_as3
# match evpn route-type multicast
# match ext-community bgp_ext_comm2
# match peer Ethernet6
# match source-protocol ospf
# match origin igp
# set metric -rtt
# set origin incomplete
# !
# route-map rm2 permit 100
# match interface Ethernet16
# set as-path prepend 200,300,400
# set metric 8000
# set ipv6 next-hop global 45::90
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# ------------
- name: Override all route map configuration with new configuration
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm5
action: permit
sequence_num: 250
match:
interface: Ethernet28
set:
as_path_prepend: 150,275
metric: 7249
state: overridden
# After state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm5 permit 250
# match interface Ethernet28
# set as-path prepend 150,275
# set metric 7249
# Using "overridden" state to override all existing configuration with new
# configuration. (Restore previous configuration.)
#
# Before state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm5 permit 250
# match interface Ethernet28
# set as-path prepend 150,275
# set metric 7249
# ------------
- name: Override (restore) all route map configuration with older configuration
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
action: permit
sequence_num: 80
match:
as_path: bgp_as2
community: bgp_comm_list3
evpn:
default_route: true
route_type: prefix
vni: 850
ext_comm: bgp_ext_comm1
interface: Vlan7
ip:
address: ip_pfx_list2
next_hop: ip_pfx_list3
ipv6:
address: ipv6_pfx_list1
local_preference: 8000
metric: 400
origin: egp
peer:
interface: Portchannel14
source_protocol: bgp
source_vrf: Vrf1
tag: 7284
set:
as_path_prepend: 188,257
comm_list_delete: bgp_comm_list2
community:
community_number:
- "35:58"
- "79:150"
- "308:650"
- "45:736"
community_attributes:
- local_as
- no_export
- no_peer
- additive
extcommunity:
rt:
- "30:40"
soo:
- "10.73.14.9:78"
ip_next_hop: 10.48.16.18
ipv6_next_hop:
global_addr: 30::30
local_preference: 635
metric:
rtt_action: add
origin: egp
weight: 93471
tag: 65
- map_name: rm1
action: deny
sequence_num: 3047
match:
as_path: bgp_as3
evpn:
route_type: multicast
ext_comm: bgp_ext_comm2
origin: igp
peer:
interface: Ethernet6
source_protocol: ospf
set:
metric:
rtt_action: subtract
origin: incomplete
- map_name: rm2
action: permit
sequence_num: 100
match:
interface: Ethernet16
set:
as_path_prepend: 200,300,400
ipv6_next_hop:
global_addr: 37::58
prefer_global: true
metric: 8000
- map_name: rm3
action: deny
sequence_num: 285
match:
evpn:
route_type: macip
origin: igp
peer:
ipv6: 87:95:15::53
local_preference: 14783
source_protocol: bgp
set:
community:
community_attributes:
- no_advertise
metric:
rtt_action: set
origin: igp
call: rm1
- map_name: rm4
action: permit
sequence_num: 480
match:
evpn:
route_type: prefix
source_protocol: static
set:
metric:
rtt_action: subtract
state: overridden
# After state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn default-route
# match evpn route-type prefix
# match evpn vni 850
# match ip address prefix-list ip_pfx_list2
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community 35:58 79:150 308:650 45:736 local-AS no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match as-path bgp_as3
# match evpn route-type multicast
# match ext-community bgp_ext_comm2
# match peer Ethernet6
# match source-protocol ospf
# match origin igp
# set metric -rtt
# set origin incomplete
# !
# route-map rm2 permit 100
# match interface Ethernet16
# set as-path prepend 200,300,400
# set ipv6 next-hop global 37::58
# set ipv6 next-hop prefer-global
# set metric 8000
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# Using "deleted" state to remove configuration
#
# Before state:
# ------------
#
# sonic# show running-configuration route-map rm1 80
# !
# route-map rm1 permit 80
# match as-path bgp_as2
# match evpn default-route
# match evpn route-type prefix
# match evpn vni 850
# match ip address prefix-list ip_pfx_list2
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match community bgp_comm_list3
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set as-path prepend 188,257
# set community 35:58 79:150 308:650 45:736 local-AS no-export no-peer additive
# set extcommunity rt 30:40
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# ------------
- name: Delete selected route map configuration
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
action: permit
sequence_num: 80
match:
as_path: bgp_as2
community: bgp_comm_list3
evpn:
vni: 850
ip:
address: ip_pfx_list2
set:
as_path_prepend: 188,257
community:
community_number:
- "35:58"
community_attributes:
- local_as
extcommunity:
rt:
- "30:40"
state: deleted
# After state:
# ------------
#
# sonic# show running-configuration route-map rm1 80
# !
# route-map rm1 permit 80
# match evpn default-route
# match evpn route-type prefix
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set community 79:150 308:650 45:736 no-export no-peer additive
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# Using "deleted" state to remove a route map or route map subset
#
# Before state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match evpn default-route
# match evpn route-type prefix
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set community 79:150 308:650 45:736 no-export no-peer additive
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm1 deny 3047
# match as-path bgp_as3
# match evpn route-type multicast
# match ext-community bgp_ext_comm2
# match peer Ethernet6
# match source-protocol ospf
# match origin igp
# set metric -rtt
# set origin incomplete
# !
# route-map rm2 permit 100
# match interface Ethernet16
# set as-path prepend 200,300,400
# set metric 8000
# set ipv6 next-hop prefer-global
# set ipv6 next-hop global 37::58
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# ------------
- name: Delete a route map subset or a route map
dellemc.enterprise_sonic.sonic_route_maps:
config:
- map_name: rm1
sequence_num: 3047
- map_name: rm2
state: deleted
# After state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match evpn default-route
# match evpn route-type prefix
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set community 79:150 308:650 45:736 no-export no-peer additive
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# Using "deleted" state to remove all route map configuration
#
# Before state:
# ------------
#
# sonic# show running-configuration route-map
# !
# route-map rm1 permit 80
# match evpn default-route
# match evpn route-type prefix
# match ipv6 address prefix-list ipv6_pfx_list1
# match interface Vlan7
# match ext-community bgp_ext_comm1
# match tag 7284
# match local-preference 8000
# match source-vrf Vrf1
# match ip next-hop prefix-list ip_pfx_list3
# match peer PortChannel 14
# match source-protocol bgp
# match metric 400
# match origin egp
# set community 79:150 308:650 45:736 no-export no-peer additive
# set extcommunity soo 10.73.14.9:78
# set comm-list bgp_comm_list2 delete
# set metric +rtt
# set ip next-hop 10.48.16.18
# set ipv6 next-hop global 30::30
# set local-preference 635
# set origin egp
# set weight 93471
# set tag 65
# !
# route-map rm3 deny 285
# match evpn route-type macip
# match local-preference 14783
# call rm1
# match peer 87:95:15::53
# match source-protocol bgp
# match origin igp
# set community no-advertise
# set metric rtt
# set origin igp
# !
# route-map rm4 permit 480
# match evpn route-type prefix
# match source-protocol static
# set metric -rtt
# ------------
- name: Delete all route map configuration
dellemc.enterprise_sonic.sonic_route_maps:
config: []
state: deleted
# After state:
# ------------
#
# sonic# show running-configuration route-map
# sonic#
# (no route map configuration present)
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
after список / элементы=строка | Вызов модуля конфигурации в результате. Возвращается: при изменении Пример: |
after(generated) список / элементы=строка | Вызов сгенерированного модуля конфигурации. Возвращается: когда Пример: |
before список / элементы=строка | Конфигурация до вызова модуля. Возвращается: всегда Пример: |
commands список / элементы=строка | Набор команд, отправленных на удаленное устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/dellemc/enterprise_sonic/sonic_route_maps_module.html