IPv6 Routing: Route Redistribution

IPv6 route redistribution allows routes to be specified by prefix, using a route-map prefix list, or by tag, using the route-map "match tag" function.

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 IPv6 Route Redistribution

RIP for IPv6

IPv6 RIP functions the same and offers the same benefits as RIP in IPv4. RIP enhancements for IPv6, detailed in RFC 2080, include support for IPv6 addresses and prefixes, and the use of the all-RIP-devices multicast group address FF02::9 as the destination address for RIP update messages.

In the Cisco software implementation of IPv6 RIP, each IPv6 RIP process maintains a local routing table, referred to as a Routing Information Database (RIB). The IPv6 RIP RIB contains a set of best-cost IPv6 RIP routes learned from all its neighboring networking devices. If IPv6 RIP learns the same route from two different neighbors, but with different costs, it will store only the lowest cost route in the local RIB. The RIB also stores any expired routes that the RIP process is advertising to its neighbors running RIP. IPv6 RIP will try to insert every non-expired route from its local RIB into the master IPv6 RIB. If the same route has been learned from a different routing protocol with a better administrative distance than IPv6 RIP, the RIP route will not be added to the IPv6 RIB but the RIP route will still exist in the IPv6 RIP RIB.

How to Configure IPv6 Route Redistribution

Redistributing Routes into an IPv6 RIP Routing Process

RIP supports the use of a route map to select routes for redistribution. Routes may be specified by prefix, using a route-map prefix list, or by tag, using the route-map "match tag" function.

The maximum metric that RIP can advertise is 16, and a metric of 16 denotes a route that is unreachable. Therefore, if you are redistributing routes with metrics greater than or equal to 16, then by default RIP will advertise them as unreachable. These routes will not be used by neighboring routers. The user must configure a redistribution metric of less than 15 for these routes.


Note


You must to advertise a route with metric of 15 or less. A RIP router always adds an interface cost--the default is 1--onto the metric of a received route. If you advertise a route with metric 15, your neighbor will add 1 to it, making a metric of 16. Because a metric of 16 is unreachable, your neighbor will not install the route in the routing table.


