Карта маршрутов Dell Networking SONiC

Summary: В этой статье рассказывается о схеме маршрутов на простом примере в Dell Networking SONiC.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

 
Необходимые условия
Для демонстрации концепций мы используем стандартное именование интерфейса. См. статью Dell Networking серии S. Базовая конфигурация интерфейса — SONiC 4.0 для получения дополнительной информации о принципе именования интерфейса. 
 

Указатель

Что такое маршрут-карта.
Сопоставление и установка значений операторов.
Синтаксис
конфигурацииСоздать карту маршрута
Заявление о сопоставлении
Оператор
SetЗаявление о
звонкеУдалить конфигурацию
карты маршрутовПроверить карту маршрута
Пример конфигурации                                          

 

Что такое маршрут-карта.

Route-Map используется для редактирования и управления изучением маршрутов в процессе маршрутизации OSPF или BGP. Он также играет роль в создании маршрута по умолчанию в процессе маршрутизации OSPF. По сути, карта маршрутов определяет, какие маршруты из указанного протокола маршрутизации разрешено перераспределять в целевой процесс маршрутизации. 

Для фильтрации маршрутов для перераспределения используйте карты маршрутов со списками IP-префиксов и/или список путей AS.

В таблице ниже описаны действия, выполняемые при обнаружении нескольких команд сопоставления в одной последовательности карты маршрутов.
Выписка из карты маршрута Оператор списка префиксов Совпадение/отсутствие совпадения маршрута Действие
Разрешение Разрешение Матч Маршрут разрешен и может выполнять set или call.
Разрешение Нет совпадений Перейти к следующей последовательности на карте маршрута
Запретить Матч Перейти к следующей последовательности на карте маршрута
Запретить Нет совпадений Перейти к следующей последовательности на карте маршрута
Запретить Разрешение Матч Маршрут запрещен.
Разрешение Нет совпадений Перейти к следующей последовательности на карте маршрута
Запретить Матч Перейти к следующей последовательности на карте маршрута
Запретить Нет совпадений Перейти к следующей последовательности на карте маршрута


 

Сопоставление и установка значений операторов.

Каждая инструкция карты маршрутов имеет два типа значений:
  • Значение match выбирает маршруты, к которым должен применяться этот оператор.
  • Заданное значение изменяет информацию, которая должна быть перераспределена в целевой протокол.
Для каждого маршрута, который перераспределяется, маршрутизатор сначала оценивает критерии соответствия оператора в карте маршрутов. Если критерии соответствия выполнены успешно, то маршрут перераспределяется или отклоняется в соответствии с инструкцией permit или deny, а некоторые из его атрибутов могут быть изменены значениями, заданными из команд set.

Если критерии соответствия не пройдены, то эта инструкция неприменима к маршруту, и DELL SONiC начнет оценивать маршрут в сравнении со следующей инструкцией на карте маршрутов. Сканирование карты маршрутов продолжается до тех пор, пока не будет найдено утверждение, соответствующее маршруту, или пока не будет достигнут конец карты маршрутов.

Совпадение или заданное значение в каждом операторе может быть пропущено или повторено несколько раз, если существует одно из следующих условий:
  • Если в операторе присутствует несколько записей соответствия, все они должны быть успешными для данного маршрута, чтобы этот маршрут соответствовал оператору (применяется логический алгоритм И)
  • Если запись соответствия видит несколько объектов в одной записи, любой из них должен совпадать (применяется логический алгоритм ИЛИ)
  • Если запись соответствия отсутствует, все маршруты соответствуют оператору.
  • Если в операторе разрешения карты маршрутов отсутствует запись множества, то маршрут перераспределяется без изменения его текущих атрибутов.
  • Оператор карты маршрутов без записи match или set выполняет действие. Пустая инструкция permit позволяет перераспределять оставшиеся трассы без изменений.
  • Пустой оператор deny не позволяет перераспределять другие маршруты, так как это действие по умолчанию, если карта маршрутов завершена, проверена, но явное совпадение не найдено.
 

Синтаксис конфигурации

 

Создать карту маршрута

Создайте карту маршрута в соответствии с параметрами маршрута, указанными на следующем шаге. Укажите оператор permit или deny, чтобы настроить способ обработки соответствующих маршрутов. Введите порядковый номер для порядка, в котором оператор обрабатывается на карте.

Синтаксис команд
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
 

Заявление о сопоставлении

