Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 97 additions & 1 deletion release/models/isis/openconfig-isis-routing.yang
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,13 @@ submodule openconfig-isis-routing {
description
"This module describes YANG model for ISIS Routing";

oc-ext:openconfig-version "1.7.0";
oc-ext:openconfig-version "1.8.0";

revision "2026-05-23" {
description
"Add IP reachability suppression per global, level, and interface-level address family with inheritance.";
reference "1.8.0";
}

revision "2024-02-28" {
description
Expand Down Expand Up @@ -361,6 +367,7 @@ submodule openconfig-isis-routing {
uses isis-metric-config;
uses rt-admin-config;
uses isis-ecmp-config;
uses isis-reachability-global-config;
}

container state {
Expand All @@ -372,6 +379,7 @@ submodule openconfig-isis-routing {
uses isis-metric-config;
uses rt-admin-config;
uses isis-ecmp-config;
uses isis-reachability-global-config;
}

uses isis-mt-list;
Expand Down Expand Up @@ -412,6 +420,7 @@ submodule openconfig-isis-routing {
uses isis-afi-safi-config;
uses isis-metric-config;
uses rt-admin-config;
uses isis-reachability-interface-config;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The implementation adds the suppress leaf to isis-if-afi-safi-list, which corresponds to the path /isis/interfaces/interface/levels/level/afi-safi. However, the PR description and tree view (point 3) specify the path /isis/interfaces/interface/afi-safi. To align with the description and provide a global interface override, this leaf should also be added to isis-if-global-afi-safi-list.

}

container state {
Expand All @@ -421,6 +430,7 @@ submodule openconfig-isis-routing {
uses isis-afi-safi-config;
uses isis-metric-config;
uses rt-admin-config;
uses isis-reachability-interface-config;
}

uses oc-sr:sr-igp-interface-top;
Expand Down Expand Up @@ -533,4 +543,90 @@ submodule openconfig-isis-routing {
}
}
}

grouping isis-reachability-global-config {
description
"Grouping defining reachability options for ISIS at the global context.";

leaf suppress-interface-ip {
type oc-isis-types:suppress-interface-ip-mode;
default "NONE";
description
"Controls IP reachability (TLVs 135/235) advertisement for all
interfaces enabled for this address-family.";
}
}

grouping isis-reachability-level-config {
description
"Grouping defining reachability options for ISIS at the level context.";

leaf suppress-interface-ip {
type oc-isis-types:suppress-interface-ip-mode;
description
"Controls IP reachability (TLVs 135/235) advertisement for interfaces
enabled in this level.
If not specified, the value is inherited from the global level configuration.";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The term global level configuration is ambiguous in the context of IS-IS levels. It is clearer to refer to the global address-family configuration to indicate inheritance from /isis/global/afi-safi.

        If not specified, the value is inherited from the global address-family configuration.

}
}

grouping isis-reachability-interface-config {
description
"Grouping defining reachability options for ISIS at the interface level context.";

leaf suppress {
type boolean;
description
"Controls IP reachability (TLVs 135/235) advertisement for this interface.
When set to true, advertisement of the interface's IP prefix is suppressed.
When set to false, advertisement of the interface's IP prefix is not suppressed.
If not specified, the behavior is inherited from the level or global configuration.";
}
}

grouping isis-level-afi-safi-list {
description
"This grouping defines address-family configuration and state
information per level.";

list af {
key "afi-name safi-name";

description
"Address-family/Subsequent Address-family list per level.";

leaf afi-name {
type leafref {
path "../config/afi-name";
}
description
"Reference to address-family type";
}

leaf safi-name {
type leafref {
path "../config/safi-name";
}
description
"Reference to subsequent address-family type";
}

container config {
description
"This container defines AFI-SAFI configuration parameters per level.";

uses isis-afi-safi-config;
uses isis-reachability-level-config;
Comment on lines +618 to +619

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The new afi-safi list at the level context is missing standard configuration leaves such as metric and enabled, which are present in other AFI-SAFI lists in this module. Adding these would ensure consistency and allow for level-specific overrides of these parameters.

        uses isis-afi-safi-config;
        uses isis-metric-config;
        uses rt-admin-config;
        uses isis-reachability-level-config;

}

container state {
config false;
description
"This container defines AFI-SAFI state information per level.";

uses isis-afi-safi-config;
uses isis-reachability-level-config;
Comment on lines +627 to +628

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Ensure the state container for the level-specific AFI-SAFI list also includes the metric and enabled parameters for consistency with the config container.

        uses isis-afi-safi-config;
        uses isis-metric-config;
        uses rt-admin-config;
        uses isis-reachability-level-config;

}
}
}
}
31 changes: 30 additions & 1 deletion release/models/isis/openconfig-isis-types.yang
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,13 @@ module openconfig-isis-types {
"This module contains general data definitions for use in ISIS YANG
model.";

oc-ext:openconfig-version "0.6.0";
oc-ext:openconfig-version "0.7.0";

revision "2026-05-23" {
description
"Add IP reachability suppression mode enumeration.";
reference "0.7.0";
}

revision "2022-02-11" {
description
Expand Down Expand Up @@ -205,6 +211,29 @@ module openconfig-isis-types {
}

// typedef statements
typedef suppress-interface-ip-mode {
type enumeration {
enum NONE {
description
"Do not suppress IP reachability on any interface.";
}
enum ALL {
description
"Suppress IP reachability on all interfaces in this level/address-family.";
}
enum NON_PASSIVE {
description
"Suppress IP reachability on all non-passive (active) interfaces.";
}
enum NON_PASSIVE_POINT_TO_POINT {
description
"Suppress IP reachability on non-passive (active) point-to-point interfaces only.";
}
}
description
"Mode for interface IP reachability suppression.";
}

typedef level-type {
type enumeration {
enum LEVEL_1 {
Expand Down
15 changes: 14 additions & 1 deletion release/models/isis/openconfig-isis.yang
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,13 @@ module openconfig-isis {
+-> { levels config }
+-> { level adjacencies }";

oc-ext:openconfig-version "1.7.0";
oc-ext:openconfig-version "1.8.0";

revision "2026-05-23" {
description
"Add IP reachability suppression per global, level, and interface-level address family with inheritance.";
reference "1.8.0";
}

revision "2024-02-28" {
description
Expand Down Expand Up @@ -1665,6 +1671,13 @@ module openconfig-isis {
"This container defines ISIS authentication.";
uses isis-level-authentication-group;
}

container afi-safi {
description
"This container defines address-family specific configuration
and state information per level.";
uses isis-level-afi-safi-list;
}
}

grouping isis-level-authentication-group {
Expand Down
Loading