-
Notifications
You must be signed in to change notification settings - Fork 19
Added new module for p2mp te tunnel support #71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| module: ietf-te-p2mp | ||
| +--rw te! | ||
| +--rw tunnels | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. let's add container tunnels-p2mp |
||
| +--rw tunnel-p2mp* [name] | ||
| +--ro operational-state? identityref | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. BUM (e1, e2, e3) OPTION#2 (IR) name |
||
| +--rw name string | ||
| +--rw p2mp-id? uint32 | ||
| +--rw identifier? uint16 | ||
| +--rw description? string | ||
| +--rw encoding? identityref | ||
| +--rw switching-type? identityref | ||
| +--rw provisioning-state? identityref | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. check if this is operational-state?
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| +--rw preference? uint8 | ||
| +--rw reoptimize-timer? uint16 | ||
| +--rw source? te-types:te-node-id | ||
| +--rw src-tp-id? yang:hex-string | ||
| +--rw destinations* [destination dst-tp-id] | ||
| | +--rw destination te-types:te-node-id | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. add per destination leafs:
|
||
| | +--rw dst-tp-id yang:hex-string | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. add a leafref to a p2p tunnel
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Tree1 = D1-Path1, D2-Path1, D3-Path1 OPTION#1: OPTION#2: |
||
| +--rw p2mp-primary-paths | ||
| +--rw p2mp-primary-path* [name] | ||
| +--rw s2l-paths* [name] | ||
| | +--rw name string | ||
| +--rw name string | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,268 @@ | ||
| module ietf-te-p2mp { | ||
| yang-version 1.1; | ||
| /* Replace prefix with IANA when assigned */ | ||
| prefix "te-p2mp"; | ||
| /* Replace namespace with IANA when assigned */ | ||
| namespace "urn:ietf:params:xml:ns:yang:ietf-te-p2mp"; | ||
|
|
||
| /* Import TE types module */ | ||
| import ietf-te-types { | ||
| prefix te-types; | ||
| reference | ||
| "RFC 8776: Common YANG Data Types for Traffic Engineering"; | ||
| } | ||
|
|
||
| /* Import TE module */ | ||
| import ietf-te { | ||
| prefix te; | ||
| reference | ||
| "draft-ietf-teas-yang-te: A YANG Data Model for Traffic | ||
| Engineering Tunnels and Interfaces"; | ||
| } | ||
|
|
||
| import ietf-inet-types { | ||
| prefix inet; | ||
| reference "RFC6991: Common YANG Data Types"; | ||
| } | ||
|
|
||
| import ietf-yang-types { | ||
| prefix "yang"; | ||
| reference "RFC6991: Common YANG Data Types"; | ||
| } | ||
|
|
||
| organization | ||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | ||
| Working Group"; | ||
|
|
||
| contact | ||
| "WG Web: <http://tools.ietf.org/wg/teas/> | ||
| WG List: <mailto:teas@ietf.org> | ||
|
|
||
| Editor: Oscar Gonzalez de Dios | ||
| <mailto:oscar.gonzalezdedios@telefonica.com>"; | ||
|
|
||
|
|
||
| description | ||
| "YANG data module for point-to-multi-point TE configuration, | ||
| state, and RPCs. | ||
| The model fully conforms to the Network Management | ||
| Datastore Architecture (NMDA). | ||
|
|
||
| Copyright (c) 2019 IETF Trust and the persons | ||
| identified as authors of the code. All rights reserved. | ||
|
|
||
| Redistribution and use in source and binary forms, with or | ||
| without modification, is permitted pursuant to, and subject | ||
| to the license terms contained in, the Simplified BSD License | ||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | ||
| Relating to IETF Documents | ||
| (https://trustee.ietf.org/license-info). | ||
| This version of this YANG module is part of RFC XXXX; see | ||
| the RFC itself for full legal notices."; | ||
|
|
||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||
| // note. | ||
|
|
||
| // RFC Ed.: update the date below with the date of RFC publication | ||
| // and remove this note. | ||
|
|
||
|
|
||
| revision "2020-09-18" { | ||
| description "First draft."; | ||
| reference | ||
| "draft: A YANG Data Model for taffic Engineering point-to-multipoint Tunnels"; | ||
| } | ||
|
|
||
| /* groupings */ | ||
|
|
||
| /* TE tunnels container data */ | ||
| grouping p2mp-tunnels-grouping { | ||
| description | ||
| "Tunnels TE configuration data grouping"; | ||
| container p2mp-tunnels { | ||
| description | ||
| "Tunnels TE configuration data container"; | ||
|
|
||
| list tunnel-p2mp { | ||
| key "name"; | ||
| description "P2MP TE tunnels list."; | ||
| uses tunnel-p2mp-properties; | ||
| //uses tunnel-actions; | ||
| //uses tunnel-protection-actions; | ||
| } | ||
| } | ||
| } | ||
|
|
||
|
|
||
| /** | ||
| * TE tunnel generic groupings | ||
| */ | ||
| grouping p2mp-primary-path-properties { | ||
| description | ||
| "TE p2mp tunnel primary path properties grouping"; | ||
| uses p2mp-path-properties; | ||
| leaf name { | ||
| type string; | ||
| description "TE path name"; | ||
| } | ||
| //uses path-constraints-common; | ||
| //uses p2p-path-properties-state; | ||
| } | ||
|
|
||
| grouping p2mp-path-properties { | ||
| description | ||
| "TE tunnel path properties configuration grouping"; | ||
| list s2l-paths { | ||
| key "name"; | ||
| description "Source to Leaf paths list."; | ||
| uses s2l-path-properties; | ||
| //uses tunnel-actions; | ||
| //uses tunnel-protection-actions; | ||
| } | ||
| } | ||
|
|
||
| grouping s2l-path-properties { | ||
| description | ||
| "source-to-leaf (S2L) sub-LSP path properties configuration grouping"; | ||
| leaf name { | ||
| type string; | ||
| description "Source to leaf sub-lsp path name"; | ||
| } | ||
| } | ||
|
|
||
|
|
||
|
|
||
| /* P2MP Tunnels properties */ | ||
| grouping tunnel-p2mp-properties { | ||
| description | ||
| "Top level grouping for p2mp tunnel properties."; | ||
| leaf operational-state { | ||
| type identityref { | ||
| base te-types:tunnel-state-type; | ||
| } | ||
| default te-types:tunnel-state-up; | ||
| config 'false'; | ||
| description "TE tunnel administrative state."; | ||
| } | ||
| uses tunnel-p2mp-config; | ||
|
|
||
| container p2mp-primary-paths { | ||
| description "Set of P2MP primary paths container"; | ||
| list p2mp-primary-path { | ||
| key "name"; | ||
| description | ||
| "List of primary paths for this P2MP tunnel."; | ||
| uses p2mp-primary-path-properties; | ||
| } | ||
| } | ||
| } | ||
|
|
||
|
|
||
| grouping tunnel-p2mp-config { | ||
| description | ||
| "Configuration parameters relating to TE tunnel"; | ||
| leaf name { | ||
| type string; | ||
| description "P2MP TE tunnel name."; | ||
| } | ||
| leaf p2mp-id { | ||
| type uint32; | ||
| description | ||
| "P2MP Identifier."; | ||
| reference "RFC4875 section 19.1.1."; | ||
| } | ||
| leaf identifier { | ||
| type uint16; | ||
| description | ||
| "TE tunnel Identifier."; | ||
| reference "RFC4875"; | ||
| } | ||
| leaf description { | ||
| type string; | ||
| default 'None'; | ||
| description | ||
| "Textual description for this TE P2MP tunnel"; | ||
| } | ||
| leaf encoding { | ||
| type identityref { | ||
| base te-types:lsp-encoding-types; | ||
| } | ||
| default te-types:lsp-encoding-packet; | ||
| description "LSP encoding type"; | ||
| reference "RFC3945"; | ||
| } | ||
| leaf switching-type { | ||
| type identityref { | ||
| base te-types:switching-capabilities; | ||
| } | ||
| default te-types:switching-psc1; | ||
| description "LSP switching type"; | ||
| reference "RFC3945"; | ||
| } | ||
| leaf provisioning-state { | ||
| type identityref { | ||
| base te-types:tunnel-state-type; | ||
| } | ||
| default te-types:tunnel-state-up; | ||
| description "TE tunnel administrative state."; | ||
| } | ||
| leaf preference { | ||
| type uint8 { | ||
| range "1..255"; | ||
| } | ||
| default 100; | ||
| description | ||
| "Specifies a preference for this tunnel. | ||
| A lower number signifies a better preference"; | ||
| } | ||
| leaf reoptimize-timer { | ||
| type uint16; | ||
| units seconds; | ||
| description | ||
| "frequency of reoptimization of a traffic engineered LSP"; | ||
| } | ||
| leaf source { | ||
| type te-types:te-node-id; | ||
| description "TE tunnel source node ID."; | ||
| } | ||
| leaf src-tp-id { | ||
| type yang:hex-string; | ||
| default '00:00:00:00'; | ||
| description | ||
| "TE tunnel source termination point identifier."; | ||
| } | ||
| list destinations { | ||
| key "destination dst-tp-id"; | ||
| description "destinations list."; | ||
| leaf destination { | ||
| type te-types:te-node-id; | ||
| description "TE tunnel destination node ID"; | ||
| } | ||
| leaf dst-tp-id { | ||
| type yang:hex-string; | ||
| description | ||
| "TE tunnel destination termination point identifier."; | ||
| } | ||
| } | ||
|
|
||
|
|
||
|
|
||
| //uses tunnel-p2p-associations-properties; | ||
| //uses protection-restoration-properties; | ||
| //uses te-types:tunnel-constraints; | ||
| //uses p2p-dependency-tunnels-properties; | ||
| //uses hierarchical-link-properties; | ||
| } | ||
|
|
||
|
|
||
| /*** End of P2MP TE global groupings ***/ | ||
|
|
||
|
|
||
| augment "/te:te" { | ||
| description | ||
| "TE global container."; | ||
| /* P2MP Configuration Data */ | ||
| uses p2mp-tunnels-grouping; | ||
| } | ||
|
|
||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please augment existing 'te' container