module mpls-types {
yang-version 1;
namespace
"http://openconfig.net/yang/mpls-types";
prefix mplst;
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"General types for MPLS / TE data model";
revision "2015-02-01" {
description "Initial revision";
reference
"TBD";
}
identity path-setup-protocol {
base
description
"base identity for supported MPLS signaling
protocols";
}
identity path-setup-rsvp {
base path-setup-protocol;
description
"RSVP-TE signaling protocol";
}
identity path-setup-sr {
base path-setup-protocol;
description "Segment routing";
}
identity path-setup-ldp {
base path-setup-protocol;
description "lDP - RFC 5036";
}
typedef percentage {
type uint8 {
range "0..100";
}
description
"Integer indicating a percentage value";
}
typedef mpls-label {
type union {
type uint32 {
range "16..1048575";
}
type enumeration {
enum "IPV4_EXPLICIT_NULL" {
value 0;
description
"valid at the bottom of the label stack,
indicates that stack must be popped and packet forwarded
based on IPv4 header";
}
enum "ROUTER_ALERT" {
value 1;
description
"allowed anywhere in the label stack except
the bottom, local router delivers packet to the local CPU
when this label is at the top of the stack";
}
enum "IPV6_EXPLICIT_NULL" {
value 2;
description
"valid at the bottom of the label stack,
indicates that stack must be popped and packet forwarded
based on IPv6 header";
}
enum "IMPLICIT_NULL" {
value 3;
description
"assigned by local LSR but not carried in
packets";
}
enum "ENTROPY_LABEL_INDICATOR" {
value 7;
description
"Entropy label indicator, to allow an LSR
to distinguish between entropy label and applicaiton
labels RFC 6790";
}
}
}
description
"type for MPLS label value encoding";
reference
"RFC 3032 - MPLS Label Stack Encoding";
}
typedef tunnel-type {
type enumeration {
enum "P2P" {
value 0;
description
"point-to-point label-switched-path";
}
enum "P2MP" {
value 1;
description
"point-to-multipoint label-switched-path";
}
enum "MP2MP" {
value 2;
description
"multipoint-to-multipoint label-switched-path";
}
}
description
"defines the tunnel type for the LSP";
reference
"RFC 6388 - Label Distribution Protocol Extensions for
Point-to-Multipoint and Multipoint-to-Multipoint Label Switched
Paths
RFC 4875 - Extensions to Resource Reservation Protocol
- Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
Label Switched Paths (LSPs)";
}
} // module mpls-types