0% found this document useful (0 votes)
357 views15 pages

Is Is Multiple Instances

This document describes the support for multiple IS-IS instances in Arista EOS. It allows for isolation of resources associated with each IS-IS instance such that adjacencies and link state databases are instance-specific. RFC8202 is supported for non-zero instance IDs and provides mechanisms for connectivity across instances through route leaking and passive loopback interfaces configured in multiple instances. Key configuration and troubleshooting options are also outlined.

Uploaded by

ChristopheProust
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
357 views15 pages

Is Is Multiple Instances

This document describes the support for multiple IS-IS instances in Arista EOS. It allows for isolation of resources associated with each IS-IS instance such that adjacencies and link state databases are instance-specific. RFC8202 is supported for non-zero instance IDs and provides mechanisms for connectivity across instances through route leaking and passive loopback interfaces configured in multiple instances. Key configuration and troubleshooting options are also outlined.

Uploaded by

ChristopheProust
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

IS-IS multiple Instances

eos.arista.com/eos-4-26-1f/is-is-multiple-instances

By Tanushree Bansal Bansal

Contents [hide]

Description
RFC8202
Send Packet Processing
Receive Packet Processing
LSP Purge Processing
Rfc8202 configuration options
isis rfc8202 disabled interface config
lsp rfc8202 rx disabled instance config
rfc8202 disabled instance config
IS-IS features supported with multiple instances
Leaking routes from one IS-IS instance to another
Route Preference Order
Instance ID
No ECMP routes across instances
Platform compatibility
Feature History
Configuration
Instance ID Configuration
isis rfc8202 disabled interface configuration
lsp rfc8202 rx disabled instance configuration
rfc8202 disabled instance configuration
Loopback interfaces in multiple IS-IS instances
Examples
Redistributing routes from one IS-IS instance to another
Examples
Show commands
Clear commands
Syslog messages
OpenConfig Support
Multiple instance configuration
Loopback Interface in Multiple Instances
Troubleshooting
Limitations
Resources

1/15
Description
This feature provides support for multiple IS-IS instances in the default VRF. Multiple IS-IS
instances are only supported in multi-agent mode. The functionality follows the IS-IS Multi
Instance standard, RFC8202.

Multiple instances allow for the isolation of resources associated with each IS-IS instance.
IS-IS adjacencies are instance specific. Each instance has its own link state database
(LSDB). Each IS-IS instance is assigned an instance identifier. The default instance ID is 0.
RFC8202 is enforced on instances configured with non-zero instance IDs.

There are 2 mechanisms available that provide connectivity across instances:

IS-IS routes and associated segment routing prefix segments can be leaked between
instances
Passive IS-IS loopback interfaces can be configured to be in multiple instances.

RFC8202
RFC8202 Multi Instance will be supported for default ITID (Instance-specific Topology
Identifier) #0 only.

RFC8202 support will be enabled when an IS-IS router is configured with an Instance ID
other than 0. Note that multi-instance support will always run RFC8202 for non-zero
instances UNLESS explicitly disabled.

There are 2 new destination MA addresses that IS-IS packets are sent to for non-zero
instances.

The 2 new dedicated DMAC addresses for platforms that will be supporting ISIS multiple
instance RFC8202:
Level 1 = DMAC == ‘0100.5e90.0002’
Level 2 = DMAC == ‘0100.5e90.0003’
For IS-IS adjacencies established on IS-IS point to point interfaces, either DMAC can be
used.

For the default IS-IS instance, the following DMACS are used.
Level 1 = DMAC = ’01:80:c2:00:00:14′
Level 2 = DMAC = ’01:80:c2:00:00:15′
P2P = DMAC = ’09:00:2b:00:00:05′

Send Packet Processing


If the instance ID is non-zero:

2/15
IS-IS inserts the IID-TLV in all PDUs. A single ITID, value 0, is included.
The IID-TLV is inserted as the first TLV in the PDU unless authentication is used, in
which case the AUTH-TLV is first and the IID-TLV second.

If the instance ID is non-zero (and the ‘isis rfc8202 disable’ knob) is not configured:

