Networks Training

  • About
  • My Books
  • IP Tools
  • HOME
  • Cisco Networking
    • Cisco General
    • Cisco IOS
    • Cisco VPN
    • Cisco Wireless
  • Cisco ASA
    • Cisco ASA General
    • Cisco ASA Firewall Configuration
  • Certifications Training
    • CCNA Training
    • Cisco Certifications
    • I.T Training
  • General
    • Tech News
    • General Networking
    • IP Telephony
    • Network Security
    • Product Reviews
    • Software
  • Cisco Routers
  • Cisco Switches
You are here: Home / General Networking / Discussion and Explanation of Route Maps in Networking

Discussion and Explanation of Route Maps in Networking

Edited By Lazaros Agapidis

Route maps are a powerful tool used to manipulate routing information and policies within a network. They allow network administrators to control and influence how routes are advertised, received, and selected on Cisco routers.

Network Diagram

Route maps are extremely versatile and can be used in conjunction with routing protocols and other features to very granularly manipulate both control plane functionalities and data plane traffic.

In this article, we’ll take a look at route maps, how they function, and with what features they can be used.  We’ll also be looking at a couple of examples of some of the most common ways they are used.

Table of Contents

Toggle
  • What are Route Maps?
  • Components of a Route Map Configuration
    • Route Map Statement
    • Match Statement
    • Set Statement
    • Sequence Numbers
  • Putting it all together
  • Applying Route Maps
  • Filtering EIGRP routes
    • Define an Access List to Match the Route:
    • Create a Route Map to Use the Access List:
    • Apply the Route Map to the EIGRP Process:
  • A wide range of uses
  • Conclusion
    • Related Posts

What are Route Maps?

Route maps are logical constructs that can be configured within a Cisco router that can be leveraged in a variety of ways. 

They are often employed in conjunction with routing protocols such as BGP, OSPF, and EIGRP, to manipulate the advertising of routes between routers running those protocols. 

Manipulating the exchange of routing information is what they are most often used for.  However, they are versatile enough to be employed in combination with other features to perform things like policy-based routing (PBR), Quality of Service (QoS) classification of traffic, applying matched traffic to IP SLAs, and even simply filtering user traffic in conjunction with Access Lists.

Components of a Route Map Configuration

Route maps are composed of a series of one or more route map statements with a structure similar to the following pseudocode:

  • Route map statement 1
    • Match condition checked
      • if no match, go to statement 2
      • if matched, apply an action, route map ends.
  • Route map statement 2
    • Match condition checked
      • if no match, go to statement 3
      • if matched, apply an action, route map ends.
  • Route map statement 3
    • Match condition checked
      • if no match, go to end.
      • if matched, apply an action, route map ends.
  • Implicit Deny, route map ends.

These route map statements have a match condition that can have one of two results: either a match or no match. 

If there is a match, an action is applied, and the processing of the route map ends.  If there is no match, then the next statement in the route map is examined. 

The same logic continues until there is a match and an action is taken, or until the end of the route map is reached, where there is an implicit deny action.

Let’s take a closer look at each of the components that comprise a route map:

Route Map Statement

A route map statement can have either a permit or a deny keyword, much like access lists.  If you have a permit keyword and the match condition is met, then any action configured for that route map statement will be applied.

Match Statement

These statements define the conditions under which a route map will take action. For example, a match statement can specify that a route map should apply only to routes that match certain criteria, such as an IP address prefix, a BGP AS path, or a specific tag.

If a match condition is met, and you have a deny keyword in the route map, then processing is simply stopped.  No further action is taken.  If a match is made in a route map entry with a permit keyword, then, any configured action to be taken is applied.

What kinds of conditions can you match?  Take a look at this context-sensitive help from the CLI of a Cisco router that shows what kind of match conditions you can specify:

Router(config-route-map)#match ?

  additional-paths  BGP Add-Path match policies
  as-path           Match BGP AS path list
  clns              CLNS information
  community         Match BGP community list
  extcommunity      Match BGP/VPN extended community list
  interface         Match first hop interface of route
  ip                IP specific information
  ipv6              IPv6 specific information
  length            Packet length
  local-preference  Local preference for route
  mdt-group         Match routes corresponding to MDT group
  metric            Match metric of route
  mpls-label        Match routes which have MPLS labels
  policy-list       Match IP policy list
  route-type        Match route-type of route
  rpki              Match RPKI state of route
  security-group    Security Group
  source-protocol   Match source-protocol of route
  tag               Match tag of route
  track             tracking object

