public icon indicating copy to clipboard operation
public copied to clipboard

Add ISIS single-topology metric leaf under interface level config

Open xandrorel opened this issue 1 year ago • 0 comments

Change Scope

Add ISIS single-topology metric leaf under interface/level:

  • /network-instances/network-instance/protocols/protocol/isis/interfaces/interface/levels/level/config/metric
  • /network-instances/network-instance/protocols/protocol/isis/interfaces/interface/levels/level/state/metric

Resolves #1093

Rationale

Currently, the ISIS metric can only be defined per Address Family under isis interface/level. This is not a problem for ISIS multi-topology but becomes an issue when an ISIS single-topology is used and an interface has only IPv6 AF configured. In most implementations today the IPv6 ISIS metric is ignored in ISIS single-topology mode. Instead, one has to configure IPv4 AF metric even for interfaces without IPV4 AF configured/enabled.

module: openconfig-network-instance
  +--rw network-instances
     +--rw network-instance* [name]
        +--rw protocols
           +--rw protocol* [identifier name]
              +--rw isis
                 +--rw interfaces
                    +--rw interface* [interface-id]
                       +--rw levels
                          +--rw level* [level-number]
                             +--rw config
                                +--rw level-number?   oc-isis-types:level-number
                                +--rw passive?        boolean
                                +--rw priority?       uint8
                                +--rw metric?         uint32    <<< new
                                +--rw enabled?        boolean
module: openconfig-network-instance
  +--rw network-instances
     +--rw network-instance* [name]
        +--rw protocols
           +--rw protocol* [identifier name]
              +--rw isis
                 +--rw interfaces
                    +--rw interface* [interface-id]
                       +--rw levels
                          +--rw level* [level-number]
                             +--ro state
                                +--ro level-number?   oc-isis-types:level-number
                                +--ro passive?        boolean
                                +--ro priority?       uint8
                                +--ro metric?         uint32    <<< new
                                +--ro enabled?        boolean

This change is backwards compatible

Platform Implementations

From Juniper ISIS metric reference and Juniper ISIS multi-topology reference

isis {
    level 2 wide-metrics-only;
    interface ae2.0 {
        level 2 metric 100;
    }
}

From Arista ISIS config guide

switch(config)# interface ethernet 5
switch(config-if-Et5)# isis metric 30
switch(config-if-Et5)#

xandrorel avatar Oct 23 '24 18:10 xandrorel