PDUs are sent to new dedicated mcast mac addresses, AllL1MI-ISs and AllL2MI-ISs.

Receive Packet Processing

If the instance ID is non-zero (and the ‘isis rfc8202 disable’ knob) is not configured:

IS-IS registers to receive multicast frames for new dedicated mcast mac addresses,
AllL1MI-ISs and AllL2MI-ISs.
Adjacency is only formed with a neighbor that supports the same instance ID and the
compatible ITID #0.

LSP Purge Processing


IID-TLVs are to be retained in Purged LSPs.

Rfc8202 configuration options


Three configuration knobs will be provided that provide “relaxation” of the enforcement
RFC8202 functionality on non-zero instances and are designed to facilitate the introduction
of RFC8202 to networks and interoperate with IS-IS implementations not following the
RFC8202 standard, here referred as a “legacy router”.

isis rfc8202 disabled interface config

This interface config knob allows an upgraded router with a configured nonzero instance ID
to establish an adjacency on an interface in that instance with a legacy router. When this
configuration is applied:

IS-IS will not require the IID-TLV to be in received IIH, CSNP and PSNP packets
Packets will be sent to the legacy DMACS
The generated IIH, CSNP and PSNP packets will have no IID-TLVs

This functionality will allow an adjacency to be established with the legacy peer.

lsp rfc8202 rx disabled instance config

This instance config knob allows an upgraded router with a non-zero instance ID to continue
to have connectivity to a legacy router and its reachability.

When this config is applied, IS-IS will not require received LSPs to have the IID-TLV. IS-IS
will also continue to flood these LSPs to other peers. Note that:

3/15
LSPs that have IID-TLV present will still undergo validation for instance ID based on the
interface they are received on
Generated LSPs will still have IID-TLVs inserted in them. The legacy peers in the
network will ignore the IID-TLVs, accept these LSPs and process them
This knob is mandatory even for the migration of the last ISIS node in the network from
default to non-default instance.

rfc8202 disabled instance config

There are vendors that allow non-zero instance IDs to be configured but do not support
RFC8202.

One vendor’s implementation drops LSPs that have the IID-TLV configured. This behavior
directly violates the RFC, however, customers would like Arista to be able to interoperate
with this vendor with a non-zero instance configured.

The rfc8202 disabled instance config will disable all enforcement of RFC8202 in an
instance. When this knob is configured, IS-IS will be able to form adjacencies and fully
interoperate with a non-zero instance with systems that do not support RFC8202

LSPs that have IID-TLV present will not undergo validation for instance id based on the
interface they are received on
Generated LSPs will not have IID-TLVs inserted in them
IS-IS will not require the IID-TLV to be in received IIH, CSNP and PSNP packets
Also packets will be sent to the legacy DMACS
The generated IIH, CSNP and PSNP packets will not have IID-TLVs inserted in them

IS-IS features supported with multiple instances


Graceful Restart
Segment Routing
TI-LFA support with non-default instances is available starting EOS-4.27.0F.
IS-IS point to point interfaces
IS-IS over GRE Tunnel interfaces
IS-IS over LAG interfaces
IS-IS with BFD
IS-IS Traffic Engineering
IS-IS Authentication
Leaking routes from one instance to another with a route-map
Redistribution from other protocols (except BGP) into IS-IS instances
Redistribution from BGP into the default instance(instance ID 0)
Redistribution of specific IS-IS instances into other protocols
An interface can only be a part of one instance (except for passive loopback interfaces)
Unconditional set attach-bit in multiple instances

4/15
Ignore set attach-bit in multiple instances
Conditional attach-bit in default instance (instance ID 0)
Dynamic Flooding with multiple instances
LSDB export

Leaking routes from one IS-IS instance to another

Segment routing prefix segments will be redistributed between instances along with IS-IS
routes.

Route tags will be maintained in routes that are redistributed/leaked from one instance to
another.

As per RFC7775, the up/down bit is set to 1 in the L1 and L2 LSPs for leaked prefixes learnt
from another IS-IS instance.