MORE READING:  BGP Attributes Explained - Why Are They Vital to the Internet?

Don’t worry about the syntax of the command for now.  We’ll get to that shortly.  For now, the purpose of the above command is just to see the multitude of options available for match criteria.  The above list may differ slightly depending on the platform and the IOS version being used.

Set Statement

If the conditions specified in the match statement are met, the set statement defines the actions to be taken.

This could involve modifying attributes of the route, such as the next hop, metric, or BGP attributes like local preference or communities. 

Set statements are only employed if there is a permit keyword used.  If a deny keyword is used for a particular route map entry, no set actions will be taken, even if they are configured.

What kinds of parameters can you set?  Take a look at this context-sensitive help from the CLI of a Cisco router that shows what kind of set parameters can be specified:

Router (config-route-map)#set ?

  aigp-metric       accumulated metric value
  as-path           Prepend string for a BGP AS-path attribute
  automatic-tag     Automatically compute TAG value
  clns              OSI summary address
  comm-list         set BGP community list (for deletion)
  community         BGP community attribute
  dampening         Set BGP route flap dampening parameters
  default           Set default information
  extcomm-list      Set BGP/VPN extended community list (for deletion)
  extcommunity      BGP extended community attribute
  global            Set to global routing table
  interface         Output interface
  ip                IP specific information
  ipv6              IPv6 specific information
  level             Where to import route
  lisp              Locator ID Separation Protocol specific information
  local-preference  BGP local preference path attribute
  metric            Metric value for destination routing protocol
  metric-type       Type of metric for destination routing protocol
  mpls-label        Set MPLS label for prefix
  origin            BGP origin code
  tag               Tag value for destination routing protocol
  traffic-index     BGP traffic classification number for accounting
  vrf               Define VRF name
  weight            BGP weight for routing table

Don’t worry about the syntax for this for now, the purpose of the above command is just to see the multitude of options available for setting parameters.  The above list may differ slightly depending on the platform and the IOS version being used.

Sequence Numbers

As mentioned before, route maps consist of one or more entries.  Each entry is identified by a sequence number.

The sequence number dictates the order in which the entries are evaluated. The router processes the route map entries in order from the lowest to the highest sequence number.

These numbers also help in allowing you to add or remove particular entries in the appropriate sequence when editing a route map.

Putting it all together

If you have never dealt with route maps, it is likely that the above descriptions have not been fully comprehensible, and that’s OK. 

In order to gain a full understanding of these concepts, how they work, and how they are put together, you must gain experience from creating, modifying, and applying route maps in various scenarios.  Once you have done this, you can review the above explanation again, and I can guarantee that you will understand it more fully.

MORE READING:  The Purpose of Routing Protocols in TCP/IP Networking

In the following sections, I have an example of a route map and how it is applied to help you gain this understanding from experience.

Applying Route Maps

In this section, we will describe a very common application of route maps.  A route map will be used to filter out a network from an EIGRP advertisement from one router to another.

Filtering EIGRP routes

Let’s say that R1, which has an IP address of 192.168.13.3, is sending an EIGRP update to R2 containing a series of routes that it is advertising. Looking at R2’s routing table, we can see those EIGRP routes:

R2#show ip route eigrp

D    192.168.24.0/24 [90/33280] via 192.168.13.3, 00:21:53, FastEthernet0/0
D    192.168.34.0/24 [90/33280] via 192.168.13.3, 00:21:50, FastEthernet0/0
D    192.168.44.0/24 [90/33280] via 192.168.13.3, 00:21:47, FastEthernet0/0

Let’s say you want to apply a route map on R2 so that any incoming EIGRP updates coming into the local router will have the 192.168.34.0/24 network filtered out. 

To achieve this, you can create an access list to match the specific route and then use a route map to reference the access list.  You can then add the route map to the EIGRP process. Here’s how you can complete the steps:

Define an Access List to Match the Route:

First, you create an access list that will match the specific network 192.168.34.0/24 that you want to filter out.

R2(config)#access-list 10 deny 192.168.34.0 0.0.0.255
R2(config)#access-list 10 permit any

The first line denies the specific route 192.168.34.0/24 and the second line permits all other routes, ensuring that no other routes are filtered out.  Remember, ACLs have an implicit “deny all” at the end.

Create a Route Map to Use the Access List:

