EIGRP Support for Route Map Filtering

The EIGRP Support for Route Map Filtering feature enables Enhanced Interior Gateway Routing Protocol (EIGRP) to interoperate with other protocols to leverage additional routing functionality by filtering inbound and outbound traffic based on complex route map options. Several extended filtering options are introduced to provide EIGRP-specific match choices.

Information About EIGRP Support for Route Map Filtering

EIGRP Route Map Support

EIGRP support for route map filtering enables EIGRP to interoperate with other protocols by filtering inbound and outbound traffic based on route map options. Additional EIGRP-specific match choices are available to allow flexibility in fine-tuning EIGRP network operations.

EIGRP supports the route map filtering capability that exists for other routing protocols to filter routes being redistributed into their protocol. For more details about understanding and configuring route maps, see the Enabling Policy Routing section of the Configuring IP Routing Protocol-Independent Features module of the Cisco IOS XE IP Routing: Protocol-Independent Configuration Guide, Release 2.

Match options allow EIGRP to filter internal and external routes based on source protocols, to match a metric against a range, and to match on an external protocol metric.

EIGRP can be configured to filter traffic using a route map and the redistribute or distribute-list command. Using a route map with the redistribute command allows routes that are redistributed from the routing table to be filtered with a route map before being admitted into an EIGRP topology table. Routes that are dynamically received from, or advertised to, EIGRP peers can be filtered by adding a route map option to the distribute-list command.

A route map may be configured with both the redistribute and the distribute-list commands in the same routing process. When a route map is used with a distribute-list command that is configured for inbound or outbound filtering, route packets that are learned from or advertised to EIGRP peers can be processed with the route map to provide better control of route selection during the route exchange process. Redistribution serves as a mechanism to import routes into the EIGRP topology table from a routing table. A route map configured with the redistribute command adds flexibility to the redistribution capability and results in a more specific redistributed route selection.

The use of route maps to filter traffic is the same for both autonomous-system configurations and named configurations. See the Configuring EIGRP module for more information about autonomous system and named configurations.

Demands for EIGRP to interoperate with other protocols and flexibility in fine-tuning network operation necessitate the capability to filter traffic using a route map.


Note


The set metric +/- command, which specifies the relative change of metric, is not supported with EIGRP redistribution route-maps. If configured, it is interpreted as the set metric command with the sign omitted, and can cause unexpected behavior in the configuration. It is recommended to not use the set metric +/- command with EIGRP redistribution route-map configuration.


How to Configure EIGRP Support for Route Map Filtering

Setting EIGRP Tags Using a Route Map for Autonomous System Configurations

Perform this task to set EIGRP tags for autonomous system configurations using a route map. The EIGRP metrics used for filtering are configured within a route map. The first match clause defines EIGRP routes that contain an external protocol metric between 400 and 600 inclusive; the second match clause defines EIGRP external routes that match a source protocol of BGP and the autonomous system 45000. When the two match clauses are true, a tag value of the destination routing protocol is set to 5. This route map can be used with the distribute-list command, see the Example Setting EIGRP Tags Using a Route Map--Autonomous System Configuration Examples for an example configuration.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. route-map map-tag [permit | deny ] [sequence-number ]
  4. match metric {metric-value | external metric-value } [+- deviation-number ]
  5. match source-protocol source-protocol [autonomous-system-number ]
  6. set tag tag-value
  7. exit
  8. router eigrp as-number
  9. network ip-address
  10. distribute-list route-map map-tag in

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map metric-range

Enters route-map configuration mode.

Step 4

match metric {metric-value | external metric-value } [+- deviation-number ]

Example:


Router(config-route-map)# match metric external 500 +- 100

Specifies a match clause that filters inbound updates that match an internal or external protocol metric.

  • metric-value --Internal protocol metric, which can be an EIGRP five-part metric. The range is from 1 to 4294967295.

  • external --External protocol metric. The range is from 1 to 4294967295.

  • +- deviation-number --(Optional) Represents a standard deviation. The deviation can be any number. There is no default.

Note

 

