Description

Devices running Junos versions prior to 23/24 OS included a default inet6 table even if no IPv6 interfaces or protocols were configured:

 

root@switch> show version
fpc0:
--------------------------------------------------------------------------
Hostname: switch
Model: ex3400-24p
Junos: 22.4R2-S2.6

root@switch> show route
inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
Limit/Threshold: 32768/32768 destinations

+ = Active Route, - = Last Active, * = Both
0.0.0.0/0         *[Static/5] 00:15:16
                  > to 10.85.241.129 via me0.0
10.85.241.128/25  *[Direct/0] 00:15:16
                  > via me0.0
10.85.241.158/32  *[Local/0] 00:15:16
                     Local via me0.0
inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

Limit/Threshold: 20480/20480 destinations
+ = Active Route, - = Last Active, * = Both

ff02::2/128       *[INET6/0] 00:15:16
                     MultiRecv

Symptoms

Newer versions no longer include a default inet6 table:

 

root@switch> show version
fpc0:
--------------------------------------------------------------------------
Hostname: switch
Model: ex3400-24p
Junos: 23.4R2-S4.11

labroot@switch> show route
inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
Limit/Threshold: 32768/32768 destinations
+ = Active Route, - = Last Active, * = Both
0.0.0.0/0         *[Static/5] 00:18:31
                  > to 10.85.241.129 via me0.0
10.85.241.128/25  *[Direct/0] 00:18:31
                  > via me0.0
10.85.241.158/32  *[Local/0] 00:18:31
                      Local via me0.0

{master:0}

Solution

Old codes included default inet6 tables even though there were no IPv6 interfaces or IPv6 Protocols configured. These extra tables were not an issue on designs using standard routing but for more complex networks which use other type of routing (VPN, VRF, EVPN, and others), the creation of these extra tables was not providing optimal results. New 23 and 24 versions have corrected the behavior to only create necessary tables based on the configuration (mcast, L2/L3 VPNs, MPLS, VXLAN, EVPN, routing instances, MAC-VRF, and many others).

 

Inet6 tables are now created according to the configuration on the device.

 

  • Example: Creating an ipv6 interface generates an inet6.0 table:

root@switch# set interfaces lo0.0 family inet6

root@switch#run show route
inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
Limit/Threshold: 32768/32768 destination
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0         *[Static/5] 00:18:31
                  > to 10.85.241.129 via me0.0
10.85.241.128/25  *[Direct/0] 00:18:31
                  > via me0.0
10.85.241.158/32  *[Local/0] 00:18:31
                      Local via me0.0

inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

fe80::96bf:940f:fc7a:5a00/128
                 *[Direct/0] 00:00:03
                  > via lo0.0
ff02::2/128       *[INET6/0] 00:00:03
                     MultiRecv

 

  • Example: Moving the lo0 interface to a routing instance generates the corresponding inet6 table:

set routing-instances r2 instance-type virtual-router
set routing-instances r2 interface lo0.0

(...)
r2.inet6.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

fe80::96f7:ad0f:fc3c:af9d/128
                   *[Direct/0] 00:01:41
                    >  via lo0.0
ff02::2/128        *[INET6/0] 00:01:41
                       MultiRecv
ff02::5/128        *[OSPF3/10] 00:00:07, metric 1
                       MultiRecv

Modification History

2025-04-16 : Article Created