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.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

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.

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.

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 ActionPurpose
    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 Example Setting EIGRP Tags Using a Route Map--Named Configuration Examples for 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 ActionPurpose
      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 11Do 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 ActionPurpose
        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 EIGRP Support for Route Map Filtering

        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 EIGRP Support for Route Map Filtering

        Feature Name

        Releases

        Feature Information

        EIGRPv6 Route-map support for Distribute-list

        Cisco IOS XE Release 3.17S

        The EIGRPv6 Route-map support for Distribute-list feature enables EIGRP route-map in the distribute list for IPv6 networks.

        The following commands were introduced or modified by this feature: match metric, match tag, show interface, match ipv6 address, match route-type, match ipv6 next-hop, set tag set metric, address-family, topology.

        EIGRP Support for Route Map Filtering

        Cisco IOS XE Release 2.1

        The EIGRP Support for Route Map Filtering feature enables EIGRP to interoperate with other protocols by filtering inbound and outbound traffic based on complex route map options. Several extended filtering options are introduced to provide EIGRP-specific match choices.

        In Cisco IOS XE Release 2.1, this feature was introduced on the Cisco ASR 1000 Series Aggregation Services Routers.

        The following commands were introduced or modified by this feature: match metric (IP), match source-protocol, ip eigrp topology.

        In Cisco IOS XE Release 2.5, the following command was introduced or modified for this feature: show eigrp address-family topology