When you specify a metric deviation with the + and - keywords, the router will match any metric that falls inclusively in that range.

Note

 

The external protocol metric is not the same as the EIGRP assigned route metric, which is a figure computed from EIGRP vectorized metric components (delay, bandwidth, reliability, load, and MTU).

Step 5

match source-protocol source-protocol [autonomous-system-number ]

Example:


Router(config-route-map)# match source-protocol bgp 45000

Specifies a match clause that matches external routes from sources that match the source protocol.

  • source-protocol --Protocol to match. The valid keywords are bgp , connected , eigrp , isis , ospf , rip , and static . There is no default.

  • autonomous-system-number --(Optional) Autonomous system number. The autonomous-system-number argument is not applicable to the connected , static , and rip keywords. The range is from 1 to 65535. There is no default.

Step 6

set tag tag-value

Example:


Router(config-route-map)# set tag 5

Sets a tag value on the route in the destination routing protocol when all the match criteria of a route map are met.

Step 7

exit

Example:


Router(config-route-map)# exit

Exits route-map configuration mode and returns to global configuration mode.

Step 8

router eigrp as-number

Example:


Router(config)# router eigrp 1

Configures the EIGRP routing process and enters router configuration mode.

Step 9

network ip-address

Example:


Router(config-router)# network 172.16.0.0

Specifies a network for the EIGRP routing process.

Step 10

distribute-list route-map map-tag in

Example:


Router(config-router)# distribute-list route-map metric-range in

Filters networks received in updates.

Setting EIGRP Tags Using a Route Map for Named Configurations

Perform this task to set EIGRP tags for named configurations using a route map. The EIGRP metrics used for filtering are configured within a route map. The first match clause defines EIGRP routes that contain an external protocol metric between 400 and 600 inclusive; the second match clause defines EIGRP external routes that match a source protocol of BGP and the autonomous system 45000. When the two match clauses are true, a tag value of the destination routing protocol is set to 5. This route map can be used with the distribute-list command, see the #GUID-666940FF-E509-47B7-8425-4ECBDCFB7B77__GUID-AE466629-2BD8-4ACB-818D-2A916B4BDA4Ffor an example configuration.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. route-map map-tag [permit | deny ] [sequence-number ]
  4. set metric bandwidth delay reliability loading mtu
  5. match ip route-source {access-list-number | access-list-name } [...access-list-number | ...access-list-name ]
  6. match metric {metric-value | external metric-value } [+- deviation-number ]
  7. match source-protocol source-protocol [autonomous-system-number ]
  8. set tag tag-value
  9. exit
  10. router eigrp virtual-instance-name
  11. Do one of the following:
    • address-family ipv4 [multicast ] [unicast ] [vrf vrf-name ] autonomous-system autonomous-system-number
    • address-family ipv6 [unicast ] [vrf vrf-name ] autonomous-system autonomous-system-number
  12. network ip-address [wildcard-mask ]
  13. af-interface {default | interface-type interface-number }
  14. next-hop-self
  15. exit-af-interface
  16. topology {base | topology-name tid number }
  17. distribute-list route-map map-tag in

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map metric-range

Enters route-map configuration mode.

Step 4

set metric bandwidth delay reliability loading mtu

Example:


Router(config-route-map)# set metric 10000 10 255 1 1500

(Optional) Sets the metric value for EIGRP in a route map.

Step 5

match ip route-source {access-list-number | access-list-name } [...access-list-number | ...access-list-name ]

Example:


Router(config-route-map)# match ip route-source 5 80 

Redistributes routes that have been advertised by routers and access servers at the address specified by the access lists.

Step 6

match metric {metric-value | external metric-value } [+- deviation-number ]

Example:


Router(config-route-map)# match metric external 500 +- 100

Specifies a match clause that includes EIGRP routes that match an internal or external protocol metric.

  • metric-value --Internal protocol metric, which can be an EIGRP five-part metric. The range is from 1 to 4294967295.

  • external --External protocol metric. The range is from 1 to 4294967295.

  • +- deviation-number --(Optional) Represents a standard deviation. The deviation can be any number. There is no default.

Note

 

When you specify a metric deviation with the + and - keywords, the router will match any metric that falls inclusively in that range.

Note

 

The external protocol metric is not the same as the EIGRP assigned route metric, which is a figure computed from EIGRP vectorized metric components (delay, bandwidth, reliability, load, and MTU).

Step 7

match source-protocol source-protocol [autonomous-system-number ]

Example:


Router(config-route-map)# match source-protocol bgp 45000

Specifies a match clause that includes EIGRP external routes that match a source protocol.

  • source-protocol --Protocol to match. The valid keywords are bgp , connected , eigrp , isis , ospf , rip , and static . There is no default.

  • autonomous-system-number --(Optional) Autonomous system number. The autonomous-system-number argument is not applicable to the connected , static , and rip keywords. The range is from 1 to 65535. There is no default.

Step 8

set tag tag-value

Example:


Router(config-route-map)# set tag 5

Sets a tag value on the route in the destination routing protocol when all the match criteria of a route map are met.

Step 9

exit

Example:


Router(config-route-map)# exit

Exits route-map configuration mode and returns to global configuration mode.

Step 10

router eigrp virtual-instance-name

Example:


Router(config)# router eigrp virtual-name1

Configures the EIGRP routing process and enters router configuration mode.

Step 11

Do one of the following:

  • address-family ipv4 [multicast ] [unicast ] [vrf vrf-name ] autonomous-system autonomous-system-number
  • address-family ipv6 [unicast ] [vrf vrf-name ] autonomous-system autonomous-system-number

Example:


Router(config-router)# address-family ipv4 autonomous-system 45000

Enters address family configuration mode to configure an EIGRP IPv4 or IPv6 routing instance.

Step 12

network ip-address [wildcard-mask ]

Example:


Router(config-router-af)# network 172.16.0.0

Specifies a network for the EIGRP routing process.

Step 13

af-interface {default | interface-type interface-number }

Example:


Router(config-router-af)# af-interface default

Enters address family interface configuration mode to configure interface-specific EIGRP commands.

Step 14

next-hop-self

Example:


Router(config-router-af-interface)# next-hop-self

Enables EIGRP to advertise routes with the local outbound interface address as the next hop.

Step 15

exit-af-interface

Example:


Router(config-router-af-interface)# exit-af-interface

Exits address-family interface configuration mode.

Step 16

topology {base | topology-name tid number }

Example:


Router(config-router-af)# topology base

Configures an EIGRP process to route IP traffic under the specified topology instance and enters address family topology configuration mode.

Step 17

distribute-list route-map map-tag in

Example:


Router(config-router-af-topology)# distribute-list route-map metric-range in

Filters networks received in updates.

Configuring EIGRP Route-map for Distribute-list in IPv6

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router eigrp virtual-instance-name
  4. address-family ipv6 [unicast ] [vrf vrf-name ] autonomous-system autonomous-system-number
  5. topology {base | topology-name tid number }
  6. distribute-list route-map map-tag in
  7. distribute-list route-map map-tag out
  8. exit-af-toplogy
  9. exit-address-family
  10. route-map map-tag [permit | deny ] [sequence-number ]
  11. match ipv6 address {prefix-list prefix-list-name | access-list-name }
  12. set tag tag-value
  13. route-map map-tag [permit | deny ] [sequence-number ]
  14. match interface interface-type interface-number [...interface-type interface-number ]
  15. set tag tag-value
  16. route-map map-tag [permit | deny ] [sequence-number ]
  17. match metric bandwidth delay reliability loading mtu
  18. route-map map-tag [permit | deny ] [sequence-number ]
  19. match ipv6 address {prefix-list prefix-list-name | access-list-name }
  20. set tag tag-value
  21. route-map map-tag [permit | deny ] [sequence-number ]
  22. match interface interface-type interface-number [...interface-type interface-number ]
  23. set tag tag-value
  24. route-map map-tag [permit | deny ] [sequence-number ]
  25. match metric bandwidth delay reliability loading mtu
  26. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

router eigrp virtual-instance-name