Next, create a route map that references the access list. This route map will be used to filter the route in incoming EIGRP updates.

R2(config)#route-map FILTER_EIGRP_IN deny 10
R2(config-route-map)#match ip address 10
R2(config-route-map)#route-map FILTER_EIGRP_IN permit 20

The first statement with sequence number 10 matches the route specified in access list 10 that we created above and denies it from being accepted into the routing table. 

The second statement with sequence number 20 allows all other routes to be processed normally.  This statement is necessary because a route map has an implicit deny at the end.

Apply the Route Map to the EIGRP Process:

Finally, apply the route map to the inbound EIGRP updates on the interface facing R1.

R2(config)#router eigrp 100
R2(config-router)#network 192.168.0.0
R2(config-router)#distribute-list route-map FILTER_EIGRP_IN in

The distribute-list route-map FILTER_EIGRP_IN in command applies the FILTER_EIGRP_IN route map to incoming EIGRP routing updates on R2.

This will filter out the 192.168.34.0/24 route from being installed into R2’s routing table.  It’s important to note here that the in keyword refers to the direction of the EIGRP updates and not the direction of the user data.  

So, this route map will be applied to the actual contents (the advertised routes) of an EIGRP update that is received (in an incoming direction) from a neighboring EIGRP router.

The result is that R2 receives the EIGRP update, and the route map removes the specific routing entry from the update before it is processed by EIGRP.  The result is that R2 will no longer have that route in the routing table.  Let’s see if this worked:

R2#show ip route eigrp

D    192.168.24.0/24 [90/33280] via 192.168.13.3, 00:21:53, FastEthernet0/0
D    192.168.44.0/24 [90/33280] via 192.168.13.3, 00:21:47, FastEthernet0/0

As you can see, the 192.168.34.0/24 network has not been added to the routing table.

A wide range of uses

The implementation of route maps can become extremely complicated.  There are so many applications and so many different ways of implementing them, as you have seen from the multitude of match and set options available. 

Route maps are also able to call upon ACLs, prefix lists, distribute lists, and even other route maps as part of their match statements. 

As a result, you can write very elaborate and powerful hierarchical scripts to perform highly complex manipulations of a whole series of features. 

Conclusion

To fully appreciate and harness the power of route maps, the only true way to do so is through experience. 

So, either by implementing them in production networks as needed or by practicing with them in lab environments in various scenarios, practical experience is a vital part of learning these elaborate and powerful networking tools.

Spread the love

Related Posts

  • Difference Between Routers and Switches in TCP/IP Networks
  • 11 Different Types of IP Addresses Used in Computer Networks
  • Compare and Contrast Network Topologies (Star, Mesh, Bus, Hybrid etc)
  • 11 Networking Companies Like Cisco (Competitors)
  • What is a Wildcard Mask – All About Wildcard Masks Used in Networking

Filed Under: General Networking

Download Free Cisco Commands Cheat Sheets

Enter your Email below to Download our Free Cisco Commands Cheat Sheets for Routers, Switches and ASA Firewalls.

By subscribing to our email list you will be receiving technical tutorials and industry news from time-to-time. You can unsubscribe at any time.

About Lazaros Agapidis

Lazaros Agapidis is a Telecommunications and Networking Specialist with over twenty years of experience.
He works primarily with IP networks, VoIP, Wi-Fi, and 5G, has extensive experience in training professionals for Cisco certifications, and his expertise extends into telecommunications services and infrastructure from both an enterprise and a service provider perspective.
In addition to his numerous vendor certifications, Lazaros has a solid online presence as an expert in his field, having worked in both public and private sectors within North America and in Europe.
He has enjoyed sharing his practical experiences in writing as well as through engaging online training.
LinkedIn: Lazaros Agapides

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search this site

About Networks Training

We Provide Technical Tutorials and Configuration Examples about TCP/IP Networks with focus on Cisco Products and Technologies. This blog entails my own thoughts and ideas, which may not represent the thoughts of Cisco Systems Inc. This blog is NOT affiliated or endorsed by Cisco Systems Inc. All product names, logos and artwork are copyrights/trademarks of their respective owners.

Amazon Disclosure

As an Amazon Associate I earn from qualifying purchases.
Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.

Search

BLOGROLL

Tech21Century
Firewall.cx

Copyright © 2026 | Privacy Policy | Terms and Conditions | Contact | Amazon Disclaimer | Delivery Policy