Spec-Zone.ru › Ansible

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.

Варианты:

  • "permit"
  • "deny"

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 по умолчанию

Варианты:

  • false
  • true

route_type

string

Тип маршрута, отличный от маршрута по умолчанию: один из следующих:

маршрут mac-ip, маршрут EVPN типа 3 Inclusive Multicast Ethernet

метка (IMET) или префиксный маршрут

Варианты:

  • "macip"
  • "multicast"
  • "prefix"

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, которое необходимо проверить на совпадение с целевым маршрутом

Варианты:

  • "egp"
  • "igp"
  • "incomplete"

peer

dictionary

Пир/сосед маршрутизации BGP, необходимый для соответствия маршрута

ip, ipv6 и interface являются взаимоисключающими.

interface

string

Имя (тип и номер) интерфейса пира BGP

Допустимые типы интерфейсов — Ethernet или Eth (в зависимости

от настроенного режима именования интерфейса),

Vlan и Portchannel

ip

string

IPv4-адрес пира BGP

ipv6

string

IPv6-адрес пира BGP

source_protocol

string

Исходный протокол, необходимый для соответствия маршрута

Варианты:

  • "bgp"
  • "connected"
  • "ospf"
  • "static"

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.

Варианты:

  • "local_as"
  • "no_advertise"
  • "no_export"
  • "no_peer"
  • "additive"
  • "none"

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, если оба существуют.

Варианты:

  • false
  • true

local_preference

integer

Атрибут пути локальной предпочтения BGP; целочисленное значение в диапазоне 0-4294967295

metric

dictionary

Действия по маршрутной метрике

value и rtt_action взаимоисключают.

rtt_action

string

Действие для изменения метрики соответствующего маршрута с использованием времени обратного прохода (rtt);

set приводит к установке метрики маршрута в значение rtt.

add приводит к добавлению значения rtt к метрике маршрута.

subtract приводит к вычитанию значения rtt из метрики маршрута.

Варианты:

  • "set"
  • "add"
  • "subtract"

value

integer

Значение метрики, которое нужно установить в соответствующий маршрут; значение в диапазоне 0-4294967295

origin

string

Происхождение маршрута BGP; должен быть выбран один из следующих вариантов.

egp (Внешний; удаленный EGP)

igp (Внутренний; локальный IGP)

incomplete (Неизвестное происхождение)

Варианты:

  • "egp"
  • "igp"
  • "incomplete"

tag

integer

Значение тега, которое нужно установить для соответствующего маршрута

Значение должно быть в диапазоне 1-4294967295

weight

integer

Вес BGP, который нужно установить для соответствующего маршрута: Вес должен быть целым числом в диапазоне 0-4294967295

state

string

Определяет тип обновления конфигурации, который нужно выполнить на устройстве.

Для merged, объединить указанные атрибуты с существующими настроенными атрибутами.

Для deleted, удалить указанные атрибуты из существующей конфигурации.

Для replaced, заменить каждый измененный список или словарь на указанные элементы.

Для overridden, заменить всю текущую конфигурацию для этого модуля ресурса указанной конфигурацией.

Варианты:

  • "merged" ← (по умолчанию)
  • "deleted"
  • "replaced"
  • "overridden"

Примечания

Примечание

  • Поддерживает 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

список / элементы=строка

Вызов модуля конфигурации в результате.

Возвращается: при изменении

Пример: ["The configuration returned will always be in the same format\n as the parameters above.\n"]

after(generated)

список / элементы=строка

Вызов сгенерированного модуля конфигурации.

Возвращается: когда check_mode

Пример: ["The configuration returned will always be in the same format as the parameters above.\n"]

before

список / элементы=строка

Конфигурация до вызова модуля.

Возвращается: всегда

Пример: ["The configuration returned will always be in the same format\n as the parameters above.\n"]

commands

список / элементы=строка

Набор команд, отправленных на удаленное устройство.

Возвращается: всегда

Пример: ["command 1", "command 2", "command 3"]

Авторы

  • Kerry Meyer (@kerry-meyer)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (источники)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API