This module contains a collection of YANG definitions for Cisco IOS-XR segment-routing-srv6 package operational data. This modu...
Version: 2020-12-11
module Cisco-IOS-XR-segment-routing-srv6-oper { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-oper"; prefix segment-routing-srv6-oper; import ietf-inet-types { prefix inet; } import cisco-semver { prefix semver; } import Cisco-IOS-XR-segment-routing-srv6-datatypes { prefix dt1; } include Cisco-IOS-XR-segment-routing-srv6-oper-sub1 { revision-date "2020-12-11"; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR segment-routing-srv6 package operational data. This module contains definitions for the following management objects: srv6: Segment Routing with IPv6 dataplane Copyright (c) 2013-2020 by Cisco Systems, Inc. All rights reserved."; revision "2020-12-11" { description "Update manager show command for 2 passes 2020-10-16 Rename SID count fields in SID manager summary. sids_count only includes non auto-generated SIDs. 2020-05-06 changes in def for some endpoint types and headend types 2020-04-16 Changes due to common Srv6 bag and renaming some leaf"; } revision "2019-11-20" { description "Changes for SRv6 end function 2019-04-22 Flex-Algo specific changes"; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "3.0.0"; semver:module-version "2.0.0"; semver:module-version "1.0.1"; container srv6 { config false; description "Segment Routing with IPv6 dataplane"; container active { description "Active SRv6 operational data"; container locator-all-stale-sids { description "Operational container for all Stale SIDs across all Locators"; list locator-all-stale-sid { key "locator-name sid-opcode"; description "Operational data for given locator and SID opcode"; leaf locator-name { type dt1:Srv6-locator-name; description "Locator name"; } leaf sid-opcode { type uint32; description "Sid opcode"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list locator-all-stale-sid } // container locator-all-stale-sids container manager { description "SID Manager information"; container sid-mgr-params { description "SID Mgr parameters"; container encap-hop-limit { description "Encap Hop-limit info"; leaf use-default { type boolean; description "Use default value"; } leaf do-propagate { type boolean; description "Propagate from incoming packet or frame"; } leaf value { type uint8; description "Specific value set"; } } // container encap-hop-limit container encap-traffic-class { description "Encap Traffic-class info"; leaf use-default { type boolean; description "Use default value"; } leaf do-propagate { type boolean; description "Propagate from incoming packet or frame"; } leaf value { type uint8; description "Specific value set"; } } // container encap-traffic-class container srv6-operational-mode { description "SRv6 operational mode"; leaf type { type Srv6-op-mode; description "Mode type"; } leaf description { type string; description "Mode description"; } } // container srv6-operational-mode leaf srv6-enabled { type boolean; description "Is SRv6 enabled?"; } leaf configured-encap-source-address { type inet:ipv6-address; description "Configured Encap Source address"; } leaf default-encap-source-address { type inet:ipv6-address; description "Default Encap Source address"; } leaf is-sid-holdtime-configured { type boolean; description "Is SID Holdtime configured?"; } leaf sid-holdtime-mins-configured { type uint32; units "minute"; description "Configured SID Holdtime in mins"; } } // container sid-mgr-params container sid-mgr-summary { description "SID Mgr summary info"; container sids-out-of-resource-summary { description "SIDs Global Out of Resource info"; leaf oor-state { type Srv6-out-of-resource-state; description "OOR State for SIDs"; } leaf oor-maximum-sid-count { type uint32; description "Maximum Number of SIDs"; } leaf oor-current-free-sid-count { type uint32; description "Current Number of Free SIDs"; } leaf oor-yellow-free-sid-threshold { type uint32; description "Threshold for Number of Free SID below which OOR Yellow State is reached"; } leaf oor-green-free-sid-threshold { type uint32; description "Threshold for Number of Free SID above which OOR Green State is restored"; } leaf oor-green-count { type uint32; description "Number of times Resources Warning or Out of Resources state has been cleared"; } leaf oor-yellow-count { type uint32; description "Number of times system went into Resources Warning state"; } leaf oor-red-count { type uint32; description "Number of times system went into Out of Resources state"; } } // container sids-out-of-resource-summary leaf locators-count { type uint16; description "Number of locators"; } leaf oper-locators-count { type uint16; description "Number of operational locators"; } leaf sids-count { type uint32; description "Number of allocated SIDs"; } leaf stale-sids-count { type uint32; description "Number of Stale SIDs"; } leaf maximum-sids-count { type uint32; description "Global Maximum number of SIDs"; } list block-local-sid-oor-summary { description "Local SID Out of Resource info for each Block"; leaf oor-state { type Srv6-out-of-resource-state; description "OOR State for SIDs"; } leaf oor-maximum-sid-count { type uint32; description "Maximum Number of SIDs"; } leaf oor-current-free-sid-count { type uint32; description "Current Number of Free SIDs"; } leaf oor-yellow-free-sid-threshold { type uint32; description "Threshold for Number of Free SID below which OOR Yellow State is reached"; } leaf oor-green-free-sid-threshold { type uint32; description "Threshold for Number of Free SID above which OOR Green State is restored"; } leaf oor-green-count { type uint32; description "Number of times Resources Warning or Out of Resources state has been cleared"; } leaf oor-yellow-count { type uint32; description "Number of times system went into Resources Warning state"; } leaf oor-red-count { type uint32; description "Number of times system went into Out of Resources state"; } } // list block-local-sid-oor-summary } // container sid-mgr-summary container platform-capabilities { description "Platform Capabilities"; container cfg-support { description "Configurable param support"; leaf encap-sa { type boolean; description "SRv6 Encap Source Address"; } leaf encap-hop-limit-value { type boolean; description "SRv6 Encap Hoplimit value"; } leaf encap-hop-limit-propagate { type boolean; description "SRv6 Encap Hoplimit propagate"; } leaf encap-traffic-class-value { type boolean; description "SRv6 value Encap TC value"; } leaf encap-traffic-class-propagate { type boolean; description "SRv6 Encap TC propagate"; } } // container cfg-support container support { description "Feature support"; container signaled-parameters { description "Signaled Parameters"; leaf max-sl { type uint8; description "Max value of SegmentLeft field in received SRH"; } leaf max-end-pop-srh { type uint8; description "Max num of SIDs in rcvd SRH for pop"; } leaf max-h-insert { type uint8; description "Max num of SIDs for H.Insert op"; } leaf max-h-encap { type uint8; description "Max num of SIDs for H.Encaps op"; } leaf max-end-d { type uint8; description "Max num of SIDs in rcvd SRH for decap"; } } // container signaled-parameters leaf srv6 { type boolean; description "SRv6 support"; } leaf tilfa { type boolean; description "TI LFA support"; } leaf microloop-avoidance { type boolean; description "Microloop-avoidance support"; } list endpoint-behavior { description "Supported end functions"; leaf string { type string; description "String"; } } // list endpoint-behavior list headend-behavior { description "Supported headend functions"; leaf string { type string; description "String"; } } // list headend-behavior list security-rule { description "Security rules"; leaf string { type string; description "String"; } } // list security-rule list counter { description "Counters"; leaf string { type string; description "String"; } } // list counter } // container support leaf max-sids { type uint32; description "Maximum Sids"; } leaf sid-holdtime-mins { type uint32; units "minute"; description "Freed SID holdtime in mins"; } } // container platform-capabilities } // container manager container blocks { description "SRv6 SID blocks"; list block { key "prefix prefix-len"; description "A SRv6 SID block"; container info { description "Operational data for given SRv6 SID block"; container local-sids-oor-summary { description "ID Blocks Local SID Out of Resource info"; leaf oor-state { type Srv6-out-of-resource-state; description "OOR State for SIDs"; } leaf oor-maximum-sid-count { type uint32; description "Maximum Number of SIDs"; } leaf oor-current-free-sid-count { type uint32; description "Current Number of Free SIDs"; } leaf oor-yellow-free-sid-threshold { type uint32; description "Threshold for Number of Free SID below which OOR Yellow State is reached"; } leaf oor-green-free-sid-threshold { type uint32; description "Threshold for Number of Free SID above which OOR Green State is restored"; } leaf oor-green-count { type uint32; description "Number of times Resources Warning or Out of Resources state has been cleared"; } leaf oor-yellow-count { type uint32; description "Number of times system went into Resources Warning state"; } leaf oor-red-count { type uint32; description "Number of times system went into Out of Resources state"; } } // container local-sids-oor-summary leaf prefix { type string; description "ID Block Prefix"; } leaf index { type uint32; description "ID Block Index"; } leaf sids-count { type uint32; description "Number of SIDs"; } leaf locator-ref-count { type uint32; description "Number of Locators Sharing this Block"; } } // container info leaf prefix { type inet:ip-address-no-zone; description "Prefix address"; } leaf prefix-len { type uint32 { range "16..64"; } description "Prefix mask length"; } } // list block } // container blocks container micro-segment { description "SRv6 Micro-segment info"; container local-sids { description "SRv6 Micro-segment local-uSIDs info"; list local-sid { key "sid-prefix sid-prefix-len"; description "SRv6 Micro-segment local-uSID info"; leaf sid-prefix { type inet:ip-address-no-zone; description "SID Prefix address"; } leaf sid-prefix-len { type uint32 { range "16..64"; } description "SID Prefix mask length"; } container sid-behavior { description "SID Behavior"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf sid-block-prefix { type string; description "SID Block Prefix"; } leaf sid-functionvalue { type uint32; description "SID function value"; } leaf locator-ref-count { type uint32; description "Number of Locators sharing this Local SID"; } } // list local-sid } // container local-sids } // container micro-segment container locators { description "SRv6 locators related information"; list locator { key "name"; description "Operational data for given SRv6 locator"; container info { description "Operational data for given SRv6 locator"; container micro-segment-behavior { description "Micro-segment behavior"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container micro-segment-behavior container interface { description "Locator IM intf info"; leaf name { type string; description "Interface name"; } leaf if-handle { type xr:Hex-integer; description "Interface handle"; } leaf programmed-prefix { type string; description "Interface prefix/addr programmed"; } } // container interface container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf name { type string; description "Locator Name"; } leaf id { type uint32; description "Locator ID"; } leaf prefix { type string; description "Locator Prefix"; } leaf algorithm-id { type uint8; description "Algorithm Id"; } leaf is-operational { type boolean; description "Locator status is Up or Down"; } leaf is-micro-segment { type boolean; description "A Micro-segment locator"; } leaf is-anycast { type boolean; description "An Anycast locator"; } leaf out-of-resources-state { type Srv6-out-of-resource-state; description "Locator Resources State for SIDs"; } leaf sids-count { type uint32; description "Number of allocated SIDs"; } } // container info container sids { description "SRv6 locator SID table"; list sid { key "address"; description "Operational data for given SRv6 SID"; leaf address { type inet:ip-address-no-zone; description "IPv6 address"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list sid } // container sids leaf name { type dt1:Srv6-locator-name; description "Locator name"; } } // list locator } // container locators container locator-all-sids { description "Operational container for all (Active and Stale) SIDs across all Locators"; list locator-all-sid { key "locator-name sid-opcode"; description "Operational data for given locator and SID opcode"; leaf locator-name { type dt1:Srv6-locator-name; description "Locator name"; } leaf sid-opcode { type uint32; description "Sid opcode"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list locator-all-sid } // container locator-all-sids container locator-all-active-sids { description "Operational container for Active SIDs across all Locators"; list locator-all-active-sid { key "locator-name sid-opcode"; description "Operational data for given locator and SID opcode"; leaf locator-name { type dt1:Srv6-locator-name; description "Locator name"; } leaf sid-opcode { type uint32; description "Sid opcode"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list locator-all-active-sid } // container locator-all-active-sids } // container active container standby { description "Standby SRv6 operational data"; container manager { description "SID Manager information"; container sid-mgr-params { description "SID Mgr parameters"; container encap-hop-limit { description "Encap Hop-limit info"; leaf use-default { type boolean; description "Use default value"; } leaf do-propagate { type boolean; description "Propagate from incoming packet or frame"; } leaf value { type uint8; description "Specific value set"; } } // container encap-hop-limit container encap-traffic-class { description "Encap Traffic-class info"; leaf use-default { type boolean; description "Use default value"; } leaf do-propagate { type boolean; description "Propagate from incoming packet or frame"; } leaf value { type uint8; description "Specific value set"; } } // container encap-traffic-class container srv6-operational-mode { description "SRv6 operational mode"; leaf type { type Srv6-op-mode; description "Mode type"; } leaf description { type string; description "Mode description"; } } // container srv6-operational-mode leaf srv6-enabled { type boolean; description "Is SRv6 enabled?"; } leaf configured-encap-source-address { type inet:ipv6-address; description "Configured Encap Source address"; } leaf default-encap-source-address { type inet:ipv6-address; description "Default Encap Source address"; } leaf is-sid-holdtime-configured { type boolean; description "Is SID Holdtime configured?"; } leaf sid-holdtime-mins-configured { type uint32; units "minute"; description "Configured SID Holdtime in mins"; } } // container sid-mgr-params container sid-mgr-summary { description "SID Mgr summary info"; container sids-out-of-resource-summary { description "SIDs Global Out of Resource info"; leaf oor-state { type Srv6-out-of-resource-state; description "OOR State for SIDs"; } leaf oor-maximum-sid-count { type uint32; description "Maximum Number of SIDs"; } leaf oor-current-free-sid-count { type uint32; description "Current Number of Free SIDs"; } leaf oor-yellow-free-sid-threshold { type uint32; description "Threshold for Number of Free SID below which OOR Yellow State is reached"; } leaf oor-green-free-sid-threshold { type uint32; description "Threshold for Number of Free SID above which OOR Green State is restored"; } leaf oor-green-count { type uint32; description "Number of times Resources Warning or Out of Resources state has been cleared"; } leaf oor-yellow-count { type uint32; description "Number of times system went into Resources Warning state"; } leaf oor-red-count { type uint32; description "Number of times system went into Out of Resources state"; } } // container sids-out-of-resource-summary leaf locators-count { type uint16; description "Number of locators"; } leaf oper-locators-count { type uint16; description "Number of operational locators"; } leaf sids-count { type uint32; description "Number of allocated SIDs"; } leaf stale-sids-count { type uint32; description "Number of Stale SIDs"; } leaf maximum-sids-count { type uint32; description "Global Maximum number of SIDs"; } list block-local-sid-oor-summary { description "Local SID Out of Resource info for each Block"; leaf oor-state { type Srv6-out-of-resource-state; description "OOR State for SIDs"; } leaf oor-maximum-sid-count { type uint32; description "Maximum Number of SIDs"; } leaf oor-current-free-sid-count { type uint32; description "Current Number of Free SIDs"; } leaf oor-yellow-free-sid-threshold { type uint32; description "Threshold for Number of Free SID below which OOR Yellow State is reached"; } leaf oor-green-free-sid-threshold { type uint32; description "Threshold for Number of Free SID above which OOR Green State is restored"; } leaf oor-green-count { type uint32; description "Number of times Resources Warning or Out of Resources state has been cleared"; } leaf oor-yellow-count { type uint32; description "Number of times system went into Resources Warning state"; } leaf oor-red-count { type uint32; description "Number of times system went into Out of Resources state"; } } // list block-local-sid-oor-summary } // container sid-mgr-summary container platform-capabilities { description "Platform Capabilities"; container cfg-support { description "Configurable param support"; leaf encap-sa { type boolean; description "SRv6 Encap Source Address"; } leaf encap-hop-limit-value { type boolean; description "SRv6 Encap Hoplimit value"; } leaf encap-hop-limit-propagate { type boolean; description "SRv6 Encap Hoplimit propagate"; } leaf encap-traffic-class-value { type boolean; description "SRv6 value Encap TC value"; } leaf encap-traffic-class-propagate { type boolean; description "SRv6 Encap TC propagate"; } } // container cfg-support container support { description "Feature support"; container signaled-parameters { description "Signaled Parameters"; leaf max-sl { type uint8; description "Max value of SegmentLeft field in received SRH"; } leaf max-end-pop-srh { type uint8; description "Max num of SIDs in rcvd SRH for pop"; } leaf max-h-insert { type uint8; description "Max num of SIDs for H.Insert op"; } leaf max-h-encap { type uint8; description "Max num of SIDs for H.Encaps op"; } leaf max-end-d { type uint8; description "Max num of SIDs in rcvd SRH for decap"; } } // container signaled-parameters leaf srv6 { type boolean; description "SRv6 support"; } leaf tilfa { type boolean; description "TI LFA support"; } leaf microloop-avoidance { type boolean; description "Microloop-avoidance support"; } list endpoint-behavior { description "Supported end functions"; leaf string { type string; description "String"; } } // list endpoint-behavior list headend-behavior { description "Supported headend functions"; leaf string { type string; description "String"; } } // list headend-behavior list security-rule { description "Security rules"; leaf string { type string; description "String"; } } // list security-rule list counter { description "Counters"; leaf string { type string; description "String"; } } // list counter } // container support leaf max-sids { type uint32; description "Maximum Sids"; } leaf sid-holdtime-mins { type uint32; units "minute"; description "Freed SID holdtime in mins"; } } // container platform-capabilities } // container manager container blocks { description "SRv6 SID blocks"; list block { key "prefix prefix-len"; description "A SRv6 SID block"; container info { description "Operational data for given SRv6 SID block"; container local-sids-oor-summary { description "ID Blocks Local SID Out of Resource info"; leaf oor-state { type Srv6-out-of-resource-state; description "OOR State for SIDs"; } leaf oor-maximum-sid-count { type uint32; description "Maximum Number of SIDs"; } leaf oor-current-free-sid-count { type uint32; description "Current Number of Free SIDs"; } leaf oor-yellow-free-sid-threshold { type uint32; description "Threshold for Number of Free SID below which OOR Yellow State is reached"; } leaf oor-green-free-sid-threshold { type uint32; description "Threshold for Number of Free SID above which OOR Green State is restored"; } leaf oor-green-count { type uint32; description "Number of times Resources Warning or Out of Resources state has been cleared"; } leaf oor-yellow-count { type uint32; description "Number of times system went into Resources Warning state"; } leaf oor-red-count { type uint32; description "Number of times system went into Out of Resources state"; } } // container local-sids-oor-summary leaf prefix { type string; description "ID Block Prefix"; } leaf index { type uint32; description "ID Block Index"; } leaf sids-count { type uint32; description "Number of SIDs"; } leaf locator-ref-count { type uint32; description "Number of Locators Sharing this Block"; } } // container info leaf prefix { type inet:ip-address-no-zone; description "Prefix address"; } leaf prefix-len { type uint32 { range "16..64"; } description "Prefix mask length"; } } // list block } // container blocks container micro-segment { description "SRv6 Micro-segment info"; container local-sids { description "SRv6 Micro-segment local-uSIDs info"; list local-sid { key "sid-prefix sid-prefix-len"; description "SRv6 Micro-segment local-uSID info"; leaf sid-prefix { type inet:ip-address-no-zone; description "SID Prefix address"; } leaf sid-prefix-len { type uint32 { range "16..64"; } description "SID Prefix mask length"; } container sid-behavior { description "SID Behavior"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf sid-block-prefix { type string; description "SID Block Prefix"; } leaf sid-functionvalue { type uint32; description "SID function value"; } leaf locator-ref-count { type uint32; description "Number of Locators sharing this Local SID"; } } // list local-sid } // container local-sids } // container micro-segment container locators { description "SRv6 locators related information"; list locator { key "name"; description "Operational data for given SRv6 locator"; container info { description "Operational data for given SRv6 locator"; container micro-segment-behavior { description "Micro-segment behavior"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container micro-segment-behavior container interface { description "Locator IM intf info"; leaf name { type string; description "Interface name"; } leaf if-handle { type xr:Hex-integer; description "Interface handle"; } leaf programmed-prefix { type string; description "Interface prefix/addr programmed"; } } // container interface container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf name { type string; description "Locator Name"; } leaf id { type uint32; description "Locator ID"; } leaf prefix { type string; description "Locator Prefix"; } leaf algorithm-id { type uint8; description "Algorithm Id"; } leaf is-operational { type boolean; description "Locator status is Up or Down"; } leaf is-micro-segment { type boolean; description "A Micro-segment locator"; } leaf is-anycast { type boolean; description "An Anycast locator"; } leaf out-of-resources-state { type Srv6-out-of-resource-state; description "Locator Resources State for SIDs"; } leaf sids-count { type uint32; description "Number of allocated SIDs"; } } // container info container sids { description "SRv6 locator SID table"; list sid { key "address"; description "Operational data for given SRv6 SID"; leaf address { type inet:ip-address-no-zone; description "IPv6 address"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list sid } // container sids leaf name { type dt1:Srv6-locator-name; description "Locator name"; } } // list locator } // container locators container locator-all-sids { description "Operational container for all (Active and Stale) SIDs across all Locators"; list locator-all-sid { key "locator-name sid-opcode"; description "Operational data for given locator and SID opcode"; leaf locator-name { type dt1:Srv6-locator-name; description "Locator name"; } leaf sid-opcode { type uint32; description "Sid opcode"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list locator-all-sid } // container locator-all-sids container locator-all-active-sids { description "Operational container for Active SIDs across all Locators"; list locator-all-active-sid { key "locator-name sid-opcode"; description "Operational data for given locator and SID opcode"; leaf locator-name { type dt1:Srv6-locator-name; description "Locator name"; } leaf sid-opcode { type uint32; description "Sid opcode"; } container sid-behavior { description "SID Behavior Type"; leaf type { type Mgmt-srv6-endpoint; description "Behavior type"; } leaf description { type string; description "Behavior description"; } } // container sid-behavior container sid-context { description "SID Context"; container key { description "SID Key"; container e-psp { when "../sid-context-type = 'end-with-psp'" { description "../SIDContextType = 'EndWithPSP'"; } description "End (PSP) SID context"; container ectx { description "Common End context for End (PSP) SID"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container ectx } // container e-psp container op { when "../sid-context-type = 'end-op'" { description "../SIDContextType = 'EndOP'"; } description "End.OP SID context"; container op-ctx { description "Common reserved context for End.OP SID"; leaf table-id { type uint32; description "Table Id"; } } // container op-ctx } // container op container x-psp { when "../sid-context-type = 'end-x-with-psp'" { description "../SIDContextType = 'EndXWithPSP'"; } description "End.X (PSP) SID context"; container xctx { description "Common End.X context for End.X (PSP) SID"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container xctx } // container x-psp container dx4 { when "../sid-context-type = 'end-dx4'" { description "../SIDContextType = 'EndDX4'"; } description "End.DX4 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx4 container dt4 { when "../sid-context-type = 'end-dt4'" { description "../SIDContextType = 'EndDT4'"; } description "End.DT4 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt4 container dx6 { when "../sid-context-type = 'end-dx6'" { description "../SIDContextType = 'EndDX6'"; } description "End.DX6 SID context"; leaf table-id { type uint32; description "Table ID"; } leaf next-hop-set-id { type uint32; description "Next Hop Set ID"; } } // container dx6 container dt6 { when "../sid-context-type = 'end-dt6'" { description "../SIDContextType = 'EndDT6'"; } description "End.DT6 SID context"; leaf table-id { type uint32; description "Table ID"; } } // container dt6 container dx2 { when "../sid-context-type = 'end-dx2'" { description "../SIDContextType = 'EndDX2'"; } description "End.DX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container dx2 container u-a-shift-only { when "../sid-context-type = 'ua-shift-only'" { description "../SIDContextType = 'UA_ShiftOnly'"; } description "uA Shift-only SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-shift-only container u-a-psp-usd { when "../sid-context-type = 'ua-psp-usd'" { description "../SIDContextType = 'UA_PSP_USD'"; } description "uA PSP-USD SID context"; container u-a-base-ctx { description "Common uA context"; leaf is-protected { type boolean; description "Is protected?"; } leaf opaque-id { type uint8; description "Additional differentiator - opaque to SIDMgr"; } leaf algo-id { type uint8; description "Algorithm Id"; } leaf interface { type xr:Interface-name; description "Nexthop interface"; } leaf nexthop-address { type inet:ipv6-address; description "Nexthop IP address"; } } // container u-a-base-ctx } // container u-a-psp-usd container u-n-shift-only { when "../sid-context-type = 'un-shift-only'" { description "../SIDContextType = 'UN_ShiftOnly'"; } description "uN Shift-only SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-shift-only container u-n-psp-usd { when "../sid-context-type = 'un-psp-usd'" { description "../SIDContextType = 'UN_PSP_USD'"; } description "uN PSP-USD SID context"; container u-n-base-ctx { description "Common uN context"; leaf table-id { type uint32; description "Table Id"; } leaf opaque-id { type uint16; description "Additional differentiator - opaque to SIDMgr"; } } // container u-n-base-ctx } // container u-n-psp-usd container u-dt4 { when "../sid-context-type = 'udt4'" { description "../SIDContextType = 'UDT4'"; } description "uDT4 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt4 container u-dt6 { when "../sid-context-type = 'udt6'" { description "../SIDContextType = 'UDT6'"; } description "uDT6 SID context"; container u-dt-base-ctx { description "Common uDT context"; leaf table-id { type uint32; description "Table ID"; } } // container u-dt-base-ctx } // container u-dt6 container u-b6-insert-red { when "../sid-context-type = 'ub6-insert-red'" { description "../SIDContextType = 'UB6_InsertRed'"; } description "uB6 Insert.Red SID context"; container policy-endpoint { description "Policy Endpoint address"; leaf af-type { type Srv6af; description "AFType"; } leaf ipv4 { when "../af-type = 'ipv4-af'" { description "../AFType = 'IPv4_AF'"; } type inet:ipv4-address; description "IPv4 address"; } leaf ipv6 { when "../af-type = 'ipv6-af'" { description "../AFType = 'IPv6_AF'"; } type In6-addr; description "IPv6 address"; } } // container policy-endpoint leaf policy-name { type string; description "Policy name"; } leaf policy-color { type uint32; description "Color associated with the policy"; } leaf policy-endpoint-is-null { type boolean; description "Policy endpoint is null"; } } // container u-b6-insert-red container udx2 { when "../sid-context-type = 'udx2'" { description "../SIDContextType = 'UDX2'"; } description "UDX2 SID context"; leaf evi { type uint32; description "EVI"; } leaf eth-tag { type uint32; description "Ethernet Tag ID"; } } // container udx2 leaf sid-context-type { type Mgmt-srv6-endpoint; description "SIDContextType"; } } // container key leaf application-data { type yang:hex-string; description "Application opaque data"; } } // container sid-context container create-timestamp { description "Creation timestamp"; leaf time-in-nano-seconds { type uint64; units "nanosecond"; description "Timestamp in nano seconds"; } leaf age-in-nano-seconds { type uint64; units "nanosecond"; description "Age in nano seconds"; } } // container create-timestamp leaf sid { type string; description "SID Value"; } leaf allocation-type { type Sid-allocation; description "Allocation Type"; } leaf state { type Sid-state; description "State"; } leaf has-forwarding { type boolean; description "Rewrite done or not"; } leaf locator { type string; description "Associated locator"; } leaf sid-functionvalue { type uint32; description "SID function value"; } list owner { description "Owner"; leaf owner { type string; description "Owner"; } } // list owner } // list locator-all-active-sid } // container locator-all-active-sids } // container standby } // container srv6 } // module Cisco-IOS-XR-segment-routing-srv6-oper
© 2023 YumaWorks, Inc. All rights reserved.