draft-ietf-teas-yang-te-types-04.txt | draft-ietf-teas-yang-te-types-05.txt | |||
---|---|---|---|---|
TEAS Working Group T. Saad | TEAS Working Group T. Saad | |||
Internet-Draft R. Gandhi | Internet-Draft R. Gandhi | |||
Intended status: Standards Track Cisco Systems Inc | Intended status: Standards Track Cisco Systems Inc | |||
Expires: August 3, 2019 X. Liu | Expires: August 4, 2019 X. Liu | |||
Volta Networks | Volta Networks | |||
V. Beeram | V. Beeram | |||
Juniper Networks | Juniper Networks | |||
I. Bryskin | I. Bryskin | |||
Huawei Technologies | Huawei Technologies | |||
January 30, 2019 | January 31, 2019 | |||
Traffic Engineering Common YANG Types | Traffic Engineering Common YANG Types | |||
draft-ietf-teas-yang-te-types-04 | draft-ietf-teas-yang-te-types-05 | |||
Abstract | Abstract | |||
This document defines a collection of common data types and groupings | This document defines a collection of common data types and groupings | |||
in YANG data modeling language. These derived common types and | in YANG data modeling language. These derived common types and | |||
groupings are intended to be imported by modules that model Traffic | groupings are intended to be imported by modules that model Traffic | |||
Engineering (TE) configuration and state capabilities. | Engineering (TE) configuration and state capabilities. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 39 ¶ | skipping to change at page 1, line 39 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on August 3, 2019. | This Internet-Draft will expire on August 4, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 10, line 20 ¶ | skipping to change at page 10, line 20 ¶ | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
// RFC Ed.: replace XXXX with actual RFC number and remove this | // RFC Ed.: replace XXXX with actual RFC number and remove this | |||
// note. | // note. | |||
// RFC Ed.: update the date below with the date of RFC publication | // RFC Ed.: update the date below with the date of RFC publication | |||
// and remove this note. | // and remove this note. | |||
revision "2019-01-10" { | revision "2019-01-30" { | |||
description "Latest revision of TE types"; | description "Latest revision of TE types"; | |||
reference | reference | |||
"RFC XXXX: A YANG Data Model for Common Traffic Engineering | "RFC XXXX: A YANG Data Model for Common Traffic Engineering | |||
Types"; | Types"; | |||
} | } | |||
/** | /** | |||
* Typedefs | * Typedefs | |||
*/ | */ | |||
typedef admin-group { | typedef admin-group { | |||
skipping to change at page 54, line 9 ¶ | skipping to change at page 54, line 9 ¶ | |||
} | } | |||
} | } | |||
grouping record-route_state { | grouping record-route_state { | |||
description | description | |||
"The record route grouping"; | "The record route grouping"; | |||
leaf index { | leaf index { | |||
type uint32; | type uint32; | |||
description | description | |||
"Record route hop index. The index is used to | "Record route hop index. The index is used to | |||
identify an entry in the list. A lower index | identify an entry in the list. The order of entries | |||
indicates the path traverses it earlier"; | is defined by the user without relying on key values"; | |||
} | } | |||
choice type { | choice type { | |||
description | description | |||
"The record route entry type"; | "The record route entry type"; | |||
case numbered-node-hop { | case numbered-node-hop { | |||
container numbered-node-hop { | container numbered-node-hop { | |||
description "Numbered node route hop container"; | description "Numbered node route hop container"; | |||
leaf node-id { | leaf node-id { | |||
type te-node-id; | type te-node-id; | |||
mandatory true; | mandatory true; | |||
skipping to change at page 57, line 43 ¶ | skipping to change at page 57, line 43 ¶ | |||
this attribute is used to specify the positions | this attribute is used to specify the positions | |||
of the used labels. This is represented in big-endian as | of the used labels. This is represented in big-endian as | |||
hex-string. | hex-string. | |||
Each bit-position in the range-bitmap hex-string maps to a | Each bit-position in the range-bitmap hex-string maps to a | |||
label in the range derived from the label-start. | label in the range derived from the label-start. | |||
For example, assuming label-start=16000 and range-bitmap=0x01000001, | For example, assuming label-start=16000 and range-bitmap=0x01000001, | |||
then: | then: | |||
- bit-position(0) is set, and the corresponding mapped label | - bit-position(0) is set, and the corresponding mapped label | |||
from the range is: 16000 + 0 or 16000. | from the range is: 16000 + (0 * label-step) or | |||
16000 for default label-step=1. | ||||
- bit-position(24) is set, and the corresponding mapped label | - bit-position(24) is set, and the corresponding mapped label | |||
from ihe ranage is: 16000 + 24 or 16024"; | from ihe ranage is: 16000 + (24 * label-step) or | |||
16024 for defautl label-step=1"; | ||||
} | } | |||
} | } | |||
grouping label-set-info { | grouping label-set-info { | |||
description | description | |||
"Grouping for List of label restrictions specifying what labels | "Grouping for List of label restrictions specifying what labels | |||
may or may not be used on a link connectivity."; | may or may not be used on a link connectivity."; | |||
container label-restrictions { | container label-restrictions { | |||
description | description | |||
"The label restrictions container"; | "The label restrictions container"; | |||
skipping to change at page 60, line 29 ¶ | skipping to change at page 60, line 33 ¶ | |||
list route-object-exclude-always { | list route-object-exclude-always { | |||
key index; | key index; | |||
ordered-by user; | ordered-by user; | |||
description | description | |||
"List of route objects to always exclude | "List of route objects to always exclude | |||
from path computation"; | from path computation"; | |||
leaf index { | leaf index { | |||
type uint32; | type uint32; | |||
description | description | |||
"Explicit route object index. The index is used to | "Explicit route object index. The index is used to | |||
identify an entry in the list. A lower index indicates | identify an entry in the list. The order of entries | |||
the path traverses it earlier"; | is defined by the user without relying on key values"; | |||
} | } | |||
uses explicit-route-hop; | uses explicit-route-hop; | |||
} | } | |||
list route-object-include-exclude { | list route-object-include-exclude { | |||
key index; | key index; | |||
ordered-by user; | ordered-by user; | |||
description | description | |||
"List of route objects to include or exclude in path | "List of route objects to include or exclude in path | |||
computation"; | computation"; | |||
leaf explicit-route-usage { | leaf explicit-route-usage { | |||
type identityref { | type identityref { | |||
base route-usage-type; | base route-usage-type; | |||
} | } | |||
default te-types:route-include-object; | default te-types:route-include-object; | |||
description | description | |||
"Include or exclude usage. Default is to include"; | "Include or exclude usage. Default is to include"; | |||
} | } | |||
leaf index { | leaf index { | |||
type uint32; | type uint32; | |||
description | description | |||
"Route object entry index. A lower index indicates | "Route object include-exclude index. The index is used to | |||
path traverses the hop earlier than the higher index | identify an entry in the list. The order of entries | |||
hop(s)"; | is defined by the user without relying on key values"; | |||
} | } | |||
uses explicit-route-hop { | uses explicit-route-hop { | |||
augment "type" { | augment "type" { | |||
case srlg { | case srlg { | |||
container srlg { | container srlg { | |||
description "SRLG container"; | description "SRLG container"; | |||
leaf srlg { | leaf srlg { | |||
type uint32; | type uint32; | |||
description "SRLG value"; | description "SRLG value"; | |||
} | } | |||
skipping to change at page 61, line 41 ¶ | skipping to change at page 61, line 45 ¶ | |||
the path computation."; | the path computation."; | |||
list route-object-include-object { | list route-object-include-object { | |||
key index; | key index; | |||
ordered-by user; | ordered-by user; | |||
description | description | |||
"List of explicit route objects to be included | "List of explicit route objects to be included | |||
in path computation"; | in path computation"; | |||
leaf index { | leaf index { | |||
type uint32; | type uint32; | |||
description | description | |||
"Route object entry index. A lower index indicates | "Route object entry index. The index is used to | |||
path traverses the hop earlier than the higher index | identify an entry in the list. The order of entries | |||
hop(s)"; | is defined by the user without relying on key values"; | |||
} | } | |||
uses explicit-route-hop; | uses explicit-route-hop; | |||
} | } | |||
} | } | |||
grouping path-route-exclude-objects { | grouping path-route-exclude-objects { | |||
description | description | |||
"List of route object(s) to be excluded when performing | "List of route object(s) to be excluded when performing | |||
the path computation."; | the path computation."; | |||
list route-object-exclude-object { | list route-object-exclude-object { | |||
key index; | key index; | |||
ordered-by user; | ordered-by user; | |||
description | description | |||
"List of explicit route objects to be excluded | "List of explicit route objects to be excluded | |||
in path computation"; | in path computation"; | |||
skipping to change at page 67, line 42 ¶ | skipping to change at page 67, line 46 ¶ | |||
the computation engine or actually used by an LSP"; | the computation engine or actually used by an LSP"; | |||
list path-route-object { | list path-route-object { | |||
key index; | key index; | |||
ordered-by user; | ordered-by user; | |||
description | description | |||
"List of route objects either returned by the computation | "List of route objects either returned by the computation | |||
engine or actually used by an LSP"; | engine or actually used by an LSP"; | |||
leaf index { | leaf index { | |||
type uint32; | type uint32; | |||
description | description | |||
"Route object entry index. A lower index indicates | "Route object entry index. The index is used to | |||
path traverses the hop earlier than the higher index | identify an entry in the list. The order of entries | |||
hop(s)"; | is defined by the user without relying on key values"; | |||
} | } | |||
uses explicit-route-hop; | uses explicit-route-hop; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
Figure 1: TE basic types YANG module | Figure 1: TE basic types YANG module | |||
5. IETF Packet TE Types YANG Module | 5. IETF Packet TE Types YANG Module | |||
<CODE BEGINS> file "ietf-te-packet-types@2019-01-10.yang" | <CODE BEGINS> file "ietf-te-packet-types@2019-01-10.yang" | |||
skipping to change at page 69, line 35 ¶ | skipping to change at page 69, line 38 ¶ | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
// RFC Ed.: replace XXXX with actual RFC number and remove this | // RFC Ed.: replace XXXX with actual RFC number and remove this | |||
// note. | // note. | |||
// RFC Ed.: update the date below with the date of RFC publication | // RFC Ed.: update the date below with the date of RFC publication | |||
// and remove this note. | // and remove this note. | |||
revision "2019-01-10" { | revision "2019-01-30" { | |||
description "Latest revision of TE MPLS types"; | description "Latest revision of TE MPLS types"; | |||
reference | reference | |||
"RFC XXXX: A YANG Data Model for Common Traffic Engineering | "RFC XXXX: A YANG Data Model for Common Traffic Engineering | |||
Types"; | Types"; | |||
} | } | |||
/** | /** | |||
* Typedefs | * Typedefs | |||
*/ | */ | |||
typedef te-bandwidth-requested-type { | typedef te-bandwidth-requested-type { | |||
End of changes. 15 change blocks. | ||||
22 lines changed or deleted | 24 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |