- Implementing IPv6 Addressing and Basic Connectivity
- Implementing Bidirectional Forwarding Detection for IPv6
- Implementing Multiprotocol BGP for IPv6
- Implementing DHCP for IPv6
- Implementing EIGRP for IPv6
- Configuring First Hop Redundancy Protocols in IPv6
- Implementing IS-IS for IPv6
- Implementing IPv6 for Network Management
- Implementing Mobile IPv6
- Implementing IPv6 Multicast
- Implementing IPv6 over MPLS
- Implementing IPv6 VPN over MPLS
- Netflow v9 for IPv6
- Implementing OSPFv3
- Implementing QoS for IPv6
- Implementing RIP for IPv6
- Implementing Selective Packet Discard in IPv6
- Implementing Static Routes for IPv6
- Implementing Traffic Filters and Firewalls for IPv6 Security
- Implementing Tunneling for IPv6
Implementing RIP for IPv6
This module describes how to configure Routing Information Protocol for IPv6. RIP is a distance-vector routing protocol that uses hop count as a routing metric. RIP is an Interior Gateway Protocol (IGP) most commonly used in smaller networks.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see 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 at the end of this document.
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 Implementing RIP for IPv6
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-routers multicast group address FF02::9 as the destination address for RIP update messages.
In the Cisco IOS 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.
Nonstop Forwarding for IPv6 RIP
Cisco nonstop forwarding (NSF) continues forwarding packets while routing protocols converge, therefore avoiding a route flap on switchover. When an RP failover occurs, the Forwarding Information Base (FIB) marks installed paths as stale by setting a new epoch. Subsequently, the routing protocols reconverge and populate the RIB and FIB. Once all NSF routing protocols converge, any stale routes held in the FIB are removed. A failsafe timer is required to delete stale routes, in case of routing protocol failure to repopulate the RIB and FIB.
RIP registers as an IPv6 NSF client. Doing so has the benefit of using RIP routes installed in the Cisco Express Forwarding table until RIP has converged on the standby.
How to Implement RIP for IPv6
- Enabling the IPv6 RIP Process
- Customizing IPv6 RIP
- Redistributing Routes into an IPv6 RIP Routing Process
- Configuring Route Tags for IPv6 RIP Routes
- Filtering IPv6 RIP Routing Updates
- Verifying IPv6 RIP Configuration and Operation
Enabling the IPv6 RIP Process
Before configuring the router to run IPv6 RIP, globally enable IPv6 using the ipv6 unicast-routing command in global configuration mode, and enable IPv6 on any interfaces on which IPv6 RIP is to be enabled. For details on basic IPv6 connectivity tasks, refer to the Implementing Basic Connectivity for IPv6 module.
If you want to set or change a global value, follow steps 1 and 2, and then use the optional ipv6 router ripcommand in global configuration mode (see Customizing IPv6 RIP for an example).
DETAILED STEPS
Customizing IPv6 RIP
Perform this optional task to customize IPv6 RIP by configuring the maximum numbers of equal-cost paths that IPv6 RIP will support, adjusting the IPv6 RIP timers, and originating a default IPv6 route.
DETAILED STEPS
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.
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
|
Example: Router> enable |
Enables privileged EXEC mode.
|
||
|
Example: Router# configure terminal |
Enters global configuration mode. |
||
|
Example: Router(config)# interface Ethernet 0/0 |
Specifies the interface type and number, and enters interface configuration mode. |
||
|
Example: Router(config-if)# ipv6 router one enable |
Enables an IPv6 Routing Information Protocol (RIP) routing process on an interface. |
||
|
Example: Router(config-router)# redistribute bgp 65001 route-map bgp-to-rip |
Redistributes the specified routes into the IPv6 RIP routing process.
|
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.
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
|
Example: Router> enable |
Enables privileged EXEC mode.
|
|
Example: Router# configure terminal |
Enters global configuration mode. |
|
Example: Router(config)# route-map bgp-to-rip permit 10 |
Defines a route map, and enters route-map configuration mode.
|
|
Example: Router(config-route-map)# match ipv6 address prefix-list bgp-to-rip-flt |
Specifies a list of IPv6 prefixes to be matched. |
|
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.
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
|
Example: Router> enable |
Enables privileged EXEC mode.
|
|
Example: Router# configure terminal |
Enters global configuration mode. |
|
Example: Router(config)# ipv6 prefix-list abc permit 2001:DB8::/16 |
Creates an entry in the IPv6 prefix list. |
|
Example: Router(config)# ipv6 prefix-list abc deny ::/0 |
Creates an entry in the IPv6 prefix list.
|
|
|
-- |
|
Example: Router(config)# ipv6 router rip process1 |
Configures an IPv6 RIP routing process. |
|
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. |
Verifying IPv6 RIP Configuration and Operation
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
|
Example: Router> show ipv6 rip process1 database |
(Optional) Displays information about current IPv6 RIP processes.
|
|
Example: Router> show ipv6 route rip |
(Optional) Displays the current contents of the IPv6 routing table.
|
|
Example: Router> enable |
Enables higher privilege levels, such as privileged EXEC mode.
|
|
Example: Router# debug ipv6 rip |
(Optional) Displays debugging messages for IPv6 RIP routing transactions. |
Examples
Sample Output from the show ipv6 rip Command
In the following example, output information about all current IPv6 RIP processes is displayed using the show ipv6 ripcommand:
Router> 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 ripcommand 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:
Router> 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 ripuser EXEC command with the name argument and the next-hops keyword:
Router> show ipv6 rip process1 next-hops
RIP process "process1", Next Hops
FE80::A8BB:CCFF:FE00:A00/Ethernet0/0 [4 paths]
Sample Output from the show ipv6 route Command
The current metric of the route can be found by entering the show ipv6 route command. In the following example, output information for all IPv6 RIP routes is displayed using the show ipv6 routecommand with the rip protocol keyword:
Router> show ipv6 route rip
IPv6 Routing Table - 17 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
R 2001:DB8:1::/32 [120/2]
via FE80::A8BB:CCFF:FE00:A00, Ethernet0/0
R 2001:DB8:2::/32 [120/2]
via FE80::A8BB:CCFF:FE00:A00, Ethernet0/0
R 2001:DB8:3::/32 [120/2]
via FE80::A8BB:CCFF:FE00:A00, Ethernet0/0
Sample Output from the debug ipv6 rip Command
In the following example, debugging messages for IPv6 RIP routing transactions are displayed using the debug ipv6 ripcommand:
Note |
By default, the system sends the output from debug commands and system error messages to the console. To redirect debugging output, use the logging command options within privileged EXEC mode. Possible destinations include the console, virtual terminals, internal buffer, and UNIX hosts running a syslog server. |
Router# debug ipv6 rip
RIPng: Sending multicast update on Ethernet0/0 for process1
src=FE80::A8BB:CCFF:FE00:B00
dst=FF02::9 (Ethernet0/0)
sport=521, dport=521, length=112
command=2, version=1, mbz=0, #rte=5
tag=0, metric=1, prefix=2001:DB8::/64
tag=4, metric=1, prefix=2001:DB8:1::/16
tag=4, metric=1, prefix=2001:DB8:2;:/16
tag=4, metric=1, prefix=2001:DB8:3::/16
tag=0, metric=1, prefix=::/0
RIPng: Next RIB walk in 10032
RIPng: response received from FE80::A8BB:CCFF:FE00:A00 on Ethernet0/0 for process1
src=FE80::A8BB:CCFF:FE00:A00 (Ethernet0/0)
dst=FF02::9
sport=521, dport=521, length=92
command=2, version=1, mbz=0, #rte=4
tag=0, metric=1, prefix=2001:DB8::/64
tag=0, metric=1, prefix=2001:DB8:1::/32
tag=0, metric=1, prefix=2001:DB8:2::/32
tag=0, metric=1, prefix=2001:DB8:3::/32
Configuration Examples for IPv6 RIP
Example IPv6 RIP Configuration
In the following example, the IPv6 RIP process named process1 is enabled on the router and on Ethernet interface 0/0. The IPv6 default route (::/0) is advertised in addition to all other routes in router 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
Additional References
Related Documents
Related Topic |
Document Title |
---|---|
IPv4 RIP configuration tasks |
" Configuring Routing Information Protocol ," Cisco IOS IP Routing Protocols Configuration Guide |
RIP commands: complete command syntax, command mode, defaults, usage guidelines, and examples |
" RIP Commands ," Cisco IOS IP Routing Protocols Command Reference |
IPv6 supported feature list |
" Start Here: Cisco IOS Software Release Specifics for IPv6 Features ," Cisco IOS IPv6 Configuration Guide |
IPv6 commands: complete command syntax, command mode, defaults, usage guidelines, and examples |
Cisco IOS IPv6 Command Reference |
Standards
Standards |
Title |
---|---|
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature. |
-- |
MIBs
MIBs |
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: |
RFCs
RFCs |
Title |
---|---|
RFC 2080 |
RIPng for IPv6 |
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. |
Feature Information for Implementing RIP for IPv6
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 Implementing RIP for IPv6 |
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv6--RIPng Nonstop Forwarding |
12.2(33)SRE 15.0(1)SY |
The IPv6 RIPng nonstop forwarding feature is supported. |
IPv6 Routing--RIP for IPv6 (RIPng) |
12.0(22)S 12.2(14)S 12.2(28)SB 12.2(25)SG 12.2(33)SRA12.2(2)T 12.3 12.3(2)T 12.4 12.4(2)T 15.0(1)S |
RIP enhancements for IPv6 include support for IPv6 addresses and prefixes, and the use of the all-RIP-routers multicast group address FF02::9 as the destination address for RIP update messages. |
IPv6 Routing--Route Redistribution |
12.0(22)S 12.2(14)S 12.2(28)SB 12.2(25)SG 12.2(33)SRA12.2(2)T 12.3 12.3(2)T 12.4 12.4(2)T |
Routes may be specified by prefix, using a route-map prefix list, or by tag, using the route-map "match tag" function. |
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.