If no metric is specified, then the current metric of the route is used. To find the current metric of the route, enter the show ipv6 route command.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    interface type number

    4.    ipv6 rip word enable

    5.    redistribute protocol [process-id] {level-1 | level-1-2| level-2} [metric metric-value] [metric-type{internal | external}] [route-map map-name]


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 interface type number


    Example:
    Router(config)# interface Ethernet 0/0
     

    Specifies the interface type and number, and enters interface configuration mode.

     
    Step 4 ipv6 rip word enable


    Example:
    Router(config-if)# ipv6 router one enable
     

    Enables an IPv6 Routing Information Protocol (RIP) routing process on an interface.

     
    Step 5 redistribute protocol [process-id] {level-1 | level-1-2| level-2} [metric metric-value] [metric-type{internal | external}] [route-map map-name]


    Example:
    Router(config-router)# redistribute bgp 65001 route-map bgp-to-rip
     

    Redistributes the specified routes into the IPv6 RIP routing process.

    • The protocol argument can be one of the following keywords: bgp, connected, isis, rip, or static.

    • The rip keyword and process-id argument specify an IPv6 RIP routing process.

    Note   

    The connected keyword refers to routes that are established automatically by assigning IPv6 addresses to an interface.

     

    Configuring Route Tags for IPv6 RIP Routes

    When performing route redistribution, you can associate a numeric tag with a route. The tag is advertised with the route by RIP and will be installed along with the route in neighboring router’s routing table.

    If you redistribute a tagged route (for example, a route in the IPv6 routing table that already has a tag) into RIP, then RIP will automatically advertise the tag with the route. If you use a redistribution route map to specify a tag, then RIP will use the route map tag in preference to the routing table tag.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

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

      4.    match ipv6 address {prefix-list prefix-list-name | access-list-name

      5.    set tag tag-value


    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 bgp-to-rip permit 10
       

      Defines a route map, and enters route-map configuration mode.

      • Follow this step with a match command.

       
      Step 4 match ipv6 address {prefix-list prefix-list-name | access-list-name


      Example:
      Router(config-route-map)# match ipv6 address prefix-list bgp-to-rip-flt
       

      Specifies a list of IPv6 prefixes to be matched.

       
      Step 5 set tag tag-value


      Example:
      Router(config-route-map)# set tag 4
       

      Sets the tag value to associate with the redistributed routes.

       

      Filtering IPv6 RIP Routing Updates

      Route filtering using distribute lists provides control over the routes RIP receives and advertises. This control may be exercised globally or per interface.

      Filtering is controlled by IPv6 distribute lists. Input distribute lists control route reception, and input filtering is applied to advertisements received from neighbors. Only those routes that pass input filtering will be inserted in the RIP local routing table and become candidates for insertion into the IPv6 routing table.

      Output distribute lists control route advertisement; Output filtering is applied to route advertisements sent to neighbors. Only those routes passing output filtering will be advertised.

      Global distribute lists (which are distribute lists that do not apply to a specified interface) apply to all interfaces. If a distribute list specifies an interface, then that distribute list applies only to that interface.

      An interface distribute list always takes precedence. For example, for a route received at an interface, with the interface filter set to deny, and the global filter set to permit, the route is blocked, the interface filter is passed, the global filter is blocked, and the route is passed.

      IPv6 prefix lists are used to specify certain prefixes or a range of prefixes that must be matched before a permit or deny statement can be applied. Two operand keywords can be used to designate a range of prefix lengths to be matched. A prefix length of less than, or equal to, a value is configured with the lekeyword. A prefix length greater than, or equal to, a value is specified using the ge keyword. The ge and le keywords can be used to specify the range of the prefix length to be matched in more detail than the usual ipv6-prefix / prefix-length argument. For a candidate prefix to match against a prefix list entry three conditions can exist:

      • The candidate prefix must match the specified prefix list and prefix length entry.

      • The value of the optional le keyword specifies the range of allowed prefix lengths from the prefix-length argument up to, and including, the value of the le keyword.

      • The value of the optional ge keyword specifies the range of allowed prefix lengths from the value of the ge keyword up to, and including, 128.


      Note


      The first condition must match before the other conditions take effect.


      An exact match is assumed when the ge or le keywords are not specified. If only one keyword operand is specified then the condition for that keyword is applied, and the other condition is not applied. The prefix-length value must be less than the ge value. The ge value must be less than, or equal to, the le value. The le value must be less than or equal to 128.

      SUMMARY STEPS

        1.    enable

        2.    configure terminal

        3.    ipv6 prefix list prefix-list-name seq seq-number ] {deny ipv6-prefix / prefix-length | description text} [ge ge-value] [le le-value

        4.    ipv6 prefix list prefix-list-name seq seq-number ] {deny ipv6-prefix / prefix-length | description text} [ge ge-value] [le le-value

        5.    Repeat Steps 3 and 4 as many times as necessary to build the prefix list.

        6.    ipv6 router rip name

        7.    distribute-list prefix-list prefix-list-name in | out} [interface-type interface-number


      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 ipv6 prefix list prefix-list-name seq seq-number ] {deny ipv6-prefix / prefix-length | description text} [ge ge-value] [le le-value


        Example:
        Router(config)# ipv6 prefix-list abc permit 2001:DB8::/16
         

        Creates an entry in the IPv6 prefix list.

         
        Step 4 ipv6 prefix list prefix-list-name seq seq-number ] {deny ipv6-prefix / prefix-length | description text} [ge ge-value] [le le-value


        Example:
        Router(config)# ipv6 prefix-list abc deny ::/0
         

        Creates an entry in the IPv6 prefix list.

         
        Step 5 Repeat Steps 3 and 4 as many times as necessary to build the prefix list. 

        --

         
        Step 6 ipv6 router rip name


        Example:
        Router(config)# ipv6 router rip process1
         

        Configures an IPv6 RIP routing process.

         
        Step 7 distribute-list prefix-list prefix-list-name in | out} [interface-type interface-number


        Example:
        Router(config-rtr-rip)# distribute-list prefix-list process1 in ethernet 0/0
         

        Applies a prefix list to IPv6 RIP routing updates that are received or sent on an interface.

         

        Configuration Examples for IPv6 Route Redistribution

        Example: Enabling the RIP for IPv6 Process

        In the following example, the IPv6 RIP process named process1 is enabled on the device and on Ethernet interface 0/0. The IPv6 default route (::/0) is advertised in addition to all other routes in device updates sent on Ethernet interface 0/0. Additionally, BGP routes are redistributed into the RIP process named process1 according to a route map where routes that match a prefix list are also tagged. The number of parallel paths is set to one to allow the route tagging, and the IPv6 RIP timers are adjusted. A prefix list named eth0/0-in-flt filters inbound routing updates on Ethernet interface 0/0.

        ipv6 router rip process1
         maximum-paths 1
         redistribute bgp 65001 route-map bgp-to-rip
         distribute-list prefix-list eth0/0-in-flt in Ethernet0/0
        !
        interface Ethernet0/0
         ipv6 address 2001:DB8::/64 eui-64
         ipv6 rip process1 enable
         ipv6 rip process1 default-information originate
        !
        ipv6 prefix-list bgp-to-rip-flt seq 10 deny 2001:DB8:3::/16 le 128
        ipv6 prefix-list bgp-to-rip-flt seq 20 permit 2001:DB8:1::/8 le 128
        !
        ipv6 prefix-list eth0/0-in-flt seq 10 deny ::/0
        ipv6 prefix-list eth0/0-in-flt seq 15 permit ::/0 le 128
        !
        route-map bgp-to-rip permit 10
         match ipv6 address prefix-list bgp-to-rip-flt
         set tag 4

        In the following example, output information about all current IPv6 RIP processes is displayed using the show ipv6 rip command:

        Device> show ipv6 rip
        
        RIP process "process1", port 521, multicast-group FF02::9, pid 62
             Administrative distance is 120. Maximum paths is 1
             Updates every 5 seconds, expire after 15
             Holddown lasts 10 seconds, garbage collect after 30
             Split horizon is on; poison reverse is off
             Default routes are generated
             Periodic updates 223, trigger updates 1
          Interfaces:
            Ethernet0/0
          Redistribution:
            Redistributing protocol bgp 65001 route-map bgp-to-rip

        In the following example, output information about a specified IPv6 RIP process database is displayed using the show ipv6 rip command with the name argument and the database keyword. In the following output for the IPv6 RIP process named process1, timer information is displayed, and route 2001:DB8::16/64 has a route tag set:

        Device> show ipv6 rip process1 database
        
        RIP process "process1", local RIB
         2001:DB8::/64, metric 2
             Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs
         2001:DB8::/16, metric 2 tag 4, installed
             Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs
         2001:DB8:1::/16, metric 2 tag 4, installed
             Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs
         2001:DB8:2::/16, metric 2 tag 4, installed
             Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs
         ::/0, metric 2, installed
             Ethernet0/0/FE80::A8BB:CCFF:FE00:B00, expires in 13 secs

        In the following example, output information for a specified IPv6 RIP process is displayed using the show ipv6 rip command with the name argument and the next-hops keyword:

        Device> show ipv6 rip process1 next-hops
        
        RIP process "process1", Next Hops
          FE80::A8BB:CCFF:FE00:A00/Ethernet0/0 [4 paths]

        Additional References

        Related Documents

        Related Topic

        Document Title

        IPv6 addressing and connectivity

        IPv6 Configuration Guide

        Cisco IOS commands

        Cisco IOS Master Commands List, All Releases

        IPv6 commands

        Cisco IOS IPv6 Command Reference

        Cisco IOS IPv6 features

        Cisco IOS IPv6 Feature Mapping

        Standards and RFCs

        Standard/RFC

        Title

        RFCs for IPv6

        IPv6 RFCs

        MIBs

        MIB

        MIBs Link

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

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

        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 IPv6 Routing: Route Redistribution

        Table 1 Feature Information for IPv6 Routing: Route Redistribution

        Feature Name

        Releases

        Feature Information

        IPv6 Routing: Route Redistribution

        12.2(25)SEA

        12.2(25)SG

        3.2.0SG

        15.0(2)SG

        12.2(33)SRA

        12.2(18)SXE

        12.2(2)T

        12.3

        Routes may be specified by prefix, using a route-map prefix list, or by tag, using the route-map “match tag” function.

        The following commands were introduced or modified: distribute-list prefix-list, ipv6 prefix list, ipv6 rip enable, ipv6 router rip, match ipv6 address, redistribute, route-map, set tag, show ipv6 rip.