From 2de78bff8ab00a82080260a9843a7181116e1809 Mon Sep 17 00:00:00 2001 From: Abdelfatah EL ARFAOUI Date: Sun, 10 May 2026 14:15:49 +0000 Subject: [PATCH 1/3] Add IP reachability suppression on P2P links per level and per interface-level address family with inheritance. --- .../models/isis/openconfig-isis-routing.yang | 84 ++++++++++++++++++- release/models/isis/openconfig-isis.yang | 15 +++- 2 files changed, 97 insertions(+), 2 deletions(-) diff --git a/release/models/isis/openconfig-isis-routing.yang b/release/models/isis/openconfig-isis-routing.yang index 80a3154ff8..3bfdad1231 100644 --- a/release/models/isis/openconfig-isis-routing.yang +++ b/release/models/isis/openconfig-isis-routing.yang @@ -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-10" { + description + "Add IP reachability suppression on P2P links per level and per interface-level address family with inheritance."; + reference "1.8.0"; + } revision "2024-02-28" { description @@ -412,6 +418,7 @@ submodule openconfig-isis-routing { uses isis-afi-safi-config; uses isis-metric-config; uses rt-admin-config; + uses isis-reachability-interface-config; } container state { @@ -421,6 +428,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; @@ -533,4 +541,78 @@ submodule openconfig-isis-routing { } } } + + grouping isis-reachability-level-config { + description + "Grouping defining reachability options for ISIS at the level context."; + + leaf ip-reachability-suppress { + type boolean; + default false; + description + "When set to true, IP reachability (TLVs 135/235) on P2P links is suppressed, + advertising only passive interfaces."; + } + } + + grouping isis-reachability-interface-config { + description + "Grouping defining reachability options for ISIS at the interface level context. + When left unconfigured, the implementation inherits the value configured at the + protocol level."; + + leaf ip-reachability-suppress { + type boolean; + description + "When set to true, IP reachability (TLVs 135/235) on P2P links is suppressed, + advertising only passive interfaces. If not specified, the value is inherited + from the protocol level 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; + } + + container state { + config false; + description + "This container defines AFI-SAFI state information per level."; + + uses isis-afi-safi-config; + uses isis-reachability-level-config; + } + } + } } diff --git a/release/models/isis/openconfig-isis.yang b/release/models/isis/openconfig-isis.yang index fcad2fb687..6e7bf74330 100644 --- a/release/models/isis/openconfig-isis.yang +++ b/release/models/isis/openconfig-isis.yang @@ -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-10" { + description + "Add IP reachability suppression on P2P links per level and per interface-level address family with inheritance."; + reference "1.8.0"; + } revision "2024-02-28" { description @@ -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 { From 4e622fb6be33850c6f25dcd987b5081805c3724c Mon Sep 17 00:00:00 2001 From: Abdelfatah EL ARFAOUI Date: Sun, 17 May 2026 12:00:57 +0000 Subject: [PATCH 2/3] Refine IP reachability suppression model to use extendable enum Address review feedback by replacing the boolean leaf with an enumeration (suppress-interface-ip-mode) supporting NONE, ALL, NON_PASSIVE, and NON_PASSIVE_POINT_TO_POINT. This provides greater flexibility and future extensibility. --- .../models/isis/openconfig-isis-routing.yang | 21 ++++++------- .../models/isis/openconfig-isis-types.yang | 31 ++++++++++++++++++- release/models/isis/openconfig-isis.yang | 2 +- 3 files changed, 41 insertions(+), 13 deletions(-) diff --git a/release/models/isis/openconfig-isis-routing.yang b/release/models/isis/openconfig-isis-routing.yang index 3bfdad1231..0030c2340f 100644 --- a/release/models/isis/openconfig-isis-routing.yang +++ b/release/models/isis/openconfig-isis-routing.yang @@ -24,7 +24,7 @@ submodule openconfig-isis-routing { revision "2026-05-10" { description - "Add IP reachability suppression on P2P links per level and per interface-level address family with inheritance."; + "Add IP reachability suppression per level and per interface-level address family with inheritance."; reference "1.8.0"; } @@ -546,12 +546,12 @@ submodule openconfig-isis-routing { description "Grouping defining reachability options for ISIS at the level context."; - leaf ip-reachability-suppress { - type boolean; - default false; + leaf suppress-interface-ip { + type oc-isis-types:suppress-interface-ip-mode; + default "NONE"; description - "When set to true, IP reachability (TLVs 135/235) on P2P links is suppressed, - advertising only passive interfaces."; + "Controls IP reachability (TLVs 135/235/236/237) advertisement for interfaces + enabled in this level."; } } @@ -561,12 +561,11 @@ submodule openconfig-isis-routing { When left unconfigured, the implementation inherits the value configured at the protocol level."; - leaf ip-reachability-suppress { - type boolean; + leaf suppress-interface-ip { + type oc-isis-types:suppress-interface-ip-mode; description - "When set to true, IP reachability (TLVs 135/235) on P2P links is suppressed, - advertising only passive interfaces. If not specified, the value is inherited - from the protocol level configuration."; + "Controls IP reachability (TLVs 135/235/236/237) advertisement for this interface. + If not specified, the value is inherited from the protocol level configuration."; } } diff --git a/release/models/isis/openconfig-isis-types.yang b/release/models/isis/openconfig-isis-types.yang index eb33a4ea31..612dc49e05 100644 --- a/release/models/isis/openconfig-isis-types.yang +++ b/release/models/isis/openconfig-isis-types.yang @@ -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-10" { + description + "Add IP reachability suppression mode enumeration."; + reference "0.7.0"; + } revision "2022-02-11" { description @@ -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 { diff --git a/release/models/isis/openconfig-isis.yang b/release/models/isis/openconfig-isis.yang index 6e7bf74330..d1a9449ba3 100644 --- a/release/models/isis/openconfig-isis.yang +++ b/release/models/isis/openconfig-isis.yang @@ -58,7 +58,7 @@ module openconfig-isis { revision "2026-05-10" { description - "Add IP reachability suppression on P2P links per level and per interface-level address family with inheritance."; + "Add IP reachability suppression per level and per interface-level address family with inheritance."; reference "1.8.0"; } From 844674494bbed67b405b2a487d6765178a8d840e Mon Sep 17 00:00:00 2001 From: Abdelfatah EL ARFAOUI Date: Sat, 23 May 2026 14:53:45 +0000 Subject: [PATCH 3/3] Refine IP reachability suppression to support global configuration and boolean interface level options --- .../models/isis/openconfig-isis-routing.yang | 39 +++++++++++++------ .../models/isis/openconfig-isis-types.yang | 2 +- release/models/isis/openconfig-isis.yang | 4 +- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/release/models/isis/openconfig-isis-routing.yang b/release/models/isis/openconfig-isis-routing.yang index 0030c2340f..496d5edad8 100644 --- a/release/models/isis/openconfig-isis-routing.yang +++ b/release/models/isis/openconfig-isis-routing.yang @@ -22,9 +22,9 @@ submodule openconfig-isis-routing { oc-ext:openconfig-version "1.8.0"; - revision "2026-05-10" { + revision "2026-05-23" { description - "Add IP reachability suppression per level and per interface-level address family with inheritance."; + "Add IP reachability suppression per global, level, and interface-level address family with inheritance."; reference "1.8.0"; } @@ -367,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 { @@ -378,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; @@ -542,30 +544,43 @@ submodule openconfig-isis-routing { } } - grouping isis-reachability-level-config { + grouping isis-reachability-global-config { description - "Grouping defining reachability options for ISIS at the level context."; + "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/236/237) advertisement for interfaces - enabled in this level."; + "Controls IP reachability (TLVs 135/235) advertisement for all + interfaces enabled for this address-family."; } } - grouping isis-reachability-interface-config { + grouping isis-reachability-level-config { description - "Grouping defining reachability options for ISIS at the interface level context. - When left unconfigured, the implementation inherits the value configured at the - protocol level."; + "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/236/237) advertisement for this interface. - If not specified, the value is inherited from the protocol level configuration."; + "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."; + } + } + + 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."; } } diff --git a/release/models/isis/openconfig-isis-types.yang b/release/models/isis/openconfig-isis-types.yang index 612dc49e05..393ced2c6a 100644 --- a/release/models/isis/openconfig-isis-types.yang +++ b/release/models/isis/openconfig-isis-types.yang @@ -22,7 +22,7 @@ module openconfig-isis-types { oc-ext:openconfig-version "0.7.0"; - revision "2026-05-10" { + revision "2026-05-23" { description "Add IP reachability suppression mode enumeration."; reference "0.7.0"; diff --git a/release/models/isis/openconfig-isis.yang b/release/models/isis/openconfig-isis.yang index d1a9449ba3..3948af92f7 100644 --- a/release/models/isis/openconfig-isis.yang +++ b/release/models/isis/openconfig-isis.yang @@ -56,9 +56,9 @@ module openconfig-isis { oc-ext:openconfig-version "1.8.0"; - revision "2026-05-10" { + revision "2026-05-23" { description - "Add IP reachability suppression per level and per interface-level address family with inheritance."; + "Add IP reachability suppression per global, level, and interface-level address family with inheritance."; reference "1.8.0"; }