Internet DRAFT - draft-liu-yang-ted
draft-liu-yang-ted
Network Working Group Xufeng Liu
Internet Draft Ericsson
Intended status: Standards Track Vishnu Pavan Beeram
Juniper Networks
Alexander Clemm
Cisco
Igor Bryskin
Aihua Guo
ADVA Optical Networking
Expires: April 27, 2015 October 27, 2014
A Yang module for Traffic Engineering Database (TED)
draft-liu-yang-ted-00
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on April 27, 2015.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Liu, et al Expires April 27, 2015 [Page 1]
Internet-Draft YANG - TED October 2014
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Abstract
This document defines a YANG module for Traffic Engineering
Database.
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119].
Table of Contents
1. Introduction...................................................2
2. Tree Structure.................................................3
3. TED Yang Module................................................4
4. Security Considerations.......................................16
5. IANA Considerations...........................................16
6. Normative References..........................................16
7. Acknowledgments...............................................17
1. Introduction
MPLS-TE and GMPLS based Traffic-Engineering (TE) systems provide
tools to establish paths through a network in a controlled manner.
TE paths are computed by examining the Traffic Engineering Database
(TED) and selecting a sequence of links and nodes that are capable
of catering to the requirements of the path to be established. The
TED contains all the relevant information that a Path computation
function needs and is typically constructed from information
distributed by link-state protocols like OSPF-TE, ISIS-TE and BGP-
LS.
This document defines a YANG [RFC6020] [RFC6021] module for Traffic
Engineering Database. This "TED" module contains a set of groupings
capturing data related to traffic engineering and can be used as a
helper-module for other YANG modules that define OSPF-Topology, ISIS
Topology or Abstract TE Topology.
Liu, et al Expires April 27, 2015 [Page 2]
Internet-Draft YANG - TED October 2014
2. Tree Structure
The structure of the groupings in this module are depicted below.
Brackets enclose list keys, "rw" means configuration data, "ro"
means operational state data, and "?" designates optional nodes.
module: ted
grouping ted-node-attributes
+--rw te-router-id-ipv4? inet:ipv4-address
+--rw te-router-id-ipv6? inet:ipv6-address
+--rw ipv4-local-address* [ipv4-prefix]
| +--rw ipv4-prefix inet:ipv4-prefix
+--rw ipv6-local-address* [ipv6-prefix]
| +--rw ipv6-prefix inet:ipv6-prefix
| +--rw prefix-option? uint8
+--rw pcc-capabilities? pcc-capabilities
grouping ted-link-attributes
+--rw link-index? uint64
+--rw information-source? enumeration
+--rw credibility-preference? uint16
+--rw admin-status? enumeration
+--rw oper-status? enumeration
+--rw area-id? binary
+--rw color? uint32
+--rw max-link-bandwidth? decimal64
+--rw max-resv-link-bandwidth? decimal64
+--rw unreserved-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth? decimal64
+--rw te-default-metric? uint32
+--rw link-protection-type? enumeration
+--rw interface-switching-capabilities* [switching-capability]
| +--rw switching-capability ted:switching-capabilities
| +--rw encoding? ted:encoding-type
| +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth? decimal64
| +--rw packet-switch-capable
| | +--rw minimum-lsp-bandwidth? decimal64
| | +--rw interface-mtu? uint16
| +--rw time-division-multiplex-capable
| +--rw minimum-lsp-bandwidth? decimal64
| +--rw indication? enumeration
Liu, et al Expires April 27, 2015 [Page 3]
Internet-Draft YANG - TED October 2014
+--rw srlg
| +--rw srlg-values* [srlg-value]
| +--rw srlg-value uint32
+--rw alt-information-sources* [information-source]
+--rw information-source enumeration
+--rw credibility-preference? uint16
+--rw link-index? uint64
+--rw color? uint32
+--rw max-link-bandwidth? decimal64
+--rw max-resv-link-bandwidth? decimal64
+--rw unreserved-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth? decimal64
+--rw te-default-metric? uint32
+--rw link-protection-type? enumeration
+--rw interface-switching-capabilities* [switching-capability]
| +--rw switching-capability ted:switching-capabilities
| +--rw encoding? ted:encoding-type
| +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth? decimal64
| +--rw packet-switch-capable
| | +--rw minimum-lsp-bandwidth? decimal64
| | +--rw interface-mtu? uint16
| +--rw time-division-multiplex-capable
| +--rw minimum-lsp-bandwidth? decimal64
| +--rw indication? enumeration
+--rw srlg
+--rw srlg-values* [srlg-value]
+--rw srlg-value uint32
3. TED Yang Module
module ted {
yang-version 1;
namespace "urn:TBD:params:xml:ns:yang:network:ted";
// replace with IANA namespace when assigned
prefix ted;
import ietf-inet-types {
prefix "inet";
}
organization "TBD";
contact "TBD";
Liu, et al Expires April 27, 2015 [Page 4]
Internet-Draft YANG - TED October 2014
description
"Helper module to hold trafic engineering attributes for
any topology on which trafic engineering is enabled.";
revision 2014-10-27 {
description
"Initial revision";
reference
"RFC 4220: Traffic Engineering Link Management Information
Base.
RFC 6825: Traffic Engineering Database Management Information
Base in Support of MPLS-TE/GMPLS.
RFC 4802: Generalized Multiprotocol Label Switching (GMPLS)
Traffic Engineering Management Information Base";
}
typedef switching-capabilities {
type enumeration {
enum "psc-1" {
value 1;
description
"Packet-Switch Capable-1 (PSC-1)";
}
enum "evpl" {
value 30;
description
"Ethernet Virtual Private Line (EVPL)";
}
enum "l2sc" {
value 51;
description
"Layer-2 Switch Capable (L2SC)";
}
enum "tdm" {
value 100;
description
"Time-Division-Multiplex Capable (TDM)";
}
enum "otn-tdm" {
value 110;
description
"OTN-TDM Capable";
}
enum "lsc" {
value 150;
Liu, et al Expires April 27, 2015 [Page 5]
Internet-Draft YANG - TED October 2014
description
"Lambda-Switch Capable (LSC)";
}
enum "fsc" {
value 200;
description
"Fiber-Switch Capable (FSC)";
}
}
description
"Switching Capabilities of an interface.";
reference
"RFC 5307: IS-IS Extensions in Support of Generalized
Multi-Protocol Label Switching (GMPLS).
RFC 3812: Multiprotocol Label Switching (MPLS) Traffic
Engineering (TE) Management Information Base (MIB).
RFC 7074: Revised Definition of the GMPLS Switching
Capability and Type Fields.
RFC 7138: Traffic Engineering Extensions to OSPF
for GMPLS Control of Evolving G.709 Optical Transport
Networks.
RFC 7139: GMPLS Signaling Extensions for Control of Evolving
G.709 Optical Transport Networks.";
}
typedef encoding-type {
type enumeration {
enum "not-gmpls" {
value 0;
description
"GMPLS is not in use";
}
enum "packet" {
value 1;
description
"Packet";
}
enum "ethernet" {
value 2;
description
"Ethernet";
}
enum "pdh" {
value 3;
description
Liu, et al Expires April 27, 2015 [Page 6]
Internet-Draft YANG - TED October 2014
"PDH";
}
enum "sdh-sonet" {
value 5;
description
"SDH or SONET";
}
enum "digital-wrapper" {
value 7;
description
"Digital Wrapper";
}
enum "lambda" {
value 8;
description
"Lambda";
}
enum "fiber" {
value 9;
description
"Fiber";
}
enum "fiber-channel" {
value 11;
description
"Fiber Channel";
}
enum "oduk" {
value 12;
description
"G.709 OKUk (Digital Path)";
}
enum "optical-channel" {
value 13;
description
"G.709 Optical Channel";
}
}
description
"Encoding type of an interface.";
reference
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
Signaling Functional Description.
RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
Signaling Extensions for G.709 Optical Transport Networks
Control.";
Liu, et al Expires April 27, 2015 [Page 7]
Internet-Draft YANG - TED October 2014
}
typedef pcc-capabilities {
type bits {
bit path-computation-with-gmpls-link-constraints {
position 0;
description "Link constraints";
}
bit bidirectional-path-computation {
position 1;
description "Bidirectional";
}
bit diverse-path-computation {
position 2;
description "Diverse";
}
bit load-balanced-path-computation {
position 3;
description "Load balanced";
}
bit synchronized-path-computation {
position 4;
description "Synchronized";
}
bit support-for-multiple-objective-functions {
position 5;
description "Multiple objective functions";
}
bit support-for-additive-path-constraints {
position 6;
description "Additive path constraints";
}
bit support-for-request-prioritization {
position 7;
description "Request prioritization";
}
bit support-for-multiple-requests-per-message {
position 8;
description "Multiple requests per message";
}
}
description
"Path Computation Capabilities.";
reference
"RFC 5088, draft-ietf-pce-disco-protoc-isis-07.txt
OSPF/ISIS Protocol Extensions for Path Computation Element
Liu, et al Expires April 27, 2015 [Page 8]
Internet-Draft YANG - TED October 2014
(PCE) Discovery.";
}
grouping ted-node-attributes {
description
"Identifier to uniquely identify a node in TED";
reference
"RFC 5305, RFC 6119: IPv6 Traffic Engineering in IS-IS/OSPF";
leaf te-router-id-ipv4 {
type inet:ipv4-address;
description
"Globally unique IPv4 Traffic Engineering Router ID.";
}
leaf te-router-id-ipv6 {
type inet:ipv6-address;
description
"Globally unique IPv6 Traffic Engineering Router ID";
}
list ipv4-local-address {
key "ipv4-prefix";
description
"List of IPv4 Local Address(OSPF). RFC 5786";
leaf ipv4-prefix {
type inet:ipv4-prefix;
description
"Local IPv4 address for the node";
}
}
list ipv6-local-address {
key "ipv6-prefix";
description
"List of IPv6 Local Address.";
reference
"RFC 5786: Advertising a Router's Local Addresses
in OSPF Traffic Engineering (TE) Extensions";
leaf ipv6-prefix {
type inet:ipv6-prefix;
description
"Local IPv6 address for the node";
}
leaf prefix-option {
type uint8;
description
"IPv6 prefix option.";
}
Liu, et al Expires April 27, 2015 [Page 9]
Internet-Draft YANG - TED October 2014
}
leaf pcc-capabilities {
type pcc-capabilities;
description
"OSPF/ISIS PCC capabilities";
}
}
grouping ted-link-info-attributes {
description
"Advertised TE informaton attributes.";
leaf information-source {
type enumeration {
enum "unknown" {
description "The source is unknown";
}
enum "locally-configured" {
description "Configured TE link";
}
enum "ospfv2" {
description "OSPFv2";
}
enum "ospfv3" {
description "OSPFv3";
}
enum "isis" {
description "ISIS";
}
enum "other" {
description "Other source";
}
}
description
"Indicates the source of the information about the link";
}
leaf credibility-preference {
type uint16;
description
"The preference value to calculate the traffic engineering
database credibility value used for tie-break selection
between different information-source values.
Higher value is more preferable.";
}
leaf link-index {
type uint64;
description
Liu, et al Expires April 27, 2015 [Page 10]
Internet-Draft YANG - TED October 2014
"The link identifier. If OSPF is used, this represents an
ospfLsdbID. If IS-IS is used, this represents an isisLSPID.
If a locally configured link is used, this object represents
an unique value, which is locally defined in a router.";
}
leaf color {
type uint32;
description
"Administrative group or color of the link";
}
leaf max-link-bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Maximum bandwidth that can be see on this link in this
direction. Units in bytes per second";
}
leaf max-resv-link-bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Maximum amount of bandwidth that can be reserved in this
direction in this link. Units in bytes per second";
}
list unreserved-bandwidth {
key "priority";
max-elements "8";
description
"Unreserved bandwidth for 0-7 priority levels. Units in
bytes per second";
leaf priority {
type uint8 {
range "0..7";
}
description "Priority";
}
leaf bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Unreserved bandwidth for this level";
}
Liu, et al Expires April 27, 2015 [Page 11]
Internet-Draft YANG - TED October 2014
}
leaf te-default-metric {
type uint32;
description
"Traffic Engineering Metric";
}
leaf link-protection-type {
type enumeration {
enum "unprotected" {
description "unprotected";
}
enum "extra-traffic" {
description "Extra traffic";
}
enum "shared" {
description "Shared";
}
enum "1-for-1" {
description "One for one protection";
}
enum "1-plus-1" {
description "One plus one protection";
}
enum "enhanced" {
description "Enhanced protection";
}
}
description
"Link Protection Type desired for this link";
}
list interface-switching-capabilities {
key "switching-capability";
description
"List of interface capabilities for this interface";
leaf switching-capability {
type ted:switching-capabilities;
description
"Switching Capability for this interface";
}
leaf encoding {
type ted:encoding-type;
description
"Encoding supported by this interface";
}
list max-lsp-bandwidth {
key "priority";
Liu, et al Expires April 27, 2015 [Page 12]
Internet-Draft YANG - TED October 2014
max-elements "8";
description
"Maximum LSP Bandwidth at priorities 0-7";
leaf priority {
type uint8 {
range "0..7";
}
description "Priority";
}
leaf bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Max LSP Bandwidth for this level";
}
}
container packet-switch-capable {
when "../switching-capability = PSC-1 or "
+"../switching-capability = PSC-2 or "
+"../switching-capability = PSC-3 or "
+"../switching-capability = PSC-4" {
description "Valid only for PSC";
}
description
"Interface has packet-switching capabilities";
leaf minimum-lsp-bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Minimum LSP Bandwidth. Units in bytes per second";
}
leaf interface-mtu {
type uint16;
description
"Interface MTU";
}
}
container time-division-multiplex-capable {
when "../switching-capability = TDM" {
description "Valid only for TDM";
}
description
"Interface has time-division multiplex capabilities";
Liu, et al Expires April 27, 2015 [Page 13]
Internet-Draft YANG - TED October 2014
leaf minimum-lsp-bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Minimum LSP Bandwidth. Units in bytes per second";
}
leaf indication {
type enumeration {
enum "standard" {
description "Indicates support of standard SONET/SDH";
}
enum "arbitrary" {
description "Indicates support of arbitrary
SONET/SDH";
}
}
description
"Indication whether the interface supports Standard or
Arbitrary SONET/SDH";
}
}
}
container srlg {
description
"Shared Risk Link Group Attributes";
uses srlg-attributes;
}
}
grouping ted-link-attributes {
description
"TED Attributes associated with the link.";
reference
"RFC 3630, RFC 3784: IS-IS / OSPF Traffic Engineering (TE)";
leaf admin-status {
type enumeration {
enum up {
value 1;
description
"Enabled.";
}
enum down {
value 2;
description
"Disabled.";
Liu, et al Expires April 27, 2015 [Page 14]
Internet-Draft YANG - TED October 2014
}
enum testing {
value 3;
description
"In some test mode.";
}
}
description
"The desired state of the link.";
}
leaf oper-status {
type enumeration {
enum up {
value 1;
description
"Operational up";
}
enum down {
value 2;
description
"Operational down.";
}
enum testing {
value 3;
description
"In some test mode";
}
enum unknown {
value 4;
description
"Status cannot be determined for some reason.";
}
}
description
"The current operational state of the link.";
}
leaf area-id {
type binary {
length 1..13;
}
description
"This object indicates the area identifier of the IGP.
If OSPF is used to advertise LSA, this represents an
ospfArea. If IS-IS is used, this represents an area address.
Otherwise, this is zero.";
}
Liu, et al Expires April 27, 2015 [Page 15]
Internet-Draft YANG - TED October 2014
uses ted-link-info-attributes;
list alt-information-sources {
key "information-source";
description
"A list of information sources";
uses ted-link-info-attributes;
}
}
grouping srlg-attributes {
description
"Shared Risk Link Group Attributes";
reference
"RFC 5307, RFC 4203: ISIS / OSPF Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS)";
list srlg-values {
key "srlg-value";
description
"List of Shared Risk Link Group this interface belongs to.";
leaf srlg-value {
type uint32;
description
"Shared Risk Link Group value";
}
}
}
}
4. Security Considerations
The YANG module by itself does not create any security implications.
5. IANA Considerations
TBD
6. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6020] Bjorklund, M., "YANG - A Data Modeling language for the
Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010.
[RFC6021] Schoenwaelder, J., "Common YANG Data Types", RFC 6021,
October 2010.
Liu, et al Expires April 27, 2015 [Page 16]
Internet-Draft YANG - TED October 2014
7. Acknowledgments
The authors of this draft would like to thank the
authors/contributors of <draft-clemm-i2rs-yang-network-topo> for
laying the foundation for Topology specific YANG modules.
Authors' Addresses
Xufeng Liu
Ericsson
Xufeng.liu@ericsson.com
Vishnu Pavan Beeram
Juniper Networks
Email: vbeeram@juniper.net
Alexander Clemm
Cisco
alex@cisco.com
Igor Bryskin
ADVA Optical Networking
Email: ibryskin@advaoptical.com
Aihua Guo
ADVA Optical Networking
Email: aguo@advaoptical.com
Liu, et al Expires April 27, 2015 [Page 17]