Route Preference Order

When L1 and L2 routes get leaked across instances, a selection criteria is needed to
determine the winning route(s). RFC7775 defines the following preference order (low is
better) for different types of routes:

(Note that all types of routes listed for a given preference are treated equally)

L1 intra-area, L1 external (0)

L2 intra-area, L2 external, L1-L2 inter-area, L1-L2 external, L2-L2 inter-area (1)

L2-L1-down inter-area, L2-L1-down external, L1-L1-down inter-area (2)

The behaviour specified in RFC7775 can be achieved for routes from across instances with
the configuration of ‘route preference rfc7775’ in all the contributing IS-IS instances.

Instance ID

When the same prefix is learnt in multiple instances with identical route preference, route
type and metric values, the selected route will be the one with the lowest instance ID.

No ECMP routes across instances

An ECMP route would not be created if the same prefix happens to be learnt in multiple
instances with the same metric and preference. Route type will be used as the first criteria to
tie break. If routes have identical route-type as well, the route with the lowest instance ID will
be selected.

Platform compatibility

5/15
DCS-7020R
DCS7280R/R2/R3
DCS7500R/R2/R3
DCS7800R3

Feature History

Release Update

4.26.1F Initial introduction

4.27.0F Added OpenConfig Support

4.27.0F TI-LFA support in non-default instance

Configuration

Instance ID Configuration

“ instance-id ” is available as an optional keyword in “ router isis” command

switch(config)#router isis foo ?


vrf Configure IS-IS in a VRF instance
instance-id IS-IS instance identifier
<cr>
switch(config)#router isis foo instance-id ?
<1-65535> Instance ID
switch(config)#router isis foo instance-id 1

Creating more than one instance in the default VRF without instance-id being specified is not
supported. Instance ID not being configured will implicitly imply instance ID is 0 (Note that
the CLI does not allow instance-id 0 configuration). Since instance ID is unique, there can be
at most one instance without any instance-id configuration.

switch(config)#router isis foo


switch(config-router-isis)#router isis bar
% More than 1 IS-IS instance per VRF without instance ID is not supported

Changing the instance ID of an existing instance is not supported. The existing instance will
need to be removed and the new one with the intended instance ID added.

switch(config)#router isis foo instance-id 1


switch(config)#router isis foo instance-id 2
% IS-IS instance foo is already configured in default VRF

Both the instance name and the instance ID are expected to be unique

6/15
switch(config)#router isis foo instance-id 1
switch(config)#router isis bar instance-id 1
% IS-IS instance foo is already configured with instance ID 1

isis rfc8202 disabled interface configuration


If an IS-IS instance is configured with a non-zero instance ID, RFC8202 protocol is enabled
by default on all the IS-IS non-zero instance interfaces. If that non-zero instance is run on an
interface, RFC8202 would normally prevent an adjacency from being established with a
legacy IS-IS peer. By disabling the RFC8202 protocol on that interface, the adjacency can
be formed.

switch(config)#interface Ethernet1
switch(config-et1)# isis rfc8202 disabled

lsp rfc8202 rx disabled instance configuration


If an IS-IS instance is configured with a non-zero instance ID, RFC8202 protocol is enabled
by default on all the IS-IS non-zero instance interfaces. LSPs received without IID-TLV will
be dropped. This configuration knob will allow LSPs without an IID-TLV to be accepted and
processed. This will allow a router with a non-zero instance ID and RFC8202 to still have
connectivity with legacy routers in the network. LSPs with IID-TLV present will still be
validated. Also, LSPs sent out will have IID-TLV inserted.

switch(config)#router isis foo instance-id 1


switch(config-router-isis)#lsp rfc8202 rx disabled

rfc8202 disabled instance configuration


If an IS-IS instance is configured with a non-zero instance ID, RFC8202 protocol is enabled
by default on all the IS-IS non-zero instance interfaces. This config knob allows a non-zero
instance ID to be configured and all RFC8202 functionality disabled.

switch(config)#router isis foo instance-id 1


switch(config-router-isis)#rfc8202 disabled