В режиме конфигурации карты маршрутов введите любое из этих утверждений match, чтобы выбрать маршруты.
Синтаксис команд
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
DELLSONiC(config-route-map)# match {match statement}
Possible Match Statements

  as-path           Set routing policy match criteria as-path
  community         Set routing policy match criteria to BGP community
  evpn              Set routing policy match criteria to BGP Ethernet Virtual Private Network
  ext-community     Set routing policy match criteria to BGP extended community
  interface         Set routing policy match criteria to interface
  ip                Set routing policy match criteria
  ipv6              Set routing policy match criteria
  local-preference  Set routing policy match criteria to local-preference
  metric            Set routing policy match criteria to metric
  origin            Specify BGP origin
  peer              Set routing policy match criteria to peer IP
  source-protocol   Specify source protocol
  source-vrf        Source VRF
  tag               Redistributes routes in the routing table that match the specified tags.
 
 

Оператор Set

В режиме конфигурации карты маршрутов введите любое из этих операторов set, чтобы изменить указанный атрибут BGP в соответствующих маршрутах.
Синтаксис команд
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
DELLSONiC(config-route-map)# set {Set-statement}
Possible Set-Statement

  as-path           Transform BGP AS-path attribute
  comm-list         Set BGP community list (for deletion)
  community         BGP community attribute
  extcommunity      BGP extended community attribute
  ip                IPv4 information
  ipv6              IPv6 information
  local-preference  BGP local preference path attribute
  metric            Set metric value action for the routing policy
  origin            BGP origin code
  tag               Tag value for routing protocol
  weight            BGP weight for routing table

 

Заявление о звонке

Оператор "call" позволяет вызвать другую маршрут-карту, если выполняется условие совпадения.
Синтаксис команд
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
DELLSONiC (config-route-map)# call {route-map-name}
 

Удалить конфигурацию

Перед удалением карты маршрутов обязательно удалите все связи с картой маршрутов. 

Чтобы удалить настроенное значение в записи карты маршрутов, введите команду «no version» match или set.
Примере
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
DELLSONiC (config-route-map)# no match as-path
DELLSONiC (config-route-map)# no set origin
DELLSONiC (config-route-map)# no call
Удалить карту маршрута.
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# no route-map map-name
 

Проверить карту маршрута

Используйте следующие команды для проверки конфигурации карты маршрута. 
DELLSONiC# show route-map
DELLSONiC# show route-map {route-map-name}

Используйте команды, приведенные ниже, чтобы найти карту маршрута, примененную к соседу.
DELLSONiC# show bgp ipv4 unicast neighbors
DELLSONiC# show bgp ipv6 unicast neighbors

Вы также можете выполнить команду «grep» с политикой в приведенных выше командах, чтобы получить меньший вывод. 
DELLSONiC#show bgp ipv4 unicast neighbors <neighbor>| find policy


 

Образец конфигурации

Требование: См. топологию ниже. DELL-SONiC-R1 объявляет DELL-SONiC-R2 три IP-адреса 1.1.1.1/32, 2.2.2.2/32 и 3.3.3.3/32 с использованием протокола BGP.
                      
Предположим, что нам нужно, чтобы путь к 1.1.1.1/32 был объявлен как имеющий Origin EGP для получения на DELL-SONiC-R3.  
                       Маршруты 2.2.2.2/32 и 3.3.3.3/32 изменять не следует.


Пример топологии

Давайте сначала настроим список префиксов. Назовем список префиксов IP-LIST-TO-MODIFY и разрешим префикс 1.1.1.1/32.
 
DELL-SONiC-R2# configure
DELL-SONiC-R2(config)# ip prefix-list IP-LIST-TO-MODIFY seq 1 permit 1.1.1.1/32
DELL-SONiC-R2(config)# exit
DELL-SONiC-R2#
DELL-SONiC-R2# show ip prefix-list
IP prefix list IP-LIST-TO-MODIFY:
     seq 1 permit 1.1.1.1/32
DELL-SONiC-R2#

Настроим карту маршрута на DELL-SONiC-R2. Назовем карту маршрута MAP-TO-MODIFICATION 
DELL-SONiC-R2# configure
DELL-SONiC-R2(config)# route-map MAP-TO-MODIFICATION permit 1
DELL-SONiC-R2(config-route-map)# match ip address prefix-list IP-LIST-TO-MODIFY
DELL-SONiC-R2(config-route-map)# set origin egp
DELL-SONiC-R2(config-route-map)# exit
DELL-SONiC-R2(config)# route-map MAP-TO-MODIFICATION permit 2
DELL-SONiC-R2(config-route-map)# exit
DELL-SONiC-R2(config)# exit
DELL-SONiC-R2#
 
