module ietf-sr-topology { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology"; prefix "srt"; import ietf-network { prefix "nw"; } import ietf-network-topology { prefix "nt"; } import ietf-l3-unicast-topology { prefix "l3t"; } import ietf-segment-routing-common { prefix "sr-cmn"; } organization "TBD"; contact "TBD"; description "L3 TE Topology model"; revision 2017-10-30 { description "Initial revision"; reference "TBD"; } grouping sr-topology-type { description "Identifies the SR topology type."; container sr { presence "Indiates SR Topology"; description "Its presence identifies the SR topology type."; } } augment "/nw:networks/nw:network/nw:network-types/" + "l3t:l3-unicast-topology" { description "Defines the SR topology type."; uses sr-topology-type; } augment "/nw:networks/nw:network/l3t:l3-topology-attributes" { when "../nw:network-types/l3t:l3-unicast-topology/sr" { description "Augment only for SR topology."; } description "Augment topology configuration"; uses sr-topology-attributes; } augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { when "../../nw:network-types/l3t:l3-unicast-topology/sr" { description "Augment only for SR topology."; } description "Augment node configuration."; uses sr-node-attributes; } augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" + "/l3t:prefix" { when "../../../nw:network-types/l3t:l3-unicast-topology/sr" { description "Augment only for SR topology."; } description "Augment node prefix."; uses sr-node-prefix-attributes; } augment "/nw:networks/nw:network/nw:node/nt:termination-point/" + "l3t:l3-termination-point-attributes" { when "../../../nw:network-types/l3t:l3-unicast-topology/" + "sr" { description "Augment only for SR topology."; } description "Augment termination point configuration"; uses sr-tp-attributes; } augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" { when "../../nw:network-types/l3t:l3-unicast-topology/sr" { description "Augment only for SR topology."; } description "Augment link configuration."; uses sr-link-attributes; } grouping sr-topology-attributes { description "SR topology scope attributes."; container sr { description "Containing SR attributes."; uses sr-cmn:srgb-cfg; } // sr } // sr-topology-attributes grouping information-source-attributes { description "The attributes identifying source that has provided the related information, and the source credibility."; leaf information-source { type enumeration { enum "unknown" { description "The source is unknown."; } enum "locally-configured" { description "Configured entity."; } enum "ospfv2" { description "OSPFv2."; } enum "ospfv3" { description "OSPFv3."; } enum "isis" { description "ISIS."; } enum "system-processed" { description "System processed entity."; } enum "other" { description "Other source."; } } config false; description "Indicates the source of the information."; } container information-source-state { config false; description "The container contains state attributes related to the information source."; leaf credibility-preference { type uint16; description "The preference value to calculate the traffic engineering database credibility value used for tie-break selection between different information-source values. Higher value is more preferable."; } } } // information-source-attributes grouping sr-node-attributes { description "SR node scope attributes."; container sr { description "Containing SR attributes."; uses sr-cmn:srgb-cfg; uses sr-cmn:srlb-cfg; uses sr-cmn:node-capabilities; // Operational state data uses information-source-attributes; } // sr } // sr-node-attributes grouping sr-node-prefix-attributes { description "Containing SR attributes for a prefix."; container sr { presence "Presence indicates SR is enabled."; description "Containing SR attributes for a prefix."; uses sr-cmn:prefix-sid-attributes; uses sr-cmn:last-hop-behavior; leaf is-local { type boolean; description "'true' if the SID is local."; } } // sr } // sr-node-prefix-attributes grouping sr-tp-attributes { description "SR termination point scope attributes"; } // sr-tp-attributes grouping sr-link-attributes { description "SR link scope attributes"; container sr { description "Containing SR attributes."; leaf sid { type uint32; description "SID."; } uses sr-cmn:sid-value-type; leaf is-local { type boolean; description "'true' if the SID is local."; } leaf is-part-of-set { type boolean; config false; description "'true' if the SID is part of a set."; } leaf is-on-lan { type boolean; config false; description "'true' if on a lan."; } uses information-source-attributes; } // sr } // sr-link-attributes }