Is Is Multiple Instances
Is Is Multiple Instances
eos.arista.com/eos-4-26-1f/is-is-multiple-instances
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.
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′
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.
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.
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.
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.
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
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
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.
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)
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.
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
Configuration
Instance ID Configuration
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.
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.
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
switch(config)#interface Ethernet1
switch(config-et1)# isis rfc8202 disabled
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.
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
The route-map argument is optional. Not providing a route-map will redistribute routes from
all other instances into this IS-IS instance.
8/15
switch(config)#route-map rm1 permit 10
switch(config-route-map-rm1)#match isis instance 3
Examples
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
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
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.
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
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.
OpenConfig Support
OpenConfig support is present from 4.27.0F.
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
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