Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Example: Configuring IS-IS Dual Stacking of IPv4 and IPv6 Unicast Addresses

This example shows how to configure IPv4 and IPv6 dual stacking in IS-IS.

Requirements

No special configuration beyond device initialization is required before configuring this example.

Overview

VIDEO 1: IS-IS Dual Stacking

You can use IPv4 and IPv6 dual stacking to begin your migration from IPv4 to IPv6 by implementing IPv6 alongside IPv4 in your existing networks. This allows you to implement IPv6 so that you can provide the same services over IPv6—for example, video, voice, high-quality data—that you currently provide in your IPv4 networks. You can then perform incremental upgrades to IPv6 and avoid service disruptions while migrating from IPv4 to IPv6.

Unlike RIP and OSPF, IS-IS does not require a distinct protocol or a new version to support IPv6. Because IS-IS uses ISO addresses, the configuration for IPv6 and IPv4 is identical in the Junos OS implementation of IS-IS. For IS-IS to carry IPv6 routes, you only need to add IPv6 addresses to IS-IS enabled interfaces or include other IPv6 routes in your IS-IS export policy.

The only explicit configuration needed in IS-IS with regard to IPv6 is if you want to disable it. Alternatively, you can disable IPv4 routing and use IS-IS with IPv6 only. An example of each is provided here:

Disable IPv6 routing in IS-IS:

[edit protocols isis]user@host# set no-ipv6-routing

Use IS-IS exclusively for IPv6 routing:

[edit protocols isis]user@host# set no-ipv4-routing

Figure 1 shows the topology used in this example.

Figure 1: IS-IS IPv4 and IPv6 Dual Stacking Topology

IS-IS IPv4 and IPv6 Dual Stacking
Topology

CLI Quick Configuration shows the configuration for all of the devices in Figure 1. The section Step-by-Step Procedure describes the steps on Device R1.

Configuration

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

Device R1

set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.1/30set interfaces fe-1/2/0 unit 0 family isoset interfaces fe-1/2/0 unit 0 family inet6 address 2001:db8:0:5::/64 eui-64set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.17/30set interfaces fe-1/2/1 unit 0 family isoset interfaces fe-1/2/1 unit 0 family inet6 address 2001:db8:0:1::/64 eui-64set interfaces lo0 unit 0 family inet address 192.168.0.1/32set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0001.00set interfaces lo0 unit 0 family inet6 address 2001:db8::1/128set protocols isis interface fe-1/2/0.0set protocols isis interface fe-1/2/1.0set protocols isis interface lo0.0

Device R2

set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.2/30set interfaces fe-1/2/0 unit 0 family isoset interfaces fe-1/2/0 unit 0 family inet6 address 2001:db8:0:5::/64 eui-64set interfaces lo0 unit 0 family inet address 192.168.0.2/32set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0002.00set interfaces lo0 unit 0 family inet6 address 2001:db8::2/128set protocols isis interface fe-1/2/0.0set protocols isis interface lo0.0

Device R3

set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.18/30set interfaces fe-1/2/0 unit 0 family isoset interfaces fe-1/2/0 unit 0 family inet6 address 2001:db8:0:1::/64 eui-64set interfaces lo0 unit 0 family inet address 192.168.0.3/32set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0003.00set interfaces lo0 unit 0 family inet6 address 2001:db8::3/128set protocols isis interface fe-1/2/0.0set protocols isis interface lo0.0

Step-by-Step Procedure

The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.

To configure IS-IS dual stacking:

  1. Configure the interfaces, including both IPv4 and IPv6 addresses on each interface.

    Optionally, include the eui-64 statement to automatically generate the host number portion of interface addresses.

    [edit interfaces]user@R1# set fe-1/2/0 unit 0 family inet address 10.0.0.1/30user@R1# set fe-1/2/0 unit 0 family isouser@R1# set fe-1/2/0 unit 0 family inet6 address 2001:db8:0:5::/64 eui-64user@R1# set fe-1/2/1 unit 0 family inet address 10.0.0.17/30user@R1# set fe-1/2/1 unit 0 family isouser@R1# set fe-1/2/1 unit 0 family inet6 address 2001:db8:0:1::/64 eui-64user@R1# set lo0 unit 0 family inet address 192.168.0.1/32user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00user@R1# set lo0 unit 0 family inet6 address 2001:db8::1/128
  2. Enable IS-IS on the interfaces.
    [edit protocols isis]user@R1# set interface fe-1/2/0.0user@R1# set interface fe-1/2/1.0user@R1# set interface lo0.0

Results

From configuration mode, confirm your configuration by entering the show interfaces and show protocols commands. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.

user@R1# show interfacesfe-1/2/0 {unit 0 {family inet {address 10.0.0.1/30;}family iso;family inet6 {address 2001:db8:0:5::/64 {eui-64;}}}}fe-1/2/1 {unit 0 {family inet {address 10.0.0.17/30;}family iso;family inet6 {address 2001:db8:0:1::/64 {eui-64;}}}}lo0 {unit 0 {family inet {address 192.168.0.1/32;}family iso {address 49.0002.0192.0168.0001.00;}family inet6 {address 2001:db8::1/128;}}}
user@R1# show protocolsisis {interface fe-1/2/0.0;interface fe-1/2/1.0;interface lo0.0;}

If you are done configuring the device, enter commit from configuration mode.

Verification

Confirm that the configuration is working properly.

Checking the Neighbor Adjacencies