Давайте разберем конфигурацию для дальнейшего объяснения.
Here under sequence 1 the match condition is to match any IP in prefix list IP-LIST-TO-MODIFY where we already have specified 1.1.1.1/32.
So when 1.1.1.1/32 IP matches the cation to be taken is set the origin code to egp.

DELL-SONiC-R2# configure
DELL-SONiC-R2(config)# route-map MAP-TO-MODIFICATION permit 1
DELL-SONiC-R2(config-route-map)# match ip address prefix-list IP-LIST-TO-MODIFY
DELL-SONiC-R2(config-route-map)# set origin egp
DELL-SONiC-R2(config-route-map)# exit
The next sequence is to allow all other routes (2.2.2.2/32 and 3.3.3.3/32) without any modification. 
You can write a separate prefix list for this but for simplicity we are not defining any match entry. 
If a match entry is not present, all routes are considered match under the sequence. 
If no set action is specified the default action is redistribute the route without any modification. 

DELL-SONiC-R2(config)# route-map MAP-TO-MODIFICATION permit 2
DELL-SONiC-R2(config-route-map)# exit
DELL-SONiC-R2(config)# exit
DELL-SONiC-R2#

Давайте проверим конфигурацию карты маршрутов.

DELL-SONiC-R2# show running-configuration route-map
!
route-map MAP-TO-MODIFICATION permit 1
 match ip address prefix-list IP-LIST-TO-MODIFY
 set origin egp
!
route-map MAP-TO-MODIFICATION permit 2
DELL-SONiC-R2#
DELL-SONiC-R2# show route-map
Route map MAP-TO-MODIFICATION:
   permit, sequence 1
    Match clauses:
      ip address prefix-list IP-LIST-TO-MODIFY
    Set clauses:
      route origin EGP
    Call clauses:
    Actions:
      Exit routemap
   permit, sequence 2
    Match clauses:
    Set clauses:
    Call clauses:
    Actions:
      Exit routemap
DELL-SONiC-R2#

Применим карту маршрутов MAP-TO-MODIFICATION в исходящем направлении к соседу DELL-SONiC-R3 (20.0.0.2)
DELL-SONiC-R2(config)# router bgp 100
DELL-SONiC-R2(config-router-bgp)# neighbor 20.0.0.2
DELL-SONiC-R2(config-router-bgp-neighbor)# remote-as 200
DELL-SONiC-R2(config-router-bgp-neighbor)# no shutdown
DELL-SONiC-R2(config-router-bgp-neighbor)# address-family ipv4 unicast
DELL-SONiC-R2(config-router-bgp-neighbor-af)# route-map MAP-TO-MODIFICATION out          ===>Apply the Route-map in outbound direction
DELL-SONiC-R2(config-router-bgp-neighbor-af)# end
DELL-SONiC-R2#

Давайте проверим конфигурацию bgp.
DELL-SONiC-R2# show running-configuration bgp
!
router bgp 100
 log-neighbor-changes
 timers 60 180
 !
 neighbor 10.0.0.1
  remote-as 100
  !
  address-family ipv4 unicast
   activate
 !
 neighbor 20.0.0.2
  remote-as 200
  !
  address-family ipv4 unicast
   activate
   route-map MAP-TO-MODIFICATION out
DELL-SONiC-R2#

Мы видим, что карта маршрутов MAP-TO-MODIFICATION применена к соседу 20.0.0.2.
DELL-SONiC-R2# show bgp ipv4 unicast neighbors 20.0.0.2

BGP neighbor is 20.0.0.2, remote AS 200, local AS 100, external link
  BGP version 4, remote router ID 20.0.0.2 , local router ID 20.0.0.1
  BGP state = Established, up for 00:35:59
  Last read 00:00:59, Last write 00:00:59
  Hold time is 180 seconds, keepalive interval is 60 seconds
  Minimum time between advertisement runs is 0 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    AddPath IPv4 Unicast Receive: advertised and received
    Route refresh: advertised and received
    Multiprotocol Extension: advertised and received
    Graceful restart: advertised and received
    Hostname capability advertised (name: DELL-SONiC-R2) received (name: DELL-SONiC-R3)
  Message statistics:
    InQ depth is 0
    OutQ depth is 0
                         Sent        Rcvd
    Opens:               2           2
    Notifications:       0           0
    Updates:             10          4
    Keepalive:           37          37
    Route Refresh:       0           0
    Capability:          0           0
    Total:               49          43

  For address family: IPv4 Unicast
    Address-family enabled
    Prefixes received 0
     Export policy:
    MAP-TO-MODIFICATION                 
  Connections established 2, dropped 1
  Last reset 00:36:00, Last reset reason Peer closed the session
  Local host: 20.0.0.1, Local port: 57552
  Foreign host: 20.0.0.2, Foreign port: 179
  BGP Connect Retry Timer in Seconds 30


DELL-SONiC-R2#



Проверка

Посмотрим, как выглядят маршруты 1.1.1.1/32, 2.2.2.2/32 и 3.3.3.3/32 на DELL-SONiC-R1, DELL-SONiC-R2, DELL-SONiC-R3.

На DELL-SONiC-R1
 
DELL-SONiC-R1# show bgp ipv4 unicast
BGP routing table information for VRF default
Router identifier 10.0.0.1, local AS number 100
Status codes: R - removed, S - stale, s - suppressed, * - valid
              h - history, d - damped, > - best, = - multipath, q - queued, r - RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
     Network             Next Hop                                 Metric      LocPref     Weight Path
*>   1.1.1.1/32          0.0.0.0                                  0                       32768      ?                       
*>   2.2.2.2/32          0.0.0.0                                  0                       32768      ?
*>   3.3.3.3/32          0.0.0.0                                  0                       32768      ?
*>   10.0.0.0/24         0.0.0.0                                  0                       32768      ?
DELL-SONiC-R1#
DELL-SONiC-R1# show bgp ipv4 unicast 1.1.1.1
BGP routing table entry for 1.1.1.1/32
Paths: (1 available, best #1, table default)
  Local
    0.0.0.0 from 0.0.0.0 (10.0.0.1)
      Origin incomplete, metric 0, weight 32768, valid, best (First path received)
      Last update: 2024-02-21 17:15:48+0000
DELL-SONiC-R1#

DELL-SONiC-R1# show bgp ipv4 unicast 2.2.2.2
BGP routing table entry for 2.2.2.2/32
Paths: (1 available, best #1, table default)
  Local
    0.0.0.0 from 0.0.0.0 (10.0.0.1)
      Origin incomplete, metric 0, weight 32768, valid, best (First path received)
      Last update: 2024-02-21 17:15:48+0000
DELL-SONiC-R1#


We can see the Origin incomplete for 1.1.1.1/32 and 2.2.2.2/32


DELL-SONiC-R1# show ip route
Codes:  K - kernel route, C - connected, S - static, B - BGP, O - OSPF
        > - selected route, * - FIB route, q - queued route, r - rejected route
       Destination        Gateway                                                                    Dist/Metric   Last Update
--------------------------------------------------------------------------------------------------------------------------------
 C>*   1.1.1.1/32         Direct                          Loopback0                                  0/0           00:38:32 ago
 C>*   2.2.2.2/32         Direct                          Loopback1                                  0/0           00:38:32 ago
 C>*   3.3.3.3/32         Direct                          Loopback3                                  0/0           00:38:32 ago
 C>*   10.0.0.0/24        Direct                          Eth1/1                                     0/0           00:38:32 ago


На DELL-SONiC-R2
 
DELL-SONiC-R2# show bgp ipv4 unicast
BGP routing table information for VRF default
Router identifier 20.0.0.1, local AS number 100
Status codes: R - removed, S - stale, s - suppressed, * - valid
              h - history, d - damped, > - best, = - multipath, q - queued, r - RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
     Network             Next Hop                                 Metric      LocPref     Weight Path
*>   1.1.1.1/32          10.0.0.1                                 0           100         0          ?                               
*>   2.2.2.2/32          10.0.0.1                                 0           100         0          ?
*>   3.3.3.3/32          10.0.0.1                                 0           100         0          ?
*>   10.0.0.0/24         10.0.0.1                                 0           100         0          ?
DELL-SONiC-R2#
DELL-SONiC-R2# show bgp ipv4 unicast 1.1.1.1
BGP routing table entry for 1.1.1.1/32
Paths: (1 available, best #1, table default)
  Local
    10.0.0.1 from 10.0.0.1 (10.0.0.1)
      Origin incomplete, metric 0, localpref 100, valid, internal, best (First path received)
      Last update: 2024-02-21 17:17:25+0000
DELL-SONiC-R2#

DELL-SONiC-R2# show bgp ipv4 unicast 2.2.2.2
BGP routing table entry for 2.2.2.2/32
Paths: (1 available, best #1, table default)
  Local
    10.0.0.1 from 10.0.0.1 (10.0.0.1)
      Origin incomplete, metric 0, localpref 100, valid, internal, best (First path received)
      Last update: 2024-02-21 17:17:26+0000
DELL-SONiC-R2#


We can see the Origin incomplete for 1.1.1.1/32 and 2.2.2.2/32.
DELL-SONiC-R2# show ip route
Codes:  K - kernel route, C - connected, S - static, B - BGP, O - OSPF
        > - selected route, * - FIB route, q - queued route, r - rejected route
       Destination        Gateway                                                                    Dist/Metric   Last Update
--------------------------------------------------------------------------------------------------------------------------------
 B>*   1.1.1.1/32         via 10.0.0.1                    Eth1/1                                     200/0         00:39:48 ago
 B>*   2.2.2.2/32         via 10.0.0.1                    Eth1/1                                     200/0         00:39:48 ago
 B>*   3.3.3.3/32         via 10.0.0.1                    Eth1/1                                     200/0         00:39:48 ago
 B     10.0.0.0/24        via 10.0.0.1                                                               200/0         00:39:48 ago
 C>*   10.0.0.0/24        Direct                          Eth1/1                                     0/0           00:40:08 ago
 C>*   20.0.0.0/24        Direct                          Eth1/2                                     0/0           00:40:08 ago


На DELL-SONiC-R3
 
DELL-SONiC-R3# show bgp ipv4 unicast
BGP routing table information for VRF default
Router identifier 20.0.0.2, local AS number 200
Status codes: R - removed, S - stale, s - suppressed, * - valid
              h - history, d - damped, > - best, = - multipath, q - queued, r - RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
     Network             Next Hop                                 Metric      LocPref     Weight Path
*>   1.1.1.1/32          20.0.0.1                                                         0      100 e
*>   2.2.2.2/32          20.0.0.1                                                         0      100 ?
*>   3.3.3.3/32          20.0.0.1                                                         0      100 ?
*>   10.0.0.0/24         20.0.0.1                                                         0      100 ?
DELL-SONiC-R3# 

Note the e(highlighted in red). This means the origin is EGP for 1.1.1.1/32.
DELL-SONiC-R3# show bgp ipv4 unicast 1.1.1.1/32
BGP routing table entry for 1.1.1.1/32
Paths: (1 available, best #1, table default)
  100
    20.0.0.1 from 20.0.0.1 (20.0.0.1)
      Origin EGP, valid, best
      Last update: 2024-02-21 17:17:27+0000
DELL-SONiC-R3#

We can see 1.1.1.1/32 has Origin EGP.
Lets check 2.2.2.2/32 origin

DELL-SONiC-R3# show bgp ipv4 unicast 2.2.2.2
BGP routing table entry for 2.2.2.2/32
Paths: (1 available, best #1, table default)
  100
    20.0.0.1 from 20.0.0.1 (20.0.0.1)
      Origin incomplete, metric , valid, external, best (First path received)
      Last update: 2024-02-21 17:17:26+0000
DELL-SONiC-R3#

We can see Origin incomplete for 2.2.2.2/32. 
DELL-SONiC-R3# show ip route
Codes:  K - kernel route, C - connected, S - static, B - BGP, O - OSPF
        > - selected route, * - FIB route, q - queued route, r - rejected route
       Destination        Gateway                                                                    Dist/Metric   Last Update
--------------------------------------------------------------------------------------------------------------------------------
 B>*   1.1.1.1/32         via 20.0.0.1                    Eth1/2                                     20/0          00:41:27 ago
 B>*   2.2.2.2/32         via 20.0.0.1                    Eth1/2                                     20/0          00:41:27 ago
 B>*   3.3.3.3/32         via 20.0.0.1                    Eth1/2                                     20/0          00:41:27 ago
 B>*   10.0.0.0/24        via 20.0.0.1                    Eth1/2                                     20/0          00:41:27 ago
 C>*   20.0.0.0/24        Direct                          Eth1/2                                     0/0           00:41:39 ago
DELL-SONiC-R3#
 

Affected Products

Enterprise SONiC Distribution, PowerSwitch E3200-ON Series, Dell EMC Networking N3200-ON, PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9264F-ON, PowerSwitch Z9332F-ON , PowerSwitch Z9432F-ON ...
Article Properties
Article Number: 000222196
Article Type: How To
Last Modified: 21 Mar 2024
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.