show ipv6 route
Displays the IPv6 routing table on a Cisco router, showing all known IPv6 routes and their next-hop information for troubleshooting and verification of IPv6 routing.
Definition: show ipv6 route is a Cisco IOS privileged exec command. Displays the IPv6 routing table on a Cisco router, showing all known IPv6 routes and their next-hop information for troubleshooting and verification of IPv6 routing.
Overview
The `show ipv6 route` command is a fundamental troubleshooting and verification tool for any network engineer working with IPv6 on Cisco IOS devices. It displays the entire IPv6 routing table, including directly connected networks, static routes, and routes learned via dynamic routing protocols such as OSPFv3, EIGRP for IPv6, and BGP. The command provides critical information about each route: the destination prefix, the next-hop address, the outgoing interface, the administrative distance, the metric, and the route's age. This output is essential for verifying that IPv6 routing is functioning correctly, diagnosing reachability issues, and understanding the path traffic will take through the network.
The underlying networking concept is the IPv6 routing table, which is the core data structure a router uses to make forwarding decisions for IPv6 packets. Each entry represents a known destination network and the best path to reach it, as determined by the routing protocol's metrics and administrative distances. The command is typically used after configuring IPv6 routing protocols or static routes to confirm that routes are being learned and installed correctly. It is also the first command an engineer reaches for when troubleshooting IPv6 connectivity problems, such as when a ping to a remote IPv6 address fails. Alternative commands like `show ipv6 route summary` provide a condensed view, while `show ipv6 route connected` or `show ipv6 route static` filter by route type. The `show ipv6 route` command is more comprehensive and is the go-to for a full picture.
In the broader workflow, this command is used after initial IPv6 configuration, after making changes to routing protocols, or during troubleshooting. It fits into a sequence: configure IPv6 on interfaces, enable a routing protocol, then verify with `show ipv6 route`. Important IOS behaviors include that the output can be long and may require filtering with parameters. The command is available in privileged EXEC mode (enable) and does not affect the running configuration. Output is buffered, so for large tables, use `terminal length 0` to avoid paging. The command requires no special privilege level beyond enable. Understanding the output fields—such as the route code (C for connected, L for local, S for static, O for OSPF, D for EIGRP, B for BGP), the next-hop address, and the interface—is crucial for effective troubleshooting.
show ipv6 routeWhen to Use This Command
- Verify that a specific IPv6 route is present in the routing table after configuring static or dynamic routing.
- Troubleshoot IPv6 connectivity issues by checking if a route to a destination network exists.
- Monitor the routing table to see which routes are learned via OSPFv3 or EIGRP for IPv6.
- Check for default IPv6 routes or specific routes to ensure proper traffic forwarding.
Parameters
| Parameter | Syntax | Description |
|---|---|---|
| ipv6-prefix/length | X:X:X:X::X/<0-128> | Specifies a specific IPv6 prefix and prefix length to display only that route. For example, 2001:DB8:1::/48. If omitted, the entire routing table is shown. Common mistake: forgetting the prefix length or using an incorrect length. |
| protocol | bgp | connected | eigrp | isis | ospf | rip | static | Filters the routing table to show only routes learned via a specific routing protocol. For example, 'show ipv6 route ospf' displays only OSPFv3 routes. Common mistake: using the wrong protocol keyword (e.g., 'ospfv3' instead of 'ospf'). |
| next-hop-address | X:X:X:X::X | Displays routes that have a specific next-hop IPv6 address. Useful for verifying that a particular neighbor is being used as the next hop. Common mistake: using a link-local address without specifying the interface. |
| interface | interface-type interface-number | Shows routes that use a specific outgoing interface, such as GigabitEthernet0/0. Helpful for checking which routes are being forwarded out a particular interface. Common mistake: omitting the interface number or using an incorrect interface name. |
| summary | summary | Displays a condensed summary of the IPv6 routing table, including the total number of routes and the number of routes per protocol. Does not show individual route details. Common mistake: expecting detailed route information. |
Command Examples
Basic show ipv6 route output
show ipv6 routeIPv6 Routing Table - default - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2
IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
C 2001:DB8:1:1::/64 [0/0]
via GigabitEthernet0/0, directly connected
L 2001:DB8:1:1::1/128 [0/0]
via GigabitEthernet0/0, receive
S 2001:DB8:2:2::/64 [1/0]
via 2001:DB8:1:1::2
O 2001:DB8:3:3::/64 [110/2]
via 2001:DB8:1:1::2, 00:10:23, GigabitEthernet0/0
NDp FE80::/10 [0/0]
via Null0, directly connectedThe output shows the IPv6 routing table. The first line indicates the table name and number of entries. The codes legend explains route sources. Each route entry includes: code (C=Connected, L=Local, S=Static, O=OSPF), prefix/length, administrative distance/metric in brackets, and next-hop information. For directly connected routes, it shows the interface. For static or dynamic routes, it shows next-hop IPv6 address, optional age (for OSPF), and outgoing interface.
Show IPv6 route for a specific prefix
show ipv6 route 2001:DB8:2:2::/64Routing entry for 2001:DB8:2:2::/64
Known via "static", distance 1, metric 0
Route count: 1/0, advertising count: 0
Last updated 00:05:23 ago
Routing Descriptor Blocks:
* 2001:DB8:1:1::2, via GigabitEthernet0/0
Route metric is 0, traffic share count is 1This shows detailed information for a specific route. It includes the route source (static), administrative distance (1), metric (0), last update time, and the next-hop address with outgoing interface. The asterisk indicates the active next-hop.
Understanding the Output
The 'show ipv6 route' command displays the IPv6 routing table. The first line shows the table name and total number of routes. The codes legend defines abbreviations for route sources (C=Connected, L=Local, S=Static, O=OSPF, etc.).
Each route entry begins with a code letter, followed by the IPv6 prefix and prefix length. In brackets, the first number is the administrative distance (trustworthiness) and the second is the metric (cost). For directly connected routes, the next-hop shows 'directly connected' with the interface.
For remote routes, it shows the next-hop IPv6 address, optionally an age (for OSPF), and the outgoing interface. The 'via' keyword indicates the next-hop. A good routing table has routes for all expected networks with appropriate AD and metric.
Missing routes or high metrics may indicate problems. Watch for 'NDp' (Neighbor Discovery prefix) entries which are automatically added for link-local addresses.
Configuration Scenarios
Verify OSPFv3 Routes Between Two Routers
After configuring OSPFv3 on two directly connected routers, you need to verify that IPv6 routes are being exchanged and installed in the routing table.
Topology
R1(Gi0/0)---2001:DB8:12::/64---(Gi0/0)R2Steps
- 1.Step 1: Enter privileged EXEC mode on R1: R1> enable
- 2.Step 2: Display the IPv6 routing table: R1# show ipv6 route
- 3.Step 3: Look for OSPF routes (code 'O') to the remote network (e.g., 2001:DB8:2::/64) with next-hop 2001:DB8:12::2 via GigabitEthernet0/0.
- 4.Step 4: Verify the route is present and active.
! On R1 interface GigabitEthernet0/0 ipv6 address 2001:DB8:12::1/64 ipv6 ospf 1 area 0 ! ipv6 router ospf 1 router-id 1.1.1.1 ! ! On R2 interface GigabitEthernet0/0 ipv6 address 2001:DB8:12::2/64 ipv6 ospf 1 area 0 ! ipv6 router ospf 1 router-id 2.2.2.2
Verify: R1# show ipv6 route ospf IPv6 Routing Table - default - 3 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, H - NHRP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext type 1 OE2 - OSPF ext type 2, ON1 - OSPF NSSA ext type 1, ON2 - OSPF NSSA ext type 2 l - LISP O 2001:DB8:2::/64 [110/2] via 2001:DB8:12::2, GigabitEthernet0/0, 00:01:23
Watch out: Ensure OSPFv3 is enabled on the interface with 'ipv6 ospf <process-id> area <area-id>'. A common mistake is forgetting to configure the router-id under 'ipv6 router ospf', which prevents OSPF from forming adjacencies.
Troubleshoot Missing Static IPv6 Route
A static IPv6 route was configured to reach a remote network, but traffic is not reaching the destination. You need to verify the static route is in the routing table and correctly pointing to the next hop.
Topology
R1(Gi0/0)---2001:DB8:12::/64---(Gi0/0)R2---(Gi0/1)---2001:DB8:23::/64---(Gi0/0)R3Steps
- 1.Step 1: Enter privileged EXEC mode on R1: R1> enable
- 2.Step 2: Display the IPv6 routing table: R1# show ipv6 route
- 3.Step 3: Look for a static route (code 'S') to the remote network 2001:DB8:3::/64.
- 4.Step 4: If the route is missing, check the static route configuration. If present, verify the next-hop address and interface are correct.
- 5.Step 5: If the next-hop is unreachable, check connectivity to the next-hop router.
! On R1 ipv6 route 2001:DB8:3::/64 2001:DB8:12::2
Verify: R1# show ipv6 route static IPv6 Routing Table - default - 3 entries Codes: ... S 2001:DB8:3::/64 [1/0] via 2001:DB8:12::2
Watch out: A common mistake is using a link-local address as the next-hop without specifying the outgoing interface. For example, 'ipv6 route 2001:DB8:3::/64 fe80::2' will fail unless the interface is specified: 'ipv6 route 2001:DB8:3::/64 GigabitEthernet0/0 fe80::2'.
Troubleshooting with This Command
When troubleshooting IPv6 routing issues, the `show ipv6 route` command is indispensable. A healthy routing table shows all expected routes with appropriate administrative distances and metrics. For directly connected networks, you should see entries with code 'C' (connected) and 'L' (local). For dynamic routes, the code indicates the protocol (e.g., 'O' for OSPF, 'D' for EIGRP, 'B' for BGP). Each route should have a valid next-hop address and an outgoing interface that is up/up. Problem indicators include missing routes, routes with an 'inaccessible' next-hop, or routes with high metrics or administrative distances that may indicate suboptimal paths.
Key fields to focus on: the route code tells you how the route was learned; if a route is missing, check the routing protocol configuration. The next-hop address must be reachable; if it shows as 'inaccessible', the next-hop is not in the routing table. The administrative distance (in brackets) helps identify which route is preferred when multiple routes exist. The metric (second number in brackets) indicates the cost; unusually high metrics may indicate a problem. The age (timestamp) shows how long the route has been in the table; if routes are flapping, the age will reset frequently.
Common symptoms: 'No route to host' errors often indicate a missing route in the table. If a ping fails but the route exists, check the next-hop reachability with `show ipv6 route <next-hop>`. If routes are not appearing, verify that the routing protocol is enabled on the correct interfaces and that neighbor adjacencies are established (use `show ipv6 ospf neighbor` for OSPFv3, `show ipv6 eigrp neighbors` for EIGRP). If static routes are not working, ensure the next-hop is reachable and the exit interface is correct.
A step-by-step diagnostic flow: 1) Start with `show ipv6 route` to see the full table. 2) If the destination is missing, filter by protocol (`show ipv6 route ospf`) to see if the protocol is learning routes. 3) Check neighbor adjacencies with the appropriate protocol command. 4) Verify interface status with `show ipv6 interface brief`. 5) Use `ping` and `traceroute` to test connectivity. 6) Correlate with `debug ipv6 routing` to see route updates in real time. The `show ipv6 route` command is often used alongside `show ipv6 protocols` to verify routing protocol configuration and `show ipv6 interface` to check IPv6 addressing and neighbor discovery.
CCNA Exam Tips
CCNA exam tip: Remember that 'show ipv6 route' is the IPv6 equivalent of 'show ip route' and uses similar codes but with IPv6-specific additions like ND and NDp.
CCNA exam tip: The administrative distance for static IPv6 routes defaults to 1, same as IPv4. OSPFv3 uses AD 110.
CCNA exam tip: In the exam, you may be asked to identify the route source from the code letter (e.g., 'O' for OSPF, 'S' for static).
CCNA exam tip: Be able to interpret the output to determine the next-hop address and outgoing interface for a given route.
Common Mistakes
Mistake 1: Confusing 'show ipv6 route' with 'show ip route' — the IPv6 command is specific to IPv6 and will not show IPv4 routes.
Mistake 2: Misinterpreting the 'NDp' code as a problem — NDp entries are normal for link-local prefixes.
Mistake 3: Forgetting that directly connected routes have an AD of 0 and metric of 0, and that local routes (L) are /128 for the interface address.
show ipv6 route vs show ipv6 ospf
Both commands are used to verify IPv6 routing, but 'show ipv6 route' displays the entire IPv6 routing table regardless of routing protocol, while 'show ipv6 ospf' shows only OSPFv3-specific information such as neighbor states and LSAs. They are often confused because they both involve IPv6 routing, but serve different diagnostic purposes.
| Aspect | show ipv6 route | show ipv6 ospf |
|---|---|---|
| Scope | Entire IPv6 routing table | OSPFv3 process only |
| Information Provided | Next-hop, metric, route type | Router ID, areas, neighbors, LSAs |
| Protocol Specificity | Protocol-agnostic (shows all sources) | OSPFv3-specific |
| Typical Use | Check reachability of IPv6 networks | Verify OSPFv3 adjacencies and LSDB |
| Output Format | List of routes with codes | Multiple sections (process, areas, neighbors) |
Use show ipv6 route when you need to check the best path to an IPv6 destination or verify that a route is being learned from any source.
Use show ipv6 ospf when you need to verify OSPFv3 neighbor relationships, area configuration, or LSA database.
Platform Notes
In IOS-XE (e.g., Catalyst 9000 switches, ISR 4000 series), the `show ipv6 route` command behaves identically to classic IOS, but the output may include additional fields such as 'U' for per-user static routes or 'l' for LISP routes. The syntax and parameters are the same. On NX-OS (e.g., Nexus switches), the equivalent command is `show ipv6 route` as well, but the output format differs slightly: it uses a more tabular format and includes the 'via' keyword for next-hop.
NX-OS also supports `show ipv6 route summary` and `show ipv6 route <prefix>`. On ASA firewalls, IPv6 routing is limited; the command `show ipv6 route` is available in ASA 9.x and later, but the routing table is simpler (mostly static and connected). ASA does not support dynamic IPv6 routing protocols like OSPFv3.
In IOS-XR (e.g., ASR 9000, CRS), the command is `show route ipv6` (note the different syntax). IOS-XR uses a different routing table structure and the output includes extensive detail. For IOS versions, the command has been available since 12.2(2)T for IPv6 support.
In 15.x and 16.x, the output has been enhanced with additional route codes (e.g., 'l' for LISP). There are no significant syntax differences between versions, but newer versions may support more parameters like `show ipv6 route vrf <vrf-name>` for VRF-aware routing.
Related Commands
show ip route
Displays the IP routing table showing all known routes, their source protocols, administrative distances, metrics, next-hops, and outgoing interfaces.
show ipv6 ospf
Displays general information about OSPFv3 (IPv6 OSPF) routing processes, including router ID, areas, and interfaces, used to verify OSPFv3 configuration and operation.
Practice for the CCNA 200-301
Test your knowledge with practice questions covering all CCNA 200-301 exam domains.
Practice CCNA 200-301 Questions