Loopback interfaces in multiple IS-IS instances

The ‘ isis enable ’ CLI can be used to configure an IS-IS instance on an interface.
However, it overrides the previous instance configured using this CLI.

The following CLI allows loopback interfaces to be configured for multiple instances. The no
form of the above command will require the instance name to be specified.

switch(config)#interface loopback1
switch(config-lo1)# isis instance foo
switch(config-lo1)# isis instance bar

7/15
Note that for non-loopback interfaces, only the ‘ isis enable <instName> ’ CLI will be
available. The user will not be able to configure multiple instances even if the interface is
configured to be passive.

There are now two ways to enable isis on a loopback interface:

‘ isis enable <instName> ’


‘ isis instance <instName> ’

The above CLIs can be used to enable one or more instances on an interface, whether or
not another instance is configured with the ‘ isis enable ’ command. The semantics of the
above CLI is explained with some examples below.

Examples

The following configuration will result in Lo1 being enabled for instance, bar

switch(config)#interface loopback1
switch(config-lo1)# isis enable foo
switch(config-lo1)# isis enable bar

The following configuration will enable Lo1 in both the instances, foo and bar

switch(config)#interface loopback1
switch(config-lo1)# isis enable foo
switch(config-lo1)# isis instance bar

The following configuration will enable Lo1 in the instance, foo. To remove the interface
from the instance, foo, the no form of both the CLIs is needed – ‘ no isis enable ’
and ‘ no isis instance foo ’

switch(config)#interface loopback1
switch(config-lo1)# isis enable foo
switch(config-lo1)# isis instance foo

Redistributing routes from one IS-IS instance to another


This feature can be configured under “router isis” mode as well as “router isis” address-family
mode.

The route-map argument is optional. Not providing a route-map will redistribute routes from
all other instances into this IS-IS instance.

switch(config)#router isis inst0


switch(config-router-isis)#redistribute isis instance ?
route-map Specify which route map to use
<cr>
switch(config-router-isis)#redistribute isis instance route-map isisRm1

Matching based on the IS-IS instance ID is supported in the route-map

8/15
switch(config)#route-map rm1 permit 10
switch(config-route-map-rm1)#match isis instance 3

Examples

Redistribute inst1(instance ID 1) level-1 routes into inst0(instance ID 0) level-1

switch(config)#router isis inst0


switch(config-router-isis)#redistribute isis instance route-map isisRm1

switch(config)#route-map isisRm1 permit 10


switch(config-route-map-rm)#match isis instance 1
switch(config-route-map-rm)#match isis level level-1
switch(config-route-map-rm)#set isis level level-1

Redistribute level-2 routes from inst1(instance ID 1) and level-2 routes from inst2 into
inst0(instance ID 0) level-1 and level-2

switch(config)#router isis inst0


switch(config-router-isis)#redistribute isis instance route-map isisRm1

switch(config)#route-map isisRm1 permit 10


switch(config-route-map-rm)#match isis instance 1
switch(config-route-map-rm)#match isis level level-2
switch(config-route-map-rm)#set isis level level-1-2
switch(config)#route-map isisRm1 permit 20
switch(config-route-map-rm)#match isis instance 2
switch(config-route-map-rm)#match isis level level-2
switch(config-route-map-rm)#set isis level level-1-2

Matching on the same instance as the mode that has redistribution configured will be
treated as a misconfiguration and will result in no routes will getting redistributed

switch(config)#router isis inst0


switch(config-router-isis)#redistribute isis instance route-map isisRm1

switch(config)#route-map isisRm1 permit 10


switch(config-route-map-rm)#match isis instance 0
switch(config-route-map-rm)#match isis level level-2
switch(config-route-map-rm)#set isis level level-1

Show commands

9/15
‘ show isis * ‘ commands support filtering based on the instance name. If the show
command is run with instance name specified, information for that particular instance
will be displayed.

switch#show isis ?
NAME Name of the IS-IS protocol instance
area Area information
counters Show IS-IS Packet counters and drop counters
database Database information
dynamic Dynamic flooding information
graceful-restart Graceful Restart information
hostname System ID to hostname mapping
interface IS-IS interface status
local-convergence-delay Micro-loop local convergence delay information
lsp IS-IS LSP information
mpls Show MPLS information
neighbors Protocol neighbor details
network IS-IS network information
segment-routing Segment routing information
spf IS-IS SPF Information
summary Get summary information for IS-IS
ti-lfa TI-LFA related path information

When there are multiple IS-IS instances configured in the default VRF, “ show isis
* ” commands will display the information for all those instances if the instance name is
not specified when running the show command.

10/15
“ show isis summary ” command will display the instance ID of the IS-IS instance.

switch#show isis summary

IS-IS Instance: foo VRF: default


Instance ID: 0
System ID: 0000.0000.2222, administratively enabled
Router ID: IPv4: 10.0.0.3
Hostname: Router-1
Multi Topology disabled, not attached
IPv4 Preference: Level 1: 115, Level 2: 115
IPv6 Preference: Level 1: 115, Level 2: 115
IS-Type: Level 1 and 2, Number active interfaces: 1
Routes IPv4 only
Max wait(s) Initial wait(ms) Hold interval(ms)
LSP Generation Interval: 5 50 50
SPF Interval: 2 1000 1000
Current SPF hold interval(ms): Level 1: 1000, Level 2: 1000
Last Level 1 SPF run 12:07 minutes ago
Last Level 2 SPF run 8:40 minutes ago
Dynamic Flooding: Disabled
Authentication mode: Level 1: None, Level 2: None
Graceful Restart: Disabled, Graceful Restart Helper: Enabled
Area Addresses:
49.0000
level 1: number DIS interfaces: 0, LSDB size: 1
Area Leader: None
level 2: number DIS interfaces: 0, LSDB size: 1
Area Leader: None

IS-IS Instance: bar VRF: default


Instance ID: 1
System ID: 0000.0000.2222, administratively enabled
Router ID: IPv4: 10.0.0.3
Hostname: Router-1
Multi Topology disabled, not attached
IPv4 Preference: Level 1: 115, Level 2: 115
IPv6 Preference: Level 1: 115, Level 2: 115
IS-Type: Level 1 and 2, Number active interfaces: 1
Routes IPv4 only
Max wait(s) Initial wait(ms) Hold interval(ms)
LSP Generation Interval: 5 50 50
SPF Interval: 2 1000 1000
Current SPF hold interval(ms): Level 1: 1000, Level 2: 1000
Last Level 1 SPF run 2:17 minutes ago
Last Level 2 SPF run 4:01 minutes ago
Dynamic Flooding: Disabled
Authentication mode: Level 1: None, Level 2: None
Graceful Restart: Disabled, Graceful Restart Helper: Enabled
Area Addresses:
49.0000
level 1: number DIS interfaces: 0, LSDB size: 1
Area Leader: None
level 2: number DIS interfaces: 0, LSDB size: 1
Area Leader: None

11/15
Clear commands
Clear commands take an optional instance name parameter.

switch(config)#clear isis ?
NAME Name of the IS-IS protocol instance
all Clear state in all IS-IS protocol instances
counters Reset counters
database Reset database
instance Reset instance
neighbor Reset neighbors

If a clear command is issued without specifying an instance name, the clear command
will take effect only for the instance with instance ID 0. Instance ID 0 is the default
instance id.
If a clear command is issued with an instance name specified, the state for that
particular instance will get cleared.
If a clear command is issued with the instance name “all”, the clear command will take
effect for all instances in the default VRF.
Note that in a rare case that an instance called ‘all’ is present, “clear isis all …”
will clear the state for instance “all” and not all the instances. This would mean
that there would be no way to clear the state for all IS-IS instances if an instance
named ‘all’ is present.

Syslog messages
All IS-IS syslogs will display the instance ID

01:06:39.277728 Instance 1: %ISIS-4-ISIS_L2_DISCHG: Intf: et2, Elected self as


DIS, priority 127

Following syslogs are generated when an instance with non-zero instance ID receives
an ISIS PDU without an IID-TLV or a mismatching instance ID in the given TLV.

00:04:40.893471 Instance 1: %ISIS-3-ISIS_HELLO_IGNORED: P2P IIH Intf: Et3,


sysId: 1111.1111.1002: Invalid IID TLV

00:05:01.042206 Instance 1: %ISIS-3-ISIS_LSP_IGNORED: L1 LSP ID:


1111.1111.1002.0000, Sequence number 0x33 Invalid IID TLV

21:25:44.720194 Instance 1: %ISIS-3-ISIS_SNPDU_IGNORED: Intf Et2, sysId


1111.1111.1002.0000, L1 CSN Invalid IID TLV

OpenConfig Support
OpenConfig support is present from 4.27.0F.

Multiple instance configuration

12/15
Multiple instances can be configured by adding multiple ISIS instances under
/network-instances/network-instance/protocols/protocol/ node with
different instance ids.
An instance id leaf has been added in arista augmentation over the standard model.

/network-instances/network-instance/protocols/protocol/isis/global/
config/instance-id
/network-instances/network-instance/protocols/protocol/isis/global/
state/instance-id

13/15
RFC8202 configurations options can be added using the following leafs.
isis rfc8202 disabled interface configuration. This leaf, if set to true, will
allow a non-zero instance interface to form adjacency with a legacy peer.

/network-instances/network-instance/protocols/protocol/isis/interfaces/
config/isis-rfc8202-disabled
/network-instances/network-instance/protocols/protocol/isis/interfaces/
state/isis-rfc8202-disabled

rfc8202 disabled global configuration. This leaf, is set to true, will add IID-
TLVs in non-zero instances. For instance with instance id 0, this leaf will always
be false.

/network-instances/network-instance/protocols/protocol/isis/global/
config/iid-tlv
/network-instances/network-instance/protocols/protocol/isis/global/
state/iid-tlv

lsp rfc8202 rx disabled global configuration. This leaf, if set to true, will
accept LSPs without IID-TLVs in non-zero instances.

/network-instances/network-instance/protocols/protocol/isis/global/
config/lsp-rfc8202-rx-disabled
/network-instances/network-instance/protocols/protocol/isis/global/
state/lsp-rfc8202-rx-disabled

Loopback Interface in Multiple Instances


To configure a Loopback interface under multiple instances, the same interface
configuration should be added under /network-instances/network-
instance/protocols/protocol/isis/interfaces/ path in all required
instances.
Any conflicting interface configuration present under two instances will throw an
error.
Troubleshooting
If the IS-IS adjacency is not established on an interface,
Check the syslogs to see if the hello packets are getting ignored due to
invalid IID TLV. The syslog would look like this:

00:04:40.893471 Instance 1: %ISIS-3-ISIS_HELLO_IGNORED: P2P IIH Intf:


Et3, sysId: 1111.1111.1002: Invalid IID TLV

If the above syslog is observed, make sure the IS-IS instance-id matches at
both ends of the IS-IS peering
If the peer is running legacy IS-IS then use the isis rfc8202 disabled
command on the interface to form the adjacency

14/15
Relevant log files
IS-IS quicktraces are present in /var/log/qt/Isis*qt
show tech-support extended isis.
Limitations
Multiple IS-IS instances are only supported in the default VRF
This feature is available only in the multi-agent routing protocol model
Multiple instances on the same interface is not supported for non-loopback
interfaces
Open Config support is not available
SNMP support is not available with multiple IS-IS instances
Area proxy is not supported with multiple IS-IS instances
Route preference as defined in RFC7775 for inter area routes is not supported
The following features are not supported in non-default instances. Only the
default instance (instance ID 0) will support them
Redistribution of routes from BGP/BGP LU into IS-IS
Conditional Attach bit support
TopoDb export for CSPF/SRLG
LDP over RSVP
IGP shortcuts
IGP LDP sync
Resources
RFC 8202 : IS-IS Multi-Instance
RFC 7775 – IS-IS Route Preference for Extended IP and IPv6 Reachability
Arista OpenConfig Configuration Guide

15/15

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy