Dell Networking SONiC Route Map

Summary: This article explains about Route Map with a basic example in 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

 
Prerequisites
We are using standard interface naming to demonstrate the Concepts. See the article Dell Networking S-Series: Basic Interface Configuration - SONiC 4.0 for more information regarding interface naming 
 

Index

What is a Route-Map.
Match and set statement values.
Configuration Syntax
       Create Route map
       Match Statement
       Set Statement
       Call Statement
       Remove Route-map configuration
       Verify Route map
Sample configuration

 

What is a Route-Map.

Route-Map is used for editing and controlling route learning in the OSPF or BGP routing process. It also plays a role in generating a default route within an OSPF routing process. Essentially, a route-map specifies which routes from a specified routing protocol are permitted to be redistributed into the target routing process. 

To filter routes for redistribution, use route-maps with IP prefix lists and or AS Path List.

The table below outlines the actions taken when multiple match commands are encountered within a single route-map sequence.
Route-map Statement Prefix list Statement Route Match/No Match Action
Permit Permit Match Route is permitted and can perform set or call.
Permit No Match Continue with next route-map sequence
Deny Match Continue with next route-map sequence
Deny No Match Continue with next route-map sequence
Deny Permit Match Route is denied.
Permit No Match Continue with next route-map sequence
Deny Match Continue with next route-map sequence
Deny No Match Continue with next route-map sequence


 

Match and set statement values.

Each route-map statement has two types of values:
  • A match value selects routes to which this statement should be applied.
  • A set value modifies information that is to be redistributed into the target protocol.
For each route that is redistributed, the router first evaluates the match criteria of a statement in the route-map. If the match criteria succeed, then the route is redistributed or rejected as dictated by the permit or deny statement, and some of its attributes may be modified by the values set from the set commands.

If the match criteria fail, then this statement is not applicable to the route, then DELL SONiC will proceed to evaluate the route against the next statement in the route-map. Scanning of the route-map continues until a statement is found that matches the route or until the end of the route-map is reached.

A match or set value in each statement can be missed or repeated several times, if ones of these conditions exist:
  • If several match entries are present in a statement, all must succeed for a given route in order for that route to match the statement (a logical AND algorithm is applied)
  • If a match entry sees several objects in one entry, either of them should match (a logical OR algorithm is applied)
  • If a match entry is not present, all routes match the statement.
  • If a set entry is not present in the route-map permit statement, then the route is redistributed without modification of its current attributes.
  • A route-map statement without a match or set entry does perform an action. An empty permit statement allows a redistribution of the remaining routes without modification.
  • An empty deny statement does not allow a redistribution of other routes as this is the default action if a route-map is completed scanned but no explicit match is found.
 

Configuration Syntax

 

Create Route map

Create a route-map to match the route parameters listed in the next step. Specify a permit or deny statement to configure how matching routes are handled. Enter the sequence number for the order in which the statement is processed in the map.

Command Syntax
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
 

Match Statement

In route-map configuration mode, enter any of these match statements to select routes.
Command Syntax
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 Statement

In route-map configuration mode, enter any of these set statements to change the specified BGP attribute in matching routes.
Command Syntax
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 Statement

The "call" statement allow to call another route-map if the match condition is satisfied.
Command Syntax
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# route-map map-name {permit | deny} {sequence-number}
DELLSONiC (config-route-map)# call {route-map-name}
 

Remove Configuration

Ensure to remove any route-map association before removing route-map. 

To remove a configured value in a route-map entry, enter the no version of the match or set command.
Example
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
To remove route-map.
admin@DELLSONiC :~$ sonic-cli
DELLSONiC # configure
DELLSONiC (config)# no route-map map-name
 

Verify Route map

Use bellow commands to verify route map configuration. 
DELLSONiC# show route-map
DELLSONiC# show route-map {route-map-name}

Use the below commands to find the route map applied to a neighbor.
DELLSONiC# show bgp ipv4 unicast neighbors
DELLSONiC# show bgp ipv6 unicast neighbors

You can also grep with policy in the above commands to see a smaller output. 
DELLSONiC#show bgp ipv4 unicast neighbors <neighbor>| find policy


 

Sample configuration

Requirement: See below topology. Three loopback IP 1.1.1.1/32, 2.2.2.2/32 and 3.3.3.3/32 is advertised by DELL-SONiC-R1 to DELL-SONiC-R2 using BGP.
                      
Consider that we need the route to 1.1.1.1/32 to be advertised as having Origin EGP to be received on DELL-SONiC-R3.  
                       The routes 2.2.2.2/32 and 3.3.3.3/32 should not be altered.


Sample Topology

Let us first configure a prefix list. Let us name the prefix list IP-LIST-TO-MODIFY and allow 1.1.1.1/32 prefix.
 
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#

Let us configure the route map on DELL-SONiC-R2. Let us name the route map 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#
 
Let us break down the configuration for further explanation.
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#

Let us verify the route-map configuration.

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#

Let us apply the route-map MAP-TO-MODIFICATION in the outbound direction to neighbor 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#

Let us verify the bgp configuration.
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#

We can see the Route-map MAP-TO-MODIFICATION applied on neighbor 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#



Verification

Let us see how the routes 1.1.1.1/32, 2.2.2.2/32 and 3.3.3.3/32 looks on DELL-SONiC-R1, DELL-SONiC-R2, DELL-SONiC-R3.

On 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


On 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


On 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.