Модуль dellemc.enterprise_sonic.sonic_route_maps — управление конфигурацией карт маршрутизации для SONiC
Примечание
Этот модуль входит в коллекцию dellemc.enterprise_sonic (версия 3.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 |
Тип действия для карты маршрутов (permit или deny) Это значение требуется для создания и изменения карты маршрутов или ее атрибутов, а также для удаления атрибутов карты маршрутов. Его можно опустить только при запросе на удаление оператора карты маршрутов или всех операторов карты маршрутов для указанной карты маршрутов map_name. Варианты:
|
|
call string |
Имя карты маршрутов, к которой выполняется переход после выполнения операторов ‘match’ и ‘set’ для текущей карты маршрутов. |
|
map_name string / обязательный |
Имя карты маршрутов |
|
match dictionary |
Критерии сопоставления карты маршрутов с маршрутом |
|
as_path string |
Имя настроенного списка путей BGP AS, который проверяется на соответствие целевому маршруту |
|
community string |
Имя настроенного «сообщества» BGP, которое проверяется на соответствие целевому маршруту |
|
evpn dictionary |
Ethernet VPN BGP, проверяемый на соответствие целевому маршруту |
|
default_route boolean |
Маршрут EVPN типа 5 по умолчанию Варианты:
|
|
route_type string |
Тип маршрута, отличный от типа по умолчанию. Одно из следующих значений: маршрут mac-ip, маршрут EVPN типа 3 Inclusive Multicast Ethernet Tag (IMET) или маршрут префикса Варианты:
|
|
vni integer |
ID 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 / обязательный |
имя списка префиксов 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, задающий приоритет карты Это значение требуется для создания и изменения карты маршрутов или ее атрибутов, а также для удаления атрибутов карты маршрутов. Его можно опустить только при запросе на удаление всех «операторов» карты маршрутов для указанного «map_name» карты маршрутов. |
|
set dictionary |
Данные, задаваемые для соответствующего маршрута при повторном распространении |
|
ars_object string добавлено в dellemc.enterprise_sonic 3.1.0 |
Объект адаптивной маршрутизации и коммутации |
|
as_path_prepend string |
Строка с разделенным запятыми списком номеров AS-путей, добавляемых в начало атрибута AS-path BGP соответствующего маршрута. Значения 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, задаваемые для соответствующего маршрута. |
|
bandwidth dictionary добавлено в dellemc.enterprise_sonic 3.1.0 |
Расширенное сообщество пропускной способности канала |
|
bandwidth_value string / обязательный |
Допустимо одно из следующих значений <1..4294967295> Совокупная пропускная способность всех путей с балансировкой нагрузки (только для исходящего направления) num-multipaths Пропускная способность, вычисляемая внутри системы на основе числа путей с балансировкой нагрузки (только для исходящего направления) |
|
transitive_value boolean |
Рабочее значение по умолчанию — false, если этот параметр не указан. True — транзитивный атрибут, false — нетранзитивный. Если задано значение true, включать расширенное сообщество пропускной способности канала в объявления маршрутов, отправляемые соседям через границы AS (соседям eBGP). Если задано значение false, удалять расширенное сообщество пропускной способности канала из объявлений маршрутов, отправляемых через границы AS. Варианты:
|
|
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 dictionary |
Атрибуты IPv4-адреса следующего узла, задаваемые для соответствующего маршрута |
|
address string |
IPv4-адрес следующего узла, задаваемый для соответствующего маршрута в формате с точечной десятичной записью A.B.C.D |
|
native boolean |
Задать собственный или базовый следующий узел Варианты:
|
|
ipv6_next_hop dictionary |
Атрибуты IPv6-адреса следующего узла, задаваемые для соответствующего маршрута |
|
global_addr string |
Глобальный IPv6-адрес следующего узла, задаваемый для соответствующего маршрута в формате A::B |
|
native boolean |
Задать собственный или базовый следующий узел Варианты:
|
|
prefer_global boolean |
Задать соответствующий атрибут для соответствующего маршрута, если значение этого атрибута Ansible равно ‘true’. Атрибут указывает, что алгоритм маршрутизации должен отдавать предпочтение глобальному адресу следующего узла перед локальным адресом канала, если доступны оба адреса. Варианты:
|
|
local_preference integer |
Атрибут пути локального предпочтения BGP; целое значение в диапазоне 0-4294967295 |
|
metric dictionary |
Действия со значением метрики маршрута value и rtt_action являются взаимоисключающими. |
|
rtt_action string |
Действие по изменению метрики соответствующего маршрута с использованием времени кругового обхода (rtt);
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:
address: 10.48.16.18
native: true
ipv6_next_hop:
global_addr: 30::30
prefer_global: true
native: 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 ip next-hop native true
# set ipv6 next-hop global 30::30
# set ipv6 next-hop prefer-global
# set ipv6 next-hop native true
# 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
native: true
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
# set ipv6 next-hop native true
# !
# 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:
address: 10.48.16.18
native: false
ipv6_next_hop:
global_addr: 30::30
native: false
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 ip next-hop native false
# set ipv6 next-hop global 30::30
# set ipv6 next-hop native false
# 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 ip next-hop native true
# 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
ip_next_hop:
address: 10.48.16.18
native: true
ipv6_next_hop:
native: true
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 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 list / elements=string | Конфигурация, полученная в результате вызова модуля. Возвращается: при изменении Пример: |
after(generated) list / elements=string | Сгенерированная конфигурация при вызове модуля. Возвращается: когда Пример: |
before list / elements=string | Конфигурация до вызова модуля. Возвращается: всегда Пример: |
commands list / elements=string | Набор команд, отправленных на удалённое устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/dellemc/enterprise_sonic/sonic_route_maps_module.html