Example:


Router(config)# router eigrp virtual1

Configures the EIGRP routing process and enters router configuration mode.

Step 4

address-family ipv6 [unicast ] [vrf vrf-name ] autonomous-system autonomous-system-number

Example:


Router(config-router)# address-family ipv6 autonomous-system 1

Enters address family configuration mode to configure an EIGRP IPv6 routing instance.

Step 5

topology {base | topology-name tid number }

Example:


Router(config-router-af)# topology base

Configures an EIGRP process to route IP traffic under the specified topology instance and enters address family topology configuration mode.

Step 6

distribute-list route-map map-tag in

Example:


Router(config-router-af-topology)# distribute-list route-map map_in in

Enables filtering of the networks received in EIGRP updates.

Step 7

distribute-list route-map map-tag out

Example:


Router(config-router-af-topology)# distribute-list route-map map_out out

Enables suppressing of networks from being advertised in the EIGRP updates.

Step 8

exit-af-toplogy

Example:


Router(config-router-af-topology)# exit-af-topology

Exits address-family topology configuration mode.

Step 9

exit-address-family

Example:


Router(config-router-af)# exit-address-family

Exits address-family configuration mode.

Step 10

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map map1 permit 10

Enters route-map configuration mode.

  • Specifies route map name and set action to redistribute the route if the match criteria are met.

Step 11

match ipv6 address {prefix-list prefix-list-name | access-list-name }

Example:


Router(config-route-map)# match ipv6 address acl1

Specifies an IPv6 access list to match for redistributing routes that have been advertised by routers and access servers.

Step 12

set tag tag-value

Example:


Router(config-route-map)# set tag 10

Sets a tag value for the route in the route map.

Step 13

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map map1 permit 20

Specifies route map name and set action to redistribute the route if the match criteria are met.

Step 14

match interface interface-type interface-number [...interface-type interface-number ]

Example:


Router(config-route-map)# match interface ethernet 0/0

Specifies the next hop out of the interface to distribute the associated routes.

Step 15

set tag tag-value

Example:


Router(config-route-map)# set tag 20

Sets a tag value for the route in the route map.

Step 16

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map map1 permit 30

Specifies route map name and set action to redistribute the route if the match criteria are met.

Step 17

match metric bandwidth delay reliability loading mtu

Example:


Router(config-route-map)# match metric 10000 100 255 100 1500

Specifies the metric value for EIGRP in a route map.

Step 18

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map map2 permit 10

Enters route-map configuration mode.

  • Specifies route map name and set action to redistribute the route if the match criteria are met.

Step 19

match ipv6 address {prefix-list prefix-list-name | access-list-name }

Example:


Router(config-route-map)# match ipv6 address acl1

Specifies an IPv6 access list to match for redistributing routes that have been advertised by routers and access servers.

Step 20

set tag tag-value

Example:


Router(config-route-map)# set tag 10

Sets a tag value for the route in the route map.

Step 21

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map map2 permit 20

Specifies route map name and set action to redistribute the route if the match criteria are met.

Step 22

match interface interface-type interface-number [...interface-type interface-number ]

Example:


Router(config-route-map)# match interface ethernet 0/0

Specifies the next hop out of the interface to distribute the associated routes.

Step 23

set tag tag-value

Example:


Router(config-route-map)# set tag 20

Sets a tag value for the route in the route map.

Step 24

route-map map-tag [permit | deny ] [sequence-number ]

Example:


Router(config)# route-map map2 permit 30

Specifies route map name and set action to redistribute the route if the match criteria are met.

Step 25

match metric bandwidth delay reliability loading mtu

Example:


Router(config-route-map)# match metric 1000 100 255 200 1800

Specifies the metric value for EIGRP in a route map.

Step 26

end

Example:


Router(config-route-map)# end
Exits route-map configuration mode and returns to privileged EXEC mode.

Configuration Examples for EIGRP Support for Route Map Filtering

Example Setting EIGRP Tags Using a Route Map--Autonomous System Configuration Examples

The following example shows how to configure a route map to match an EIGRP external protocol metric route with an allowable deviation of 100, a source protocol of BGP, and an autonomous system 45000. When the two match clauses are true, the tag value of the destination routing protocol is set to 5. The route map is used to distribute incoming packets for an EIGRP process.


Router(config)# route-map metric-range
Router(config-route-map)# match metric external 500 +- 100
Router(config-route-map)# match source-protocol bgp 45000
Router(config-route-map)# set tag 5
Router(config-route-map)# exit
Router(config)# router eigrp 1
Router(config-router)# network 172.16.0.0
Router(config-router)# distribute-list route-map metric_range in

The following example shows how to configure a route map to match EIGRP routes with a metric of 110, 200, or an inclusive range of 700 to 800. When the match clause is true, the tag value of the destination routing protocol is set to 10. The route map is used to redistribute EIGRP packets.


Router(config)# route-map metric-eigrp
Router(config-route-map)# match metric 110 200 750 +- 50
Router(config-route-map)# set tag 10
Router(config-route-map)# exit
Router(config)# router eigrp 1
Router(config-router)# network 172.21.1.0/24
Router(config-router)# redistribute eigrp route-map metric-eigrp

Example Setting EIGRP Tags Using a Route Map--Named Configuration Examples

The following example shows how to configure a route map to match an EIGRP external protocol metric route with an allowable deviation of 100, a source protocol of BGP, and an autonomous system 45000. When the two match clauses are true, the tag value of the destination routing protocol is set to 5. The route map is used to distribute incoming packets for an EIGRP process.


Router(config)# route-map metric_range
Router(config-route-map)# match metric external 500 +- 100
Router(config-route-map)# match source-protocol bgp 45000
Router(config-route-map)# set tag 5
Router(config-route-map)# exit
Router(config)# router eigrp virtual-name
Router(config-router)# address-family ipv4 autonomous-system 45000
Router(config-router-af)# network 172.21.1.0/24
Router(config-router-af)# topology base
Router(config-router-af-topology)# distribute-list route-map metric_range in

The following example shows how to configure a route map to match EIGRP routes with a metric of 110, 200, or an inclusive range of 700 to 800. When the match clause is true, the tag value of the destination routing protocol is set to 10. The route map is used to redistribute EIGRP packets.


Router(config)# route-map metric_eigrp
Router(config-route-map)# match metric 110 200 750 +- 50
Router(config-route-map)# set tag 10
Router(config-route-map)# exit
Router(config)# router eigrp virtual-name
Router(config-router)# address-family ipv4 autonomous-system 45000
Router(config-router-af)# network 172.21.1.0/24
Router(config-router-af)# topology base
Router(config-router-af-topology)# distribute-list route-map metric-range in

Example Configuring EIGRP Route-map for Distribute-list in IPv6

The following example shows how to configure EIGRP route maps for distribute list in IPv6.

enable
configure terminal 
router eigrp test
 address-family ipv6 unicast autonomous-system 1
 topology base
 distribute-list route-map map_in 
 distribute-list route-map map_out  
 exit-af-topology
 exit-address-family
route-map map_in permit 10
 match ipv6 address acl1
 set tag 15
 route-map map_in permit 20
 match interface Ethernet0/0
 set tag 25
 route-map map_in permit 30
 match metric 10000 1000 255 255 1024
 route-map map_out permit 20
 match ipv6 address acl1
 set tag 25
 route-map map_out permit 40
 match interface Ethernet0/0
 set tag 35
 route-map map_out permit 50
 match metric 10000 100 255 200 1024
end

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

EIGRP overview and configuration

Configuring EIGRP

EIGRP commands including syntax, usage guidelines, and examples

Cisco IOS IP Routing: EIGRP Command Reference

Standards

Standard

Title

None

--

MIBs

MIB

MIBs Link

None

To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

None

--

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for Overview of Cisco TrustSec

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Overview of Cisco TrustSec

Feature Name

Releases

Feature Information

IPv6 enablement - Inline Tagging

Cisco IOS XE Fuji 16.8.1

The support for IPv6 is introduced.