Purpose

Determine what topologies are supported on neighboring IS-IS devices.

Action

From operational mode, enter the show isis adjacency detail command.

user@R1> show isis adjacency detail
R2
  Interface: fe-1/2/0.0, Level: 3, State: Up, Expires in 24 secs
  Priority: 0, Up/Down transitions: 1, Last transition: 18:34:08 ago
  Circuit type: 3, Speaks: IP, IPv6
  Topologies: Unicast
  Restart capable: Yes, Adjacency advertisement: Advertise
  IP addresses: 10.0.0.2
  IPv6 addresses: fe80::2a0:a514:0:24c

R3
  Interface: fe-1/2/1.0, Level: 3, State: Up, Expires in 21 secs
  Priority: 0, Up/Down transitions: 1, Last transition: 18:33:41 ago
  Circuit type: 3, Speaks: IP, IPv6
  Topologies: Unicast
  Restart capable: Yes, Adjacency advertisement: Advertise
  IP addresses: 10.0.0.18
  IPv6 addresses: fe80::2a0:a514:0:124c

Meaning

As expected, the output shows that the two neighbors support both IPv4 and IPv6. The IPv4 address and the IPv6 link-local address are also shown.

Pinging the IPv6 Interfaces

Purpose

Make sure that you can ping the remote IPv6 interfaces.

Action

From operational mode, enter the ping command to ping from Device R2 to Device R3.

  1. Determine the IPv6 address assigned to Device R3.

    If you use EUI-64 addressing as shown in the example, the host portion of the IPv6 addresses is assigned automatically. To determine what addresses are assigned, use the show interfaces terse command on Device R3.

    Interface               Admin Link Proto    Local                 Remote
    fe-1/2/0               
    fe-1/2/0.0             up    up   inet     10.0.0.18/30    
                                       iso     
                                       inet6    2001:db8:0:1:2a0:a514:0:124c/64
                                                fe80::2a0:a514:0:124c/64
    lo0                    
    lo0.0                   up    up   inet     192.168.0.3         --> 0/0
                                       iso      49.0002.0192.0168.0003
                                       inet6    2001:db8::3     
                                                fe80::2a0:a50f:fc56:14c

    The IPv6 addresses that should be pingable are 2001:db8:0:1:2a0:a514:0:124c and 2001:db8::3.

  2. From Device R2, ping the Device R3 fe-1/2/0.0 IPv6 interface address and the lo0.0 IPv6 interface address.
    user@R2> ping 2001:db8:0:1:2a0:a514:0:124c
    PING6(56=40+8+8 bytes) 2001:db8:0:5:2a0:a514:0:24c --> 2001:db8:0:1:2a0:a514:0:124c
    16 bytes from 2001:db8:0:1:2a0:a514:0:124c, icmp_seq=0 hlim=63 time=2.373 ms
    16 bytes from 2001:db8:0:1:2a0:a514:0:124c, icmp_seq=1 hlim=63 time=1.600 ms
    16 bytes from 2001:db8:0:1:2a0:a514:0:124c, icmp_seq=2 hlim=63 time=2.228 ms
    user@R2> ping 2001:db8::3
    PING6(56=40+8+8 bytes) 2001:db8:0:5:2a0:a514:0:24c --> 2001:db8::3
    16 bytes from 2001:db8::3, icmp_seq=0 hlim=63 time=1.797 ms
    16 bytes from 2001:db8::3, icmp_seq=1 hlim=63 time=1.430 ms
    16 bytes from 2001:db8::3, icmp_seq=2 hlim=63 time=2.525 ms

Meaning

This test confirms that IS-IS has learned the IPv6 routes.

Checking the IPv6 Routing Table

Purpose

Verify that the expected routes are in the IPv6 routing table.

Action

user@R1> show route table inet6.0
inet6.0: 11 destinations, 12 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

2001:db8::1/128    *[Direct/0] 18:52:52
                    >    via lo0.0
2001:db8::2/128    *[IS-IS/15] 01:59:52, metric 10
                    > to fe80::2a0:a514:0:24c via fe-1/2/0.0
2001:db8::3/128    *[IS-IS/15] 01:59:52, metric 10
                    > to fe80::2a0:a514:0:124c via fe-1/2/1.0
2001:db8:0:1::/64  *[Direct/0] 18:52:15
                    >    via fe-1/2/1.0
2001:db8:0:1:2a0:a514:0:114c/128
                   *[Local/0] 18:52:48
                         Local via fe-1/2/1.0
2001:db8:0:5::/64  *[Direct/0] 18:52:49
                    >    via fe-1/2/0.0
2001:db8:0:5:2a0:a514:0:14c/128
                   *[Local/0] 18:52:49
                         Local via fe-1/2/0.0
fe80::/64          *[Direct/0] 18:52:49
                    >    via fe-1/2/0.0
                    [Direct/0] 18:52:15
                    >    via fe-1/2/1.0
fe80::2a0:a50f:fc56:14c/128
                   *[Direct/0] 18:52:52
                    >    via lo0.0
fe80::2a0:a514:0:14c/128
                   *[Local/0] 18:52:49
                         Local via fe-1/2/0.0
fe80::2a0:a514:0:114c/128
                   *[Local/0] 18:52:48
                         Local via fe-1/2/1.0

Meaning

The output shows the IPv6 interface routes (direct and local) and the IPv6 routes learned through IS-IS.

Published: 2012-12-08