| ietf-te-topology-state-preformat.yang | ietf-te-topology-state.yang | |||
|---|---|---|---|---|
| module ietf-te-topology-state { | module ietf-te-topology-state { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; | namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; | |||
| prefix tet-s; | ||||
| prefix "tet-s"; | ||||
| import ietf-te-types { | import ietf-te-types { | |||
| prefix "te-types"; | prefix te-types; | |||
| reference | reference | |||
| "RFC 8776: Common YANG Data Types for Traffic Engineering"; | "RFC 8776: Common YANG Data Types for Traffic Engineering"; | |||
| } | } | |||
| import ietf-te-topology { | import ietf-te-topology { | |||
| prefix "tet"; | prefix tet; | |||
| reference | reference | |||
| "RFC 8795: YANG Data Model for Traffic Engineering (TE) | "RFC 8795: YANG Data Model for Traffic Engineering (TE) | |||
| Topologies"; | Topologies"; | |||
| } | } | |||
| import ietf-network-state { | import ietf-network-state { | |||
| prefix "nw-s"; | prefix nw-s; | |||
| reference | reference | |||
| "RFC 8345: A YANG Data Model for Network Topologies"; | "RFC 8345: A YANG Data Model for Network Topologies"; | |||
| } | } | |||
| import ietf-network-topology-state { | import ietf-network-topology-state { | |||
| prefix "nt-s"; | prefix nt-s; | |||
| reference | reference | |||
| "RFC 8345: A YANG Data Model for Network Topologies"; | "RFC 8345: A YANG Data Model for Network Topologies"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Working Group"; | Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/teas/> | "WG Web: <https://datatracker.ietf.org/wg/teas/> | |||
| WG List: <mailto:teas@ietf.org> | WG List: <mailto:teas@ietf.org> | |||
| Editor: Xufeng Liu | Editor: Xufeng Liu | |||
| <mailto:xufeng.liu.ietf@gmail.com> | <mailto:xufeng.liu.ietf@gmail.com> | |||
| Editor: Igor Bryskin | Editor: Igor Bryskin | |||
| <mailto:i_bryskin@yahoo.com> | <mailto:i_bryskin@yahoo.com> | |||
| skipping to change at line 74 ¶ | skipping to change at line 68 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
| forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 8795; see the | This version of this YANG module is part of RFC 8795; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| revision "2020-06-29" { | revision 2020-06-29 { | |||
| description "Initial revision."; | description | |||
| "Initial revision."; | ||||
| reference | reference | |||
| "RFC 8795: YANG Data Model for Traffic Engineering (TE) | "RFC 8795: YANG Data Model for Traffic Engineering (TE) | |||
| Topologies"; | Topologies"; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping te-node-connectivity-matrix-attributes { | grouping te-node-connectivity-matrix-attributes { | |||
| description | description | |||
| "Termination point references of a connectivity matrix entry."; | "Termination point references of a connectivity matrix entry."; | |||
| container from { | container from { | |||
| description | description | |||
| "Reference to a source Link Termination Point (LTP)."; | "Reference to a source Link Termination Point (LTP)."; | |||
| leaf tp-ref { | leaf tp-ref { | |||
| type leafref { | type leafref { | |||
| path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | |||
| } | } | |||
| skipping to change at line 112 ¶ | skipping to change at line 108 ¶ | |||
| leaf tp-ref { | leaf tp-ref { | |||
| type leafref { | type leafref { | |||
| path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | |||
| } | } | |||
| description | description | |||
| "Relative reference to a termination point."; | "Relative reference to a termination point."; | |||
| } | } | |||
| uses te-types:label-set-info; | uses te-types:label-set-info; | |||
| } | } | |||
| uses tet:connectivity-matrix-entry-path-attributes; | uses tet:connectivity-matrix-entry-path-attributes; | |||
| } // te-node-connectivity-matrix-attributes | } | |||
| // te-node-connectivity-matrix-attributes | ||||
| grouping te-node-tunnel-termination-point-llc-list { | grouping te-node-tunnel-termination-point-llc-list { | |||
| description | description | |||
| "Local Link Connectivity List (LLCL) of a Tunnel Termination | "Local Link Connectivity List (LLCL) of a Tunnel Termination | |||
| Point (TTP) on a TE node."; | Point (TTP) on a TE node."; | |||
| list local-link-connectivity { | list local-link-connectivity { | |||
| key "link-tp-ref"; | key "link-tp-ref"; | |||
| description | description | |||
| "The termination capabilities between the TTP and the LTP. | "The termination capabilities between the TTP and the LTP. | |||
| This capability information can be used to compute | This capability information can be used to compute | |||
| skipping to change at line 130 ¶ | skipping to change at line 128 ¶ | |||
| description | description | |||
| "The termination capabilities between the TTP and the LTP. | "The termination capabilities between the TTP and the LTP. | |||
| This capability information can be used to compute | This capability information can be used to compute | |||
| the tunnel path. | the tunnel path. | |||
| The Interface Adjustment Capability Descriptors (IACDs) | The Interface Adjustment Capability Descriptors (IACDs) | |||
| (defined in RFC 6001) on each LTP can be derived from | (defined in RFC 6001) on each LTP can be derived from | |||
| this list."; | this list."; | |||
| reference | reference | |||
| "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions | "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions | |||
| for Multi-Layer and Multi-Region Networks (MLN/MRN)"; | for Multi-Layer and Multi-Region Networks (MLN/MRN)"; | |||
| leaf link-tp-ref { | leaf link-tp-ref { | |||
| type leafref { | type leafref { | |||
| path "../../../../../nt-s:termination-point/nt-s:tp-id"; | path "../../../../../nt-s:termination-point/nt-s:tp-id"; | |||
| } | } | |||
| description | description | |||
| "LTP."; | "LTP."; | |||
| } | } | |||
| uses te-types:label-set-info; | uses te-types:label-set-info; | |||
| uses tet:connectivity-matrix-entry-path-attributes; | uses tet:connectivity-matrix-entry-path-attributes; | |||
| } // local-link-connectivity | } | |||
| } // te-node-tunnel-termination-point-config | // local-link-connectivity | |||
| } | ||||
| // te-node-tunnel-termination-point-config | ||||
| /* | /* | |||
| * Data nodes | * Data nodes | |||
| */ | */ | |||
| augment "/nw-s:networks/nw-s:network/nw-s:network-types" { | augment "/nw-s:networks/nw-s:network/nw-s:network-types" { | |||
| description | description | |||
| "Introduces a new network type for a TE topology."; | "Introduces a new network type for a TE topology."; | |||
| container te-topology { | container te-topology { | |||
| presence "Indicates a TE topology"; | presence "Indicates a TE topology"; | |||
| description | description | |||
| "Its presence identifies the TE topology type."; | "Its presence identifies the TE topology type."; | |||
| } | } | |||
| } | } | |||
| skipping to change at line 163 ¶ | skipping to change at line 163 ¶ | |||
| } | } | |||
| } | } | |||
| augment "/nw-s:networks" { | augment "/nw-s:networks" { | |||
| description | description | |||
| "Augmentation parameters for TE topologies."; | "Augmentation parameters for TE topologies."; | |||
| uses tet:te-topologies-augment; | uses tet:te-topologies-augment; | |||
| } | } | |||
| augment "/nw-s:networks/nw-s:network" { | augment "/nw-s:networks/nw-s:network" { | |||
| when "nw-s:network-types/tet-s:te-topology" { | when 'nw-s:network-types/tet-s:te-topology' { | |||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Configuration parameters for a TE topology."; | "Configuration parameters for a TE topology."; | |||
| uses tet:te-topology-augment; | uses tet:te-topology-augment; | |||
| } | } | |||
| augment "/nw-s:networks/nw-s:network/nw-s:node" { | augment "/nw-s:networks/nw-s:network/nw-s:node" { | |||
| when "../nw-s:network-types/tet-s:te-topology" { | when '../nw-s:network-types/tet-s:te-topology' { | |||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Configuration parameters for TE at the node level."; | "Configuration parameters for TE at the node level."; | |||
| leaf te-node-id { | leaf te-node-id { | |||
| type te-types:te-node-id; | type te-types:te-node-id; | |||
| description | description | |||
| "The identifier of a node in the TE topology. | "The identifier of a node in the TE topology. | |||
| A node is specific to a topology to which it belongs."; | A node is specific to a topology to which it belongs."; | |||
| } | } | |||
| container te { | container te { | |||
| must "../te-node-id" { | must '../te-node-id' { | |||
| description | description | |||
| "'te-node-id' is mandatory."; | "'te-node-id' is mandatory."; | |||
| } | } | |||
| must "count(../nw-s:supporting-node)<=1" { | must 'count(../nw-s:supporting-node)<=1' { | |||
| description | description | |||
| "For a node in a TE topology, there cannot be more | "For a node in a TE topology, there cannot be more | |||
| than one supporting node. If multiple nodes are | than one supporting node. If multiple nodes are | |||
| abstracted, the 'underlay-topology' field is used."; | abstracted, the 'underlay-topology' field is used."; | |||
| } | } | |||
| presence "TE support"; | presence "TE support"; | |||
| description | description | |||
| "Indicates TE support."; | "Indicates TE support."; | |||
| uses tet:te-node-augment; | uses tet:te-node-augment; | |||
| } // te | } | |||
| // te | ||||
| } | } | |||
| augment "/nw-s:networks/nw-s:network/nt-s:link" { | augment "/nw-s:networks/nw-s:network/nt-s:link" { | |||
| when "../nw-s:network-types/tet-s:te-topology" { | when '../nw-s:network-types/tet-s:te-topology' { | |||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Configuration parameters for TE at the link level."; | "Configuration parameters for TE at the link level."; | |||
| container te { | container te { | |||
| must "count(../nt-s:supporting-link)<=1" { | must 'count(../nt-s:supporting-link)<=1' { | |||
| description | description | |||
| "For a link in a TE topology, there cannot be more | "For a link in a TE topology, there cannot be more | |||
| than one supporting link. If one or more link paths are | than one supporting link. If one or more link paths are | |||
| abstracted, the underlay is used."; | abstracted, the underlay is used."; | |||
| } | } | |||
| presence "TE support"; | presence "TE support"; | |||
| description | description | |||
| "Indicates TE support."; | "Indicates TE support."; | |||
| uses tet:te-link-augment; | uses tet:te-link-augment; | |||
| } // te | } | |||
| // te | ||||
| } | } | |||
| augment "/nw-s:networks/nw-s:network/nw-s:node/" | augment "/nw-s:networks/nw-s:network/nw-s:node/" | |||
| + "nt-s:termination-point" { | + "nt-s:termination-point" { | |||
| when "../../nw-s:network-types/tet-s:te-topology" { | when '../../nw-s:network-types/tet-s:te-topology' { | |||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Configuration parameters for TE at the termination point | "Configuration parameters for TE at the termination point | |||
| level."; | level."; | |||
| uses tet:te-termination-point-augment; | uses tet:te-termination-point-augment; | |||
| } | } | |||
| augment | augment "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" | |||
| "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" | + "bundle/bundled-links/bundled-link" { | |||
| + "bundle/bundled-links/bundled-link" { | when '../../../../nw-s:network-types/tet-s:te-topology' { | |||
| when "../../../../nw-s:network-types/tet-s:te-topology" { | ||||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Augmentation for a TE bundled link."; | "Augmentation for a TE bundled link."; | |||
| leaf src-tp-ref { | leaf src-tp-ref { | |||
| type leafref { | type leafref { | |||
| path "../../../../../nw-s:node[nw-s:node-id = " | path "../../../../../nw-s:node[nw-s:node-id = " | |||
| + "current()/../../../../nt-s:source/" | + "current()/../../../../nt-s:source/" | |||
| + "nt-s:source-node]/" | + "nt-s:source-node]/" | |||
| + "nt-s:termination-point/nt-s:tp-id"; | + "nt-s:termination-point/nt-s:tp-id"; | |||
| require-instance true; | require-instance true; | |||
| } | } | |||
| description | description | |||
| "Reference to another TE termination point on the | "Reference to another TE termination point on the | |||
| same source node."; | same source node."; | |||
| } | } | |||
| leaf des-tp-ref { | leaf des-tp-ref { | |||
| type leafref { | type leafref { | |||
| path "../../../../../nw-s:node[nw-s:node-id = " | path "../../../../../nw-s:node[nw-s:node-id = " | |||
| + "current()/../../../../nt-s:destination/" | + "current()/../../../../nt-s:destination/" | |||
| + "nt-s:dest-node]/" | + "nt-s:dest-node]/" | |||
| + "nt-s:termination-point/nt-s:tp-id"; | + "nt-s:termination-point/nt-s:tp-id"; | |||
| require-instance true; | require-instance true; | |||
| } | } | |||
| description | description | |||
| "Reference to another TE termination point on the | "Reference to another TE termination point on the | |||
| same destination node."; | same destination node."; | |||
| } | } | |||
| } | } | |||
| augment | augment "/nw-s:networks/nw-s:network/nw-s:node/te/" | |||
| "/nw-s:networks/nw-s:network/nw-s:node/te/" | + "information-source-entry/connectivity-matrices/" | |||
| + "information-source-entry/connectivity-matrices/" | + "connectivity-matrix" { | |||
| + "connectivity-matrix" { | when '../../../../../nw-s:network-types/tet-s:te-topology' { | |||
| when "../../../../../nw-s:network-types/tet-s:te-topology" { | ||||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Augmentation for the TE node connectivity matrix."; | "Augmentation for the TE node connectivity matrix."; | |||
| uses te-node-connectivity-matrix-attributes; | uses te-node-connectivity-matrix-attributes; | |||
| } | } | |||
| augment | augment "/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" | |||
| "/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" | + "connectivity-matrices/connectivity-matrix" { | |||
| + "connectivity-matrices/connectivity-matrix" { | when '../../../../../nw-s:network-types/tet-s:te-topology' { | |||
| when "../../../../../nw-s:network-types/tet-s:te-topology" { | ||||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Augmentation for the TE node connectivity matrix."; | "Augmentation for the TE node connectivity matrix."; | |||
| uses te-node-connectivity-matrix-attributes; | uses te-node-connectivity-matrix-attributes; | |||
| } | } | |||
| augment | augment "/nw-s:networks/nw-s:network/nw-s:node/te/" | |||
| "/nw-s:networks/nw-s:network/nw-s:node/te/" | + "tunnel-termination-point/local-link-connectivities" { | |||
| + "tunnel-termination-point/local-link-connectivities" { | when '../../../../nw-s:network-types/tet-s:te-topology' { | |||
| when "../../../../nw-s:network-types/tet-s:te-topology" { | ||||
| description | description | |||
| "Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
| TE topology type."; | TE topology type."; | |||
| } | } | |||
| description | description | |||
| "Augmentation for TE node TTP LLCs (Local Link | "Augmentation for TE node TTP LLCs (Local Link | |||
| Connectivities)."; | Connectivities)."; | |||
| uses te-node-tunnel-termination-point-llc-list; | uses te-node-tunnel-termination-point-llc-list; | |||
| } | } | |||
| } | } | |||
| End of changes. 32 change blocks. | ||||
| 48 lines changed or deleted | 48 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||