module openconfig-network-instance-l3 { yang-version "1"; // namespace namespace "http://openconfig.net/yang/network-instance-l3"; prefix "oc-ni-l3"; // import some basic types import openconfig-extensions { prefix "oc-ext"; } import openconfig-types { prefix "octypes"; } // meta organization "OpenConfig working group"; contact "OpenConfig working group www.openconfig.net"; description "This module contains groupings which specifically relate to Layer 3 network instance configuration and operational state parameters."; oc-ext:openconfig-version "0.11.0"; revision "2018-08-17" { description "Add a route limit for L3 network instances."; reference "0.11.0"; } revision "2017-12-13" { description "Fix incorrect constraint on SR and MPLS containers"; reference "0.9.0"; } revision "2017-08-24" { description "Minor formatting fixes"; reference "0.8.1"; } revision "2017-02-28" { description "Add OSPFv2 to network instance"; reference "0.8.0"; } revision "2017-01-26" { description "Add policy forwarding to network instance"; reference "0.7.0"; } revision "2017-01-13" { description "Add AFT to the network instance"; reference "0.6.0"; } revision "2016-12-15" { description "Add segment routing to network instance"; reference "0.5.0"; } revision "2016-11-10" { description "Update model to include IS-IS."; reference "0.4.1"; } revision "2016-09-28" { description "Change L2 instance to submodule; add MAC table"; reference "0.3.0"; } revision "2016-08-11" { description "Resolve repeated container names in routing protocols"; reference "0.2.3"; } revision "2016-07-08" { description "Updated with refactored routing protocol models"; reference "0.2.1"; } revision "2016-03-29" { description "Initial revision"; reference "0.2.0"; } revision "2016-03-14" { description "Initial revision"; reference "0.1.0"; } grouping l3ni-instance { description "Configuration and operational state parameters relevant to network instances that include a Layer 3 type"; } grouping l3ni-instance-common-config { description "Configuration parameters that are common to L3 network instances other than the default instance"; leaf-list enabled-address-families { type identityref { base octypes:ADDRESS_FAMILY; } description "The address families that are to be enabled for this network instance."; } } grouping l3ni-route-limit-structural { description "Configuration and state for the maximum number of routes that should be used by routing instance."; container route-limits { description "Configuration and operational state relating to the maximum number of routes for the address family that should be allowed within the Layer 3 network instance. When the specified value is reached, no further prefixes should be installed into the system's RIB from this network instance unless the warning only leaf is set. In this case, new routes should still be installed. If a alarm threshold is specified, then this should be used to generate alarms via telemetry for the network instance."; list route-limit { key "afi"; description "A route limit applying to a particular address family."; leaf afi { type leafref { path "../config/afi"; } description "Reference to the address family for which the route limit is being applied."; } container config { description "Configuration options relating to the route limit."; uses l3ni-route-limit-config; } container state { config false; description "Operational state parameters relating to the route limit."; uses l3ni-route-limit-config; uses l3ni-route-limit-state; } } } } grouping l3ni-route-limit-config { description "Configuration options relating to the route limit for a network instance."; leaf afi { type identityref { base octypes:ADDRESS_FAMILY; } description "The address family for which the route limit applies."; } leaf maximum { type uint32; description "The maximum number of routes for the address family. The system should not install more than maximum number of prefixes into the RIB unless the warning-only leaf is specified."; } leaf warning-only { type boolean; default false; description "When specified, the route limit specified is considered only as a warning - and routes should continue to be installed into the RIB over the limit specified in the maximum leaf."; } leaf alarm-threshold { type uint32; description "When specified, an alarm should be generated when the threshold number of installed routes is reached."; } } grouping l3ni-route-limit-state { description "Operational state relating to the route limit for a network instance."; leaf threshold-exceeded { type boolean; description "This leaf should be set to true in the case that the threshold number of routes has been exceeded."; } leaf installed-routes { type uint32; description "The current number of routes installed for the address family."; } } }