Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ISIS single-topology metric leaf under interface level config #1206

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

xandrorel
Copy link

@xandrorel xandrorel commented Oct 23, 2024

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 xandrorel marked this pull request as ready for review October 23, 2024 21:11
@xandrorel xandrorel requested a review from a team as a code owner October 23, 2024 21:11
@xandrorel xandrorel marked this pull request as draft October 23, 2024 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

need to support ISIS metric
1 participant