Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
draft-busizheng-teas-mpls-tp-yang-00
  • Loading branch information
haomianzheng authored Mar 14, 2019
1 parent a2b991c commit 2b4d9d6
Show file tree
Hide file tree
Showing 3 changed files with 321 additions and 0 deletions.
122 changes: 122 additions & 0 deletions YANG/teas/MPLS-TP/ietf-mpls-tp-topology.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
module ietf-mpls-tp-topology {
//yang-version 1.1;

namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-tp-topology";
prefix "mpls-tp-topo";

import ietf-network {
prefix "nw";
}

import ietf-network-topology {
prefix "nt";
}

import ietf-te-topology {
prefix "tet";
}

import ietf-mpls-tp-types {
prefix "mpls-tp-types";
}

organization
"Internet Engineering Task Force (IETF) TEAS WG";
contact
"
WG List: <mailto:[email protected]>
ID-draft editor:
Italo Busi ([email protected]);
Haomian Zheng ([email protected]);
";

description
"This module defines technology-specific MPLS-TP topology
data model.";

revision 2019-03-11 {
description
"version -00 as an I-D";
reference
"draft-busizheng-teas-mpls-tp-yang";
}

augment "/nw:networks/nw:network/nw:network-types/"
+ "tet:te-topology" {
container mpls-tp-topology {
presence "indicates a topology type of MPLS-TP layer.";
description "mpls-tp te topology type";
}
description "augment network types to include mpls-tp newtork";
}

augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "mpls-tp-topo:mpls-tp-topology" {
description "MPLS-TP TE bandwidth.";
}
description "MPLS-TP bandwidth.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-bandwidth;
}
}


augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te/tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "mpls-tp-topo:mpls-tp-topology" {
description "Augment MPLS-TP TE bandwidth";
}
description "MPLS-TP bandwidth.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-bandwidth;
}
}

augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "mpls-tp-topo:mpls-tp-topology" {
description "MPLS-TP TE bandwidth.";
}
description "MPLS-TP bandwidth.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-bandwidth;
}
}

augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "mpls-tp-topo:mpls-tp-topology" {
description "MPLS-TP TE bandwidth.";
}
description "MPLS-TP bandwidth.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-bandwidth;
}
}

augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "mpls-tp-topo:mpls-tp-topology" {
description "MPLS-TP TE bandwidth.";
}
description "MPLS-TP bandwidth.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-bandwidth;
}
}


}
92 changes: 92 additions & 0 deletions YANG/teas/MPLS-TP/ietf-mpls-tp-tunnel.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
module ietf-mpls-tp-tunnel {
//yang-version 1.1;

namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-tp-tunnel";
prefix "mpls-tp-tunnel";

import ietf-te {
prefix "te";
}

import ietf-mpls-tp-types {
prefix "mpls-tp-types";
}
organization
"Internet Engineering Task Force (IETF) TEAS WG";
contact
"
WG List: <mailto:[email protected]>
ID-draft editor:
Italo Busi ([email protected]);
Haomian Zheng ([email protected]);
";
description
"This module defines technology-specific MPLS-TP tunnel
data model.";
revision 2019-03-11 {
description
"version -00 as an I-D";
reference
"draft-busizheng-teas-mpls-tp-yang";
}

augment "/te:te/te:tunnels/te:tunnel/"
+ "te:te-bandwidth/te:technology" {
description "MPLS-TP bandwidth.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-bandwidth;
}
}

augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:computed-paths-properties/"
+ "te:computed-path-properties/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-computed-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "MPLS-TP label.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-label;
}
}

augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:lsps/te:lsp/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-computed-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "MPLS-TP label.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-label;
}
}

augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:computed-paths-properties/"
+ "te:computed-path-properties/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-computed-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "MPLS-TP label.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-label;
}
}

augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:lsps/te:lsp/"
+ "te:path-properties/te:path-route-objects/"
+ "te:path-computed-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" {
description "MPLS-TP label.";
case mpls-tp {
uses mpls-tp-types:mpls-tp-path-label;
}
}

}
107 changes: 107 additions & 0 deletions YANG/teas/MPLS-TP/ietf-mpls-tp-types.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
module ietf-mpls-tp-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-tp-types";
prefix "mpls-tp-types";

import ietf-routing-types {
prefix "rt-types";

}
import ietf-eth-tran-types {
prefix "etht-types";

}
organization
"Internet Engineering Task Force (IETF) TEAS WG";
contact
"
WG List: <mailto:[email protected]>
ID-draft editor:
Italo Busi ([email protected]);
Haomian Zheng ([email protected]);
";
description
"This module defines technology-specific MPLS-TP types
data model.";
revision 2019-03-11 {
description
"version -00 as an I-D";
reference
"draft-busizheng-teas-mpls-tp-yang";
}

grouping mpls-tp-path-bandwidth {
description
"Path bandwidth for MPLS-TP. ";
leaf bandwidth-profile-name{
type string;
description "Name of Bandwidth Profile.";
}
leaf bandwidth-profile-type {
type identityref {
base etht-types:bandwidth-profile-type;
}
description "Type of Bandwidth Profile.";
}

leaf CIR {
type uint64;
description
"Committed Information Rate in Kbps";
}

leaf EIR {
type uint64;
/*
Need to indicate that EIR is not supported by RFC 2697
must
'../bw-profile-type = "etht-types:mef-10-bwp" or ' +
'../bw-profile-type = "etht-types:rfc-2698-bwp" or ' +
'../bw-profile-type = "etht-types:rfc-4115-bwp"'
must
'../bw-profile-type != "etht-types:rfc-2697-bwp"'
*/
description
"Excess Information Rate in Kbps
In case of RFC 2698, PIR = CIR + EIR";
}

leaf CBS {
type uint64;
description
"Committed Burst Size in in KBytes";
}

leaf EBS {
type uint64;
description
"Excess Burst Size in KBytes.
In case of RFC 2698, PBS = CBS + EBS";
}
}

grouping mpls-tp-bandwidth {
description
"Bandwidth for MPLS-TP. ";
leaf mpls-tp-bandwidth {
type uint64{
range "0..10000000000";
}
units "Kbps";
description
"Available bandwith value expressed in kilobits per second";
}
}

grouping mpls-tp-path-label {
description
"Path Label for MPLS-TP. ";
leaf mpls-label {
type rt-types:mpls-label;
description
"MPLS-TP Label.";
}
}
}

0 comments on commit 2b4d9d6

Please sign in to comment.