< draft-ietf-teas-te-service-mapping-yang-06.txt   draft-ietf-teas-te-service-mapping-yang-07.txt >
TEAS Working Group Y. Lee, Ed. TEAS Working Group Y. Lee, Ed.
Internet-Draft Samsung Electronics Internet-Draft Samsung Electronics
Intended status: Standards Track D. Dhody, Ed. Intended status: Standards Track D. Dhody, Ed.
Expires: August 24, 2021 G. Fioccola Expires: August 25, 2021 G. Fioccola
Q. Wu, Ed. Q. Wu, Ed.
Huawei Technologies Huawei Technologies
D. Ceccarelli D. Ceccarelli
Ericsson Ericsson
J. Tantsura J. Tantsura
Apstra Apstra
February 20, 2021 February 21, 2021
Traffic Engineering (TE) and Service Mapping Yang Model Traffic Engineering (TE) and Service Mapping Yang Model
draft-ietf-teas-te-service-mapping-yang-06 draft-ietf-teas-te-service-mapping-yang-07
Abstract Abstract
This document provides a YANG data model to map customer service This document provides a YANG data model to map customer service
models (e.g., the L3VPN Service Model (L3SM)) to Traffic Engineering models (e.g., the L3VPN Service Model (L3SM)) to Traffic Engineering
(TE) models (e.g., the TE Tunnel or the Virtual Network (VN) model). (TE) models (e.g., the TE Tunnel or the Virtual Network (VN) model).
This model is referred to as TE Service Mapping Model and is This model is referred to as TE Service Mapping Model and is
applicable generically to the operator's need for seamless control applicable generically to the operator's need for seamless control
and management of their VPN services with TE tunnel support. and management of their VPN services with TE tunnel support.
skipping to change at page 1, line 46 skipping to change at page 1, line 46
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 24, 2021. This Internet-Draft will expire on August 25, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 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 2, line 43 skipping to change at page 2, line 43
3.2. TE and Network Models . . . . . . . . . . . . . . . . . . 9 3.2. TE and Network Models . . . . . . . . . . . . . . . . . . 9
4. L3VPN Architecture in the ACTN Context . . . . . . . . . . . 10 4. L3VPN Architecture in the ACTN Context . . . . . . . . . . . 10
4.1. Service Mapping . . . . . . . . . . . . . . . . . . . . . 13 4.1. Service Mapping . . . . . . . . . . . . . . . . . . . . . 13
4.2. Site Mapping . . . . . . . . . . . . . . . . . . . . . . 13 4.2. Site Mapping . . . . . . . . . . . . . . . . . . . . . . 13
5. Applicability of TE-Service Mapping in Generic context . . . 14 5. Applicability of TE-Service Mapping in Generic context . . . 14
6. YANG Data Trees . . . . . . . . . . . . . . . . . . . . . . . 14 6. YANG Data Trees . . . . . . . . . . . . . . . . . . . . . . . 14
6.1. Service Mapping Types . . . . . . . . . . . . . . . . . . 14 6.1. Service Mapping Types . . . . . . . . . . . . . . . . . . 14
6.2. Service Models . . . . . . . . . . . . . . . . . . . . . 16 6.2. Service Models . . . . . . . . . . . . . . . . . . . . . 16
6.2.1. L3SM . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.1. L3SM . . . . . . . . . . . . . . . . . . . . . . . . 16
6.2.2. L2SM . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.2. L2SM . . . . . . . . . . . . . . . . . . . . . . . . 17
6.2.3. L1CSM . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.3. L1CSM . . . . . . . . . . . . . . . . . . . . . . . . 18
6.3. Network Models . . . . . . . . . . . . . . . . . . . . . 18 6.3. Network Models . . . . . . . . . . . . . . . . . . . . . 19
6.3.1. L3NM . . . . . . . . . . . . . . . . . . . . . . . . 18 6.3.1. L3NM . . . . . . . . . . . . . . . . . . . . . . . . 19
6.3.2. L2NM . . . . . . . . . . . . . . . . . . . . . . . . 19 6.3.2. L2NM . . . . . . . . . . . . . . . . . . . . . . . . 20
7. YANG Data Models . . . . . . . . . . . . . . . . . . . . . . 20 7. YANG Data Models . . . . . . . . . . . . . . . . . . . . . . 21
7.1. ietf-te-service-mapping-types . . . . . . . . . . . . . . 20 7.1. ietf-te-service-mapping-types . . . . . . . . . . . . . . 21
7.2. Service Models . . . . . . . . . . . . . . . . . . . . . 30 7.2. Service Models . . . . . . . . . . . . . . . . . . . . . 31
7.2.1. ietf-l3sm-te-service-mapping . . . . . . . . . . . . 30 7.2.1. ietf-l3sm-te-service-mapping . . . . . . . . . . . . 31
7.2.2. ietf-l2sm-te-service-mapping . . . . . . . . . . . . 32 7.2.2. ietf-l2sm-te-service-mapping . . . . . . . . . . . . 33
7.2.3. ietf-l1csm-te-service-mapping . . . . . . . . . . . . 34 7.2.3. ietf-l1csm-te-service-mapping . . . . . . . . . . . . 36
7.3. Network Models . . . . . . . . . . . . . . . . . . . . . 36 7.3. Network Models . . . . . . . . . . . . . . . . . . . . . 38
7.3.1. ietf-l3nm-te-service-mapping . . . . . . . . . . . . 36 7.3.1. ietf-l3nm-te-service-mapping . . . . . . . . . . . . 38
7.3.2. ietf-l2nm-te-service-mapping . . . . . . . . . . . . 38 7.3.2. ietf-l2nm-te-service-mapping . . . . . . . . . . . . 40
8. Security Considerations . . . . . . . . . . . . . . . . . . . 40 8. Security Considerations . . . . . . . . . . . . . . . . . . . 42
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 43 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 45
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 43 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.1. Normative References . . . . . . . . . . . . . . . . . . 43 11.1. Normative References . . . . . . . . . . . . . . . . . . 45
11.2. Informative References . . . . . . . . . . . . . . . . . 46 11.2. Informative References . . . . . . . . . . . . . . . . . 48
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 47 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 49
Appendix B. Discussion . . . . . . . . . . . . . . . . . . . . . 49 Appendix B. Discussion . . . . . . . . . . . . . . . . . . . . . 51
Appendix C. Contributor Addresses . . . . . . . . . . . . . . . 49 Appendix C. Contributor Addresses . . . . . . . . . . . . . . . 51
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 50 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52
1. Introduction 1. Introduction
Data models are a representation of objects that can be configured or Data models are a representation of objects that can be configured or
monitored within a system. Within the IETF, YANG [RFC7950] is the monitored within a system. Within the IETF, YANG [RFC7950] is the
language of choice for documenting data models, and YANG models have language of choice for documenting data models, and YANG models have
been produced to allow configuration or modelling of a variety of been produced to allow configuration or modelling of a variety of
network devices, protocol instances, and network services. YANG data network devices, protocol instances, and network services. YANG data
models have been classified in [RFC8199] and [RFC8309]. models have been classified in [RFC8199] and [RFC8309].
skipping to change at page 16, line 9 skipping to change at page 16, line 9
| ... | ...
+--:(objective-function) +--:(objective-function)
{path-optimization-objective-function}? {path-optimization-objective-function}?
+--rw objective-function +--rw objective-function
+--rw objective-function-type? identityref +--rw objective-function-type? identityref
6.2. Service Models 6.2. Service Models
6.2.1. L3SM 6.2.1. L3SM
module: ietf-l3sm-te-service-mapping module: ietf-l3sm-te-service-mapping
augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:vpn-services augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:vpn-services
/l3vpn-svc:vpn-service: /l3vpn-svc:vpn-service:
+--rw te-service-mapping! +--rw te-service-mapping!
+--rw te-mapping +--rw te-mapping
+--rw map-type? identityref +--rw map-type? identityref
+--rw te-policy +--rw te-policy
| +--rw color? uint32 | +--rw color? uint32
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw availability-type? identityref | +--rw availability-type? identityref
+--rw (te)? +--rw (te)?
| +--:(vn) | +--:(vn)
| | +--rw vn* -> /vn:vn/vn/vn-id | | +--rw vn* -> /vn:vn/vn/vn-id
| +--:(te-topo) | +--:(te-topo)
| | +--rw vn-topology-id? te-types:te-topology-id | | +--rw vn-topology-id? te-types:te-topology-id
| | +--rw abstract-node? | | +--rw abstract-node?
| | -> /nw:networks/network/node/node-id | | -> /nw:networks/network/node/node-id
| +--:(te-tunnel) | +--:(te-tunnel)
| +--rw te-tunnel* te:tunnel-ref | +--rw te-tunnel* te:tunnel-ref
| +--rw sr-policy* | +--rw sr-policy*
| [policy-color-ref policy-endpoint-ref] | [policy-color-ref policy-endpoint-ref]
| {sr-policy}? | {sr-policy}?
| +--rw policy-color-ref leafref | +--rw policy-color-ref leafref
| +--rw policy-endpoint-ref leafref | +--rw policy-endpoint-ref leafref
+--rw te-mapping-template-ref? +--rw te-mapping-template-ref?
-> /te-mapping-templates/te-mapping-template/id -> /tsmt:te-mapping-templates/te-mapping-template/id
{template}? {template}?
augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site
/l3vpn-svc:site-network-accesses /l3vpn-svc:site-network-accesses
/l3vpn-svc:site-network-access: /l3vpn-svc:site-network-access:
+--rw (te)? +--rw (te)?
+--:(vn) +--:(vn)
| +--rw ap* -> /vn:ap/ap/ap-id | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te) +--:(te)
+--rw ltp? te-types:te-tp-id +--rw ltp? te-types:te-tp-id
augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site
/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile /l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile
/l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes /l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes
/l3vpn-svc:class: /l3vpn-svc:class:
+--rw vnap? -> /vn:ap/ap/vn-ap/vn-ap-id +--rw (te)?
+--:(vn)
| +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te)
+--rw ltp? te-types:te-tp-id
augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site
/l3vpn-svc:site-network-accesses
/l3vpn-svc:site-network-access/l3vpn-svc:service
/l3vpn-svc:qos/l3vpn-svc:qos-profile
/l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes
/l3vpn-svc:class:
+--rw (te)?
+--:(vn)
| +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te)
+--rw ltp? te-types:te-tp-id
6.2.2. L2SM 6.2.2. L2SM
module: ietf-l2sm-te-service-mapping module: ietf-l2sm-te-service-mapping
augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services
/l2vpn-svc:vpn-service: /l2vpn-svc:vpn-service:
+--rw te-service-mapping! +--rw te-service-mapping!
+--rw te-mapping +--rw te-mapping
+--rw map-type? identityref +--rw map-type? identityref
+--rw te-policy +--rw te-policy
| +--rw color? uint32 | +--rw color? uint32
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw availability-type? identityref | +--rw availability-type? identityref
+--rw (te)? +--rw (te)?
| +--:(vn) | +--:(vn)
| | +--rw vn* -> /vn:vn/vn/vn-id | | +--rw vn* -> /vn:vn/vn/vn-id
| +--:(te-topo) | +--:(te-topo)
| | +--rw vn-topology-id? te-types:te-topology-id | | +--rw vn-topology-id? te-types:te-topology-id
| | +--rw abstract-node? | | +--rw abstract-node?
| | -> /nw:networks/network/node/node-id | | -> /nw:networks/network/node/node-id
| +--:(te-tunnel) | +--:(te-tunnel)
| +--rw te-tunnel* te:tunnel-ref | +--rw te-tunnel* te:tunnel-ref
| +--rw sr-policy* | +--rw sr-policy*
| [policy-color-ref policy-endpoint-ref] | [policy-color-ref policy-endpoint-ref]
| {sr-policy}? | {sr-policy}?
| +--rw policy-color-ref leafref | +--rw policy-color-ref leafref
| +--rw policy-endpoint-ref leafref | +--rw policy-endpoint-ref leafref
+--rw te-mapping-template-ref? +--rw te-mapping-template-ref?
-> /te-mapping-templates/te-mapping-template/id -> /tsmt:te-mapping-templates/te-mapping-template/id
{template}? {template}?
augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site
/l2vpn-svc:site-network-accesses /l2vpn-svc:site-network-accesses
/l2vpn-svc:site-network-access: /l2vpn-svc:site-network-access:
+--rw (te)? +--rw (te)?
+--:(vn) +--:(vn)
| +--rw ap* -> /vn:ap/ap/ap-id | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te) +--:(te)
+--rw ltp? te-types:te-tp-id +--rw ltp? te-types:te-tp-id
augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site
/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile /l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile
/l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes /l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes
/l2vpn-svc:class: /l2vpn-svc:class:
+--rw vnap? -> /vn:ap/ap/vn-ap/vn-ap-id +--rw (te)?
+--:(vn)
| +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te)
+--rw ltp? te-types:te-tp-id
augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site
/l2vpn-svc:site-network-accesses
/l2vpn-svc:site-network-access/l2vpn-svc:service
/l2vpn-svc:qos/l2vpn-svc:qos-profile
/l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes
/l2vpn-svc:class:
+--rw (te)?
+--:(vn)
| +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te)
+--rw ltp? te-types:te-tp-id
6.2.3. L1CSM 6.2.3. L1CSM
module: ietf-l1csm-te-service-mapping module: ietf-l1csm-te-service-mapping
augment /l1csm:l1-connectivity/l1csm:services/l1csm:service: augment /l1csm:l1-connectivity/l1csm:services/l1csm:service:
+--rw te-service-mapping! +--rw te-service-mapping!
+--rw te-mapping +--rw te-mapping
+--rw map-type? identityref +--rw map-type? identityref
+--rw te-policy +--rw te-policy
| +--rw color? uint32 | +--rw color? uint32
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw availability-type? identityref | +--rw availability-type? identityref
+--rw (te)? +--rw (te)?
| +--:(vn) | +--:(vn)
| | +--rw vn* -> /vn:vn/vn/vn-id | | +--rw vn* -> /vn:vn/vn/vn-id
| +--:(te-topo) | +--:(te-topo)
| | +--rw vn-topology-id? te-types:te-topology-id | | +--rw vn-topology-id? te-types:te-topology-id
| | +--rw abstract-node? | | +--rw abstract-node?
| | -> /nw:networks/network/node/node-id | | -> /nw:networks/network/node/node-id
| +--:(te-tunnel) | +--:(te-tunnel)
| +--rw te-tunnel* te:tunnel-ref | +--rw te-tunnel* te:tunnel-ref
| +--rw sr-policy* | +--rw sr-policy*
| [policy-color-ref policy-endpoint-ref] | [policy-color-ref policy-endpoint-ref]
| {sr-policy}? | {sr-policy}?
| +--rw policy-color-ref leafref | +--rw policy-color-ref leafref
| +--rw policy-endpoint-ref leafref | +--rw policy-endpoint-ref leafref
+--rw te-mapping-template-ref? +--rw te-mapping-template-ref?
-> /te-mapping-templates/te-mapping-template/id -> /tsmt:te-mapping-templates/te-mapping-template/id
{template}? {template}?
augment /l1csm:l1-connectivity/l1csm:access/l1csm:unis/l1csm:uni: augment /l1csm:l1-connectivity/l1csm:access/l1csm:unis/l1csm:uni:
+--rw (te)? +--rw (te)?
+--:(vn) +--:(vn)
| +--rw ap* -> /vn:ap/ap/ap-id | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te) +--:(te)
+--rw ltp? te-types:te-tp-id +--rw ltp? te-types:te-tp-id
6.3. Network Models 6.3. Network Models
6.3.1. L3NM 6.3.1. L3NM
module: ietf-l3nm-te-service-mapping module: ietf-l3nm-te-service-mapping
augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services
/l3vpn-ntw:vpn-service: /l3vpn-ntw:vpn-service:
+--rw te-service-mapping! +--rw te-service-mapping!
+--rw te-mapping +--rw te-mapping
+--rw map-type? identityref +--rw map-type? identityref
+--rw te-policy +--rw te-policy
| +--rw color? uint32 | +--rw color? uint32
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw availability-type? identityref | +--rw availability-type? identityref
+--rw (te)? +--rw (te)?
| +--:(vn) | +--:(vn)
| | +--rw vn* -> /vn:vn/vn/vn-id | | +--rw vn* -> /vn:vn/vn/vn-id
| +--:(te-topo) | +--:(te-topo)
| | +--rw vn-topology-id? te-types:te-topology-id | | +--rw vn-topology-id? te-types:te-topology-id
| | +--rw abstract-node? | | +--rw abstract-node?
| | -> /nw:networks/network/node/node-id | | -> /nw:networks/network/node/node-id
| +--:(te-tunnel) | +--:(te-tunnel)
| +--rw te-tunnel* te:tunnel-ref | +--rw te-tunnel* te:tunnel-ref
| +--rw sr-policy* | +--rw sr-policy*
| [policy-color-ref policy-endpoint-ref] | [policy-color-ref policy-endpoint-ref]
| {sr-policy}? | {sr-policy}?
| +--rw policy-color-ref leafref | +--rw policy-color-ref leafref
| +--rw policy-endpoint-ref leafref | +--rw policy-endpoint-ref leafref
+--rw te-mapping-template-ref? +--rw te-mapping-template-ref?
-> /te-mapping-templates/te-mapping-template/id -> /tsmt:te-mapping-templates/te-mapping-template/id
{template}? {template}?
augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services
/l3vpn-ntw:vpn-service/l3vpn-ntw:vpn-nodes /l3vpn-ntw:vpn-service/l3vpn-ntw:vpn-nodes
/l3vpn-ntw:vpn-node/l3vpn-ntw:vpn-network-accesses /l3vpn-ntw:vpn-node/l3vpn-ntw:vpn-network-accesses
/l3vpn-ntw:vpn-network-access: /l3vpn-ntw:vpn-network-access:
+--rw (te)? +--rw (te)?
+--:(vn) +--:(vn)
| +--rw ap* -> /vn:ap/ap/ap-id | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te) +--:(te)
+--rw ltp? te-types:te-tp-id +--rw ltp? te-types:te-tp-id
6.3.2. L2NM 6.3.2. L2NM
module: ietf-l2nm-te-service-mapping module: ietf-l2nm-te-service-mapping
augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services
/l2vpn-ntw:vpn-service: /l2vpn-ntw:vpn-service:
+--rw te-service-mapping! +--rw te-service-mapping!
+--rw te-mapping +--rw te-mapping
+--rw map-type? identityref +--rw map-type? identityref
+--rw te-policy +--rw te-policy
| +--rw color? uint32 | +--rw color? uint32
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw availability-type? identityref | +--rw availability-type? identityref
+--rw (te)? +--rw (te)?
| +--:(vn) | +--:(vn)
| | +--rw vn* -> /vn:vn/vn/vn-id | | +--rw vn* -> /vn:vn/vn/vn-id
| +--:(te-topo) | +--:(te-topo)
| | +--rw vn-topology-id? te-types:te-topology-id | | +--rw vn-topology-id? te-types:te-topology-id
| | +--rw abstract-node? | | +--rw abstract-node?
| | -> /nw:networks/network/node/node-id | | -> /nw:networks/network/node/node-id
| +--:(te-tunnel) | +--:(te-tunnel)
| +--rw te-tunnel* te:tunnel-ref | +--rw te-tunnel* te:tunnel-ref
| +--rw sr-policy* | +--rw sr-policy*
| [policy-color-ref policy-endpoint-ref] | [policy-color-ref policy-endpoint-ref]
| {sr-policy}? | {sr-policy}?
| +--rw policy-color-ref leafref | +--rw policy-color-ref leafref
| +--rw policy-endpoint-ref leafref | +--rw policy-endpoint-ref leafref
+--rw te-mapping-template-ref? +--rw te-mapping-template-ref?
-> /te-mapping-templates/te-mapping-template/id -> /tsmt:te-mapping-templates/te-mapping-template/id
{template}? {template}?
augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services
/l2vpn-ntw:vpn-service/l2vpn-ntw:vpn-nodes /l2vpn-ntw:vpn-service/l2vpn-ntw:vpn-nodes
/l2vpn-ntw:vpn-node/l2vpn-ntw:vpn-network-accesses /l2vpn-ntw:vpn-node/l2vpn-ntw:vpn-network-accesses
/l2vpn-ntw:vpn-network-access: /l2vpn-ntw:vpn-network-access:
+--rw (te)? +--rw (te)?
+--:(vn) +--:(vn)
| +--rw ap* -> /vn:ap/ap/ap-id | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id
+--:(te) +--:(te)
+--rw ltp? te-types:te-tp-id +--rw ltp? te-types:te-tp-id
7. YANG Data Models 7. YANG Data Models
The YANG codes are as follows: The YANG codes are as follows:
7.1. ietf-te-service-mapping-types 7.1. ietf-te-service-mapping-types
<CODE BEGINS> file "ietf-te-service-mapping-types@2021-02-20.yang" <CODE BEGINS> file "ietf-te-service-mapping-types@2021-02-22.yang"
module ietf-te-service-mapping-types { module ietf-te-service-mapping-types {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types"; "urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types";
prefix tsmt; prefix tsmt;
/* Import te-types */ /* Import te-types */
import ietf-te-types { import ietf-te-types {
skipping to change at page 22, line 45 skipping to change at page 23, line 45
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices. RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2021-02-20 { revision 2021-02-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
/* /*
* Features * Features
*/ */
feature template { feature template {
skipping to change at page 27, line 33 skipping to change at page 28, line 33
//grouping //grouping
grouping te-endpoint-ref { grouping te-endpoint-ref {
description description
"The reference to TE endpoints."; "The reference to TE endpoints.";
choice te { choice te {
description description
"How the TE endpoint is defined by VN's AP or TE's LTP"; "How the TE endpoint is defined by VN's AP or TE's LTP";
case vn { case vn {
leaf-list ap { leaf-list vn-ap {
type leafref { type leafref {
path "/vn:ap/vn:ap/vn:ap-id"; path "/vn:ap/vn:ap/vn:vn-ap/vn:vn-ap-id";
} }
description description
"The reference to VN's AP"; "The reference to VNAP";
reference reference
"RFC 8453: Framework for Abstraction and Control of TE "RFC 8453: Framework for Abstraction and Control of TE
Networks (ACTN)"; Networks (ACTN)";
} }
} }
case te { case te {
leaf ltp { leaf ltp {
type te-types:te-tp-id; type te-types:te-tp-id;
description description
"Reference LTP in the TE-topology"; "Reference LTP in the TE-topology";
skipping to change at page 28, line 12 skipping to change at page 29, line 12
"RFC 8795: YANG Data Model for Traffic Engineering (TE) "RFC 8795: YANG Data Model for Traffic Engineering (TE)
Topologies"; Topologies";
} }
} }
} }
} }
//grouping //grouping
grouping vnap-ref {
description
"The reference to VNAP.";
leaf vnap {
type leafref {
path "/vn:ap/vn:ap/vn:vn-ap/vn:vn-ap-id";
}
description
"The reference to VNAP";
reference
"RFC 8453: Framework for Abstraction and Control of TE
Networks (ACTN)";
}
}
//grouping
grouping te-policy { grouping te-policy {
description description
"Various underlying TE policy requirements"; "Various underlying TE policy requirements";
leaf color { leaf color {
type uint32; type uint32;
description description
"Maps to the underlying colored TE resources"; "Maps to the underlying colored TE resources";
} }
leaf protection-type { leaf protection-type {
type identityref { type identityref {
skipping to change at page 30, line 23 skipping to change at page 31, line 9
"List for templates."; "List for templates.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
7.2. Service Models 7.2. Service Models
7.2.1. ietf-l3sm-te-service-mapping 7.2.1. ietf-l3sm-te-service-mapping
<CODE BEGINS> file "ietf-l3sm-te-service-mapping@2021-02-20.yang" <CODE BEGINS> file "ietf-l3sm-te-service-mapping@2021-02-22.yang"
module ietf-l3sm-te-service-mapping { module ietf-l3sm-te-service-mapping {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-l3sm-te-service-mapping"; "urn:ietf:params:xml:ns:yang:ietf-l3sm-te-service-mapping";
prefix l3-tsm; prefix l3-tsm;
import ietf-te-service-mapping-types { import ietf-te-service-mapping-types {
prefix tsmt; prefix tsmt;
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
skipping to change at page 31, line 30 skipping to change at page 32, line 14
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices. RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2021-02-20 { revision 2021-02-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
/* /*
* Augmentation to L3SM * Augmentation to L3SM
*/ */
skipping to change at page 32, line 4 skipping to change at page 32, line 36
+ "/l3vpn-svc:vpn-service" { + "/l3vpn-svc:vpn-service" {
description description
"L3SM augmented to include TE parameters and mapping"; "L3SM augmented to include TE parameters and mapping";
container te-service-mapping { container te-service-mapping {
presence "Indicates L3 service to TE mapping"; presence "Indicates L3 service to TE mapping";
description description
"Container to augment l3sm to TE parameters and mapping"; "Container to augment l3sm to TE parameters and mapping";
uses tsmt:te-mapping; uses tsmt:te-mapping;
} }
} }
//augment //augment
augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site"
+ "/l3vpn-svc:site-network-accesses" + "/l3vpn-svc:site-network-accesses"
+ "/l3vpn-svc:site-network-access" { + "/l3vpn-svc:site-network-access" {
description description
"This augment is only valid for TE mapping of L3SM network-access "This augment is only valid for TE mapping of L3SM network-access
to TE endpoints"; to TE endpoints";
uses tsmt:te-endpoint-ref; uses tsmt:te-endpoint-ref;
} }
//augment //augment
augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site"
+ "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile" + "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile"
+ "/l3vpn-svc:qos-profile/l3vpn-svc:custom" + "/l3vpn-svc:qos-profile/l3vpn-svc:custom"
+ "/l3vpn-svc:classes/l3vpn-svc:class" { + "/l3vpn-svc:classes/l3vpn-svc:class" {
when './l3vpn-svc:bandwidth/l3vpn-svc:end-to-end' {
description
"applicable only with end-to-end";
}
description description
"This augment is only valid for the custom qos-profile with "This augment is for per-class in site for custom QoS profile";
end-to-end set"; uses tsmt:te-endpoint-ref;
uses tsmt:vnap-ref; }
augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site"
+ "/l3vpn-svc:site-network-accesses"
+ "/l3vpn-svc:site-network-access"
+ "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile"
+ "/l3vpn-svc:qos-profile/l3vpn-svc:custom"
+ "/l3vpn-svc:classes/l3vpn-svc:class" {
description
"This augment is for per-class in site-network-access for custom
QoS profile";
uses tsmt:te-endpoint-ref;
} }
} }
<CODE ENDS> <CODE ENDS>
7.2.2. ietf-l2sm-te-service-mapping 7.2.2. ietf-l2sm-te-service-mapping
<CODE BEGINS> file "ietf-l2sm-te-service-mapping@2021-02-20.yang" <CODE BEGINS> file "ietf-l2sm-te-service-mapping@2021-02-22.yang"
module ietf-l2sm-te-service-mapping { module ietf-l2sm-te-service-mapping {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-l2sm-te-service-mapping"; "urn:ietf:params:xml:ns:yang:ietf-l2sm-te-service-mapping";
prefix l2-tsm; prefix l2-tsm;
import ietf-te-service-mapping-types { import ietf-te-service-mapping-types {
prefix tsmt; prefix tsmt;
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
skipping to change at page 33, line 43 skipping to change at page 34, line 33
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices. RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2021-02-20 { revision 2021-02-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
/* /*
* Augmentation to L2SM * Augmentation to L2SM
*/ */
skipping to change at page 34, line 39 skipping to change at page 35, line 31
augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site"
+ "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile" + "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile"
+ "/l2vpn-svc:qos-profile/l2vpn-svc:custom" + "/l2vpn-svc:qos-profile/l2vpn-svc:custom"
+ "/l2vpn-svc:classes/l2vpn-svc:class" { + "/l2vpn-svc:classes/l2vpn-svc:class" {
when './l2vpn-svc:bandwidth/l2vpn-svc:end-to-end' { when './l2vpn-svc:bandwidth/l2vpn-svc:end-to-end' {
description description
"applicable only with end-to-end"; "applicable only with end-to-end";
} }
description description
"This augment is only valid for the custom qos-profile with "This augment is for per-class in site for custom QoS profile";
end-to-end set"; uses tsmt:te-endpoint-ref;
uses tsmt:vnap-ref; }
augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site"
+ "/l2vpn-svc:site-network-accesses"
+ "/l2vpn-svc:site-network-access"
+ "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile"
+ "/l2vpn-svc:qos-profile/l2vpn-svc:custom"
+ "/l2vpn-svc:classes/l2vpn-svc:class" {
description
"This augment is for per-class in site-network-access for custom
QoS profile";
uses tsmt:te-endpoint-ref;
} }
} }
<CODE ENDS> <CODE ENDS>
7.2.3. ietf-l1csm-te-service-mapping 7.2.3. ietf-l1csm-te-service-mapping
<CODE BEGINS> file "ietf-l1csm-te-service-mapping@2021-02-20.yang" <CODE BEGINS> file "ietf-l1csm-te-service-mapping@2021-02-22.yang"
module ietf-l1csm-te-service-mapping { module ietf-l1csm-te-service-mapping {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-l1csm-te-service-mapping"; "urn:ietf:params:xml:ns:yang:ietf-l1csm-te-service-mapping";
prefix l1-tsm; prefix l1-tsm;
import ietf-te-service-mapping-types { import ietf-te-service-mapping-types {
prefix tsmt; prefix tsmt;
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
import ietf-l1csm { import ietf-l1csm {
prefix l1csm; prefix l1csm;
reference reference
skipping to change at page 36, line 6 skipping to change at page 37, line 14
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices. RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2021-02-20 { revision 2021-02-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
/* /*
* Augmentation to L1CSM * Augmentation to L1CSM
*/ */
skipping to change at page 36, line 40 skipping to change at page 37, line 48
augment "/l1csm:l1-connectivity/l1csm:access/l1csm:unis/" augment "/l1csm:l1-connectivity/l1csm:access/l1csm:unis/"
+ "l1csm:uni" { + "l1csm:uni" {
description description
"This augment the L1CSM UNI with a reference "This augment the L1CSM UNI with a reference
to TE endpoints"; to TE endpoints";
uses tsmt:te-endpoint-ref; uses tsmt:te-endpoint-ref;
} }
//augment //augment
} }
<CODE ENDS> <CODE ENDS>
7.3. Network Models 7.3. Network Models
7.3.1. ietf-l3nm-te-service-mapping 7.3.1. ietf-l3nm-te-service-mapping
<CODE BEGINS> file "ietf-l3nm-te-service-mapping@202-02-20.yang" <CODE BEGINS> file "ietf-l3nm-te-service-mapping@202-02-22.yang"
module ietf-l3nm-te-service-mapping { module ietf-l3nm-te-service-mapping {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-l3nm-te-service-mapping"; "urn:ietf:params:xml:ns:yang:ietf-l3nm-te-service-mapping";
prefix l3nm-tsm; prefix l3nm-tsm;
import ietf-te-service-mapping-types { import ietf-te-service-mapping-types {
prefix tsmt; prefix tsmt;
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
import ietf-l3vpn-ntw { import ietf-l3vpn-ntw {
prefix l3vpn-ntw; prefix l3vpn-ntw;
reference reference
skipping to change at page 38, line 5 skipping to change at page 39, line 14
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices. RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2021-02-20 { revision 2021-02-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
/* /*
* Augmentation to L3NM * Augmentation to L3NM
*/ */
skipping to change at page 38, line 47 skipping to change at page 40, line 7
to TE endpoints when underlying TE is used"; to TE endpoints when underlying TE is used";
uses tsmt:te-endpoint-ref; uses tsmt:te-endpoint-ref;
} }
//augment //augment
} }
<CODE ENDS> <CODE ENDS>
7.3.2. ietf-l2nm-te-service-mapping 7.3.2. ietf-l2nm-te-service-mapping
<CODE BEGINS> file "ietf-l2nm-te-service-mapping@2021-02-20.yang" <CODE BEGINS> file "ietf-l2nm-te-service-mapping@2021-02-22.yang"
module ietf-l2nm-te-service-mapping { module ietf-l2nm-te-service-mapping {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-l2nm-te-service-mapping"; "urn:ietf:params:xml:ns:yang:ietf-l2nm-te-service-mapping";
prefix l2nm-tsm; prefix l2nm-tsm;
import ietf-te-service-mapping-types { import ietf-te-service-mapping-types {
prefix tsmt; prefix tsmt;
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
import ietf-l2vpn-ntw { import ietf-l2vpn-ntw {
prefix l2vpn-ntw; prefix l2vpn-ntw;
reference reference
"I-D.ietf-opsawg-l2nm: A Layer 2 VPN Network YANG Model"; "I-D.ietf-opsawg-l2nm: A Layer 2 VPN Network YANG Model";
} }
skipping to change at page 39, line 51 skipping to change at page 41, line 12
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices. RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2021-02-20 { revision 2021-02-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; "RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
} }
/* /*
* Augmentation to L2NM * Augmentation to L2NM
*/ */
 End of changes. 35 change blocks. 
256 lines changed or deleted 286 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/