< draft-chen-pce-pcep-ifit-01.txt   draft-chen-pce-pcep-ifit-02.txt >
PCE H. Chen PCE H. Chen
Internet-Draft China Telecom Internet-Draft China Telecom
Intended status: Standards Track H. Yuan Intended status: Standards Track H. Yuan
Expires: March 26, 2021 UnionPay Expires: August 13, 2021 UnionPay
T. Zhou T. Zhou
W. Li W. Li
G. Fioccola G. Fioccola
Y. Wang Y. Wang
Huawei Huawei
September 22, 2020 February 9, 2021
Path Computation Element Communication Protocol (PCEP) Extensions to Path Computation Element Communication Protocol (PCEP) Extensions to
Enable IFIT Enable IFIT
draft-chen-pce-pcep-ifit-01 draft-chen-pce-pcep-ifit-02
Abstract Abstract
This document defines PCEP extensions to distribute In-situ Flow This document defines PCEP extensions to distribute In-situ Flow
Information Telemetry (IFIT) information. So that IFIT behavior can Information Telemetry (IFIT) information. So that IFIT behavior can
be enabled automatically when the path is instantiated. In-situ Flow be enabled automatically when the path is instantiated. In-situ Flow
Information Telemetry (IFIT) refers to network OAM data plane on-path Information Telemetry (IFIT) refers to network OAM data plane on-path
telemetry techniques, in particular the most popular are In-situ OAM telemetry techniques, in particular the most popular are In-situ OAM
(IOAM) and Alternate Marking. The IFIT attributes here described can (IOAM) and Alternate Marking. The IFIT attributes here described can
be generalized for all path types but the application to Segment be generalized for all path types but the application to Segment
skipping to change at page 2, line 7 skipping to change at page 2, line 7
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 March 26, 2021. This Internet-Draft will expire on August 13, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. PCEP Extensions for IFIT Attributes . . . . . . . . . . . . . 4 2. PCEP Extensions for IFIT Attributes . . . . . . . . . . . . . 4
2.1. IFIT for SR Policies . . . . . . . . . . . . . . . . . . 4 2.1. IFIT for SR Policies . . . . . . . . . . . . . . . . . . 4
3. IFIT capability advertisement TLV . . . . . . . . . . . . . . 4 3. IFIT capability advertisement TLV . . . . . . . . . . . . . . 5
4. IFIT Attributes TLV . . . . . . . . . . . . . . . . . . . . . 7 4. IFIT Attributes TLV . . . . . . . . . . . . . . . . . . . . . 7
4.1. IOAM Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 8 4.1. IOAM Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 8
4.1.1. IOAM Pre-allocated Trace Option Sub-TLV . . . . . . . 8 4.1.1. IOAM Pre-allocated Trace Option Sub-TLV . . . . . . . 8
4.1.2. IOAM Incremental Trace Option Sub-TLV . . . . . . . . 9 4.1.2. IOAM Incremental Trace Option Sub-TLV . . . . . . . . 9
4.1.3. IOAM Directly Export Option Sub-TLV . . . . . . . . . 10 4.1.3. IOAM Directly Export Option Sub-TLV . . . . . . . . . 10
4.1.4. IOAM Edge-to-Edge Option Sub-TLV . . . . . . . . . . 11 4.1.4. IOAM Edge-to-Edge Option Sub-TLV . . . . . . . . . . 11
4.2. Enhanced Alternate Marking Sub-TLV . . . . . . . . . . . 12 4.2. Enhanced Alternate Marking Sub-TLV . . . . . . . . . . . 12
5. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 13 5. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1. The PCInitiate Message . . . . . . . . . . . . . . . . . 13 5.1. The PCInitiate Message . . . . . . . . . . . . . . . . . 13
5.2. The PCUpd Message . . . . . . . . . . . . . . . . . . . . 13 5.2. The PCUpd Message . . . . . . . . . . . . . . . . . . . . 13
5.3. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 13 5.3. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 13
6. Example of application to SR Policy . . . . . . . . . . . . . 14 6. Example of application to SR Policy . . . . . . . . . . . . . 14
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
11.1. Normative References . . . . . . . . . . . . . . . . . . 17 11.1. Normative References . . . . . . . . . . . . . . . . . . 17
11.2. Informative References . . . . . . . . . . . . . . . . . 19 11.2. Informative References . . . . . . . . . . . . . . . . . 19
Appendix A. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Appendix A. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
skipping to change at page 4, line 33 skipping to change at page 4, line 33
plane telemetry method. IFIT Attributes TLVs are optional and can be plane telemetry method. IFIT Attributes TLVs are optional and can be
taken into account by the PCE during path computation and by the PCC taken into account by the PCE during path computation and by the PCC
during path setup. In general, the LSPA object can be carried within during path setup. In general, the LSPA object can be carried within
a PCInitiate message, a PCUpd message, or a PCRpt message in the a PCInitiate message, a PCUpd message, or a PCRpt message in the
stateful PCE model. stateful PCE model.
In this document it is considered the case of SR Policy since IOAM In this document it is considered the case of SR Policy since IOAM
and Alternate Marking are more mature especially for Segment Routing and Alternate Marking are more mature especially for Segment Routing
(SR) and for IPv6. (SR) and for IPv6.
It is to be noted that, if it is needed to apply different IFIT
methods for each Segment List, the IFIT attributes can be added into
the PATH-ATTRIB object, instead of the LSPA object, according to
[I-D.koldychev-pce-multipath] that defines PCEP Extensions for
Signaling Multipath Information.
2.1. IFIT for SR Policies 2.1. IFIT for SR Policies
RFC 8664 [RFC8664] and [I-D.ietf-pce-segment-routing-ipv6] specify RFC 8664 [RFC8664] and [I-D.ietf-pce-segment-routing-ipv6] specify
extensions to the Path Computation Element Communication Protocol extensions to the Path Computation Element Communication Protocol
(PCEP) that allow a stateful PCE to compute and initiate Traffic- (PCEP) that allow a stateful PCE to compute and initiate Traffic-
Engineering (TE) paths, as well as a Path Computation Client (PCC) to Engineering (TE) paths, as well as a Path Computation Client (PCC) to
request a path subject to certain constraints and optimization request a path subject to certain constraints and optimization
criteria in SR networks both for SR-MPLS and SRv6. criteria in SR networks both for SR-MPLS and SRv6.
IFIT attibutes, here defined as TLVs for the LSPA object, complement IFIT attibutes, here defined as TLVs for the LSPA object, complement
skipping to change at page 9, line 36 skipping to change at page 9, line 36
[I-D.ietf-ippm-ioam-data]. [I-D.ietf-ippm-ioam-data].
IOAM Trace Type: A 24-bit identifier which specifies which data types IOAM Trace Type: A 24-bit identifier which specifies which data types
are used in the node data list. The definition is the same as are used in the node data list. The definition is the same as
described in section 4.4 of [I-D.ietf-ippm-ioam-data]. described in section 4.4 of [I-D.ietf-ippm-ioam-data].
Flags: A 4-bit field. The definition is the same as described in Flags: A 4-bit field. The definition is the same as described in
[I-D.ietf-ippm-ioam-flags] and section 4.4 of [I-D.ietf-ippm-ioam-flags] and section 4.4 of
[I-D.ietf-ippm-ioam-data]. [I-D.ietf-ippm-ioam-data].
Rsvd1: A 16-bit field reserved for further usage. It MUST be zero. Rsvd1: A 16-bit field reserved for further usage. It MUST be zero
and ignored on receipt.
Rsvd2: A 4-bit field reserved for further usage. It MUST be zero. Rsvd2: A 4-bit field reserved for further usage. It MUST be zero and
ignored on receipt.
4.1.2. IOAM Incremental Trace Option Sub-TLV 4.1.2. IOAM Incremental Trace Option Sub-TLV
The incremental tracing option contains a variable node data fields The incremental tracing option contains a variable node data fields
where each node allocates and pushes its node data immediately where each node allocates and pushes its node data immediately
following the option header. following the option header.
The format of IOAM incremental trace option Sub-TLV is defined as The format of IOAM incremental trace option Sub-TLV is defined as
follows: follows:
skipping to change at page 11, line 22 skipping to change at page 11, line 22
IOAM Trace Type: A 24-bit identifier which specifies which data types IOAM Trace Type: A 24-bit identifier which specifies which data types
are used in the node data list. The definition is the same as are used in the node data list. The definition is the same as
described in section 4.4 of [I-D.ietf-ippm-ioam-data]. described in section 4.4 of [I-D.ietf-ippm-ioam-data].
Flags: A 16-bit field. The definition is the same as described in Flags: A 16-bit field. The definition is the same as described in
section 3.2 of [I-D.ietf-ippm-ioam-direct-export]. section 3.2 of [I-D.ietf-ippm-ioam-direct-export].
Flow ID: A 32-bit flow identifier. The definition is the same as Flow ID: A 32-bit flow identifier. The definition is the same as
described in section 3.2 of [I-D.ietf-ippm-ioam-direct-export]. described in section 3.2 of [I-D.ietf-ippm-ioam-direct-export].
Rsvd: A 4-bit field reserved for further usage. It MUST be zero. Rsvd: A 4-bit field reserved for further usage. It MUST be zero and
ignored on receipt.
4.1.4. IOAM Edge-to-Edge Option Sub-TLV 4.1.4. IOAM Edge-to-Edge Option Sub-TLV
The IOAM edge to edge option is to carry data that is added by the The IOAM edge to edge option is to carry data that is added by the
IOAM encapsulating node and interpreted by IOAM decapsulating node. IOAM encapsulating node and interpreted by IOAM decapsulating node.
The format of IOAM edge-to-edge option Sub-TLV is defined as follows: The format of IOAM edge-to-edge option Sub-TLV is defined as follows:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
skipping to change at page 12, line 30 skipping to change at page 12, line 30
plane (SRv6). plane (SRv6).
The format of Enhanced Alternate Marking (EAM) Sub-TLV is defined as The format of Enhanced Alternate Marking (EAM) Sub-TLV is defined as
follows: follows:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+-------------------------------+ +-------------------------------+-------------------------------+
| Type=5 | Length=4 | | Type=5 | Length=4 |
+-------------------------------+-------+---------------+-------+ +-------------------------------+-------+---------------+-------+
| FlowMonID | Period | Rsvd | | FlowMonID | Period |H|E| R |
+---------------------------------------+---------------+-------+ +---------------------------------------+---------------+-------+
Fig. 8 Enhanced Alternate Marking Sub-TLV Fig. 8 Enhanced Alternate Marking Sub-TLV
Where: Where:
Type: 5 (to be assigned by IANA). Type: 5 (to be assigned by IANA).
Length: 4. It is the total length of the value field not including Length: 4. It is the total length of the value field not including
Type and Length fields. Type and Length fields.
FlowMonID: A 20-bit identifier to uniquely identify a monitored flow FlowMonID: A 20-bit identifier to uniquely identify a monitored flow
within the measurement domain. The definition is the same as within the measurement domain. The definition is the same as
described in section 5.3 of [I-D.ietf-6man-ipv6-alt-mark]. It is to described in section 5.3 of [I-D.ietf-6man-ipv6-alt-mark]. It is to
be noted that PCE also needs to maintain the uniqueness of FlowMonID be noted that PCE also needs to maintain the uniqueness of FlowMonID
as described in [I-D.ietf-6man-ipv6-alt-mark]. as described in [I-D.ietf-6man-ipv6-alt-mark].
Period: Time interval between two alternate marking period. The unit Period: Time interval between two alternate marking period. The unit
is second. is second.
Rsvd: A 4-bit field reserved for further usage. It MUST be zero. H: A flag indicating that the measurement is Hop-By-Hop.
E: A flag indicating that the measurement is end to end.
R: A 2-bit field reserved for further usage. It MUST be zero and
ignored on receipt.
5. PCEP Messages 5. PCEP Messages
5.1. The PCInitiate Message 5.1. The PCInitiate Message
A PCInitiate message is a PCEP message sent by a PCE to a PCC to A PCInitiate message is a PCEP message sent by a PCE to a PCC to
trigger LSP instantiation or deletion RFC 8281 [RFC8281]. trigger LSP instantiation or deletion RFC 8281 [RFC8281].
For the PCE-initiated LSP with the IFIT feature enabled, IFIT- For the PCE-initiated LSP with the IFIT feature enabled, IFIT-
ATTRIBUTES TLV MUST be included in the LSPA object with the ATTRIBUTES TLV MUST be included in the LSPA object with the
skipping to change at page 17, line 34 skipping to change at page 17, line 37
The authors of this document would like to thank Huaimo Chen for the The authors of this document would like to thank Huaimo Chen for the
comments and review of this document. comments and review of this document.
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ietf-6man-ipv6-alt-mark] [I-D.ietf-6man-ipv6-alt-mark]
Fioccola, G., Zhou, T., Cociglio, M., Qin, F., and R. Fioccola, G., Zhou, T., Cociglio, M., Qin, F., and R.
Pang, "IPv6 Application of the Alternate Marking Method", Pang, "IPv6 Application of the Alternate Marking Method",
draft-ietf-6man-ipv6-alt-mark-01 (work in progress), June draft-ietf-6man-ipv6-alt-mark-02 (work in progress),
2020. October 2020.
[I-D.ietf-ippm-ioam-data] [I-D.ietf-ippm-ioam-data]
Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields
for In-situ OAM", draft-ietf-ippm-ioam-data-10 (work in for In-situ OAM", draft-ietf-ippm-ioam-data-11 (work in
progress), July 2020. progress), November 2020.
[I-D.ietf-ippm-ioam-direct-export] [I-D.ietf-ippm-ioam-direct-export]
Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F., Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F.,
Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ
OAM Direct Exporting", draft-ietf-ippm-ioam-direct- OAM Direct Exporting", draft-ietf-ippm-ioam-direct-
export-01 (work in progress), August 2020. export-02 (work in progress), November 2020.
[I-D.ietf-ippm-ioam-flags] [I-D.ietf-ippm-ioam-flags]
Mizrahi, T., Brockners, F., Bhandari, S., Sivakolundu, R., Mizrahi, T., Brockners, F., Bhandari, S., Sivakolundu, R.,
Pignataro, C., Kfir, A., Gafni, B., Spiegel, M., and J. Pignataro, C., Kfir, A., Gafni, B., Spiegel, M., and J.
Lemon, "In-situ OAM Flags", draft-ietf-ippm-ioam-flags-02 Lemon, "In-situ OAM Flags", draft-ietf-ippm-ioam-flags-03
(work in progress), July 2020. (work in progress), October 2020.
[I-D.ietf-ippm-ioam-ipv6-options] [I-D.ietf-ippm-ioam-ipv6-options]
Bhandari, S., Brockners, F., Pignataro, C., Gredler, H., Bhandari, S., Brockners, F., Pignataro, C., Gredler, H.,
Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B., Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B.,
Lapukhov, P., Spiegel, M., Krishnan, S., Asati, R., and M. Lapukhov, P., Spiegel, M., Krishnan, S., Asati, R., and M.
Smith, "In-situ OAM IPv6 Options", draft-ietf-ippm-ioam- Smith, "In-situ OAM IPv6 Options", draft-ietf-ippm-ioam-
ipv6-options-03 (work in progress), September 2020. ipv6-options-04 (work in progress), November 2020.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440, Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009, DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>. <https://www.rfc-editor.org/info/rfc5440>.
skipping to change at page 19, line 32 skipping to change at page 19, line 32
[RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "Path Computation Element Communication and J. Hardwick, "Path Computation Element Communication
Protocol (PCEP) Extensions for Segment Routing", RFC 8664, Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
DOI 10.17487/RFC8664, December 2019, DOI 10.17487/RFC8664, December 2019,
<https://www.rfc-editor.org/info/rfc8664>. <https://www.rfc-editor.org/info/rfc8664>.
11.2. Informative References 11.2. Informative References
[I-D.ietf-pce-segment-routing-ipv6] [I-D.ietf-pce-segment-routing-ipv6]
Li, C., Negi, M., Koldychev, M., Kaladharan, P., and Y. Li, C., Negi, M., Sivabalan, S., Koldychev, M.,
Zhu, "PCEP Extensions for Segment Routing leveraging the Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment
IPv6 data plane", draft-ietf-pce-segment-routing-ipv6-06 Routing leveraging the IPv6 data plane", draft-ietf-pce-
(work in progress), July 2020. segment-routing-ipv6-08 (work in progress), November 2020.
[I-D.ietf-pce-segment-routing-policy-cp] [I-D.ietf-pce-segment-routing-policy-cp]
Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H. Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H.
Bidgoli, "PCEP extension to support Segment Routing Policy Bidgoli, "PCEP extension to support Segment Routing Policy
Candidate Paths", draft-ietf-pce-segment-routing-policy- Candidate Paths", draft-ietf-pce-segment-routing-policy-
cp-00 (work in progress), June 2020. cp-02 (work in progress), January 2021.
[I-D.ietf-spring-segment-routing-policy] [I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
P. Mattes, "Segment Routing Policy Architecture", draft- P. Mattes, "Segment Routing Policy Architecture", draft-
ietf-spring-segment-routing-policy-08 (work in progress), ietf-spring-segment-routing-policy-09 (work in progress),
July 2020. November 2020.
[I-D.koldychev-pce-multipath]
Koldychev, M., Sivabalan, S., Saad, T., Beeram, V.,
Bidgoli, H., Yadav, B., and S. Peng, "PCEP Extensions for
Signaling Multipath Information", draft-koldychev-pce-
multipath-04 (work in progress), October 2020.
[I-D.qin-idr-sr-policy-ifit] [I-D.qin-idr-sr-policy-ifit]
Qin, F., Yuan, H., Zhou, T., Fioccola, G., and Y. Wang, Qin, F., Yuan, H., Zhou, T., Fioccola, G., and Y. Wang,
"BGP SR Policy Extensions to Enable IFIT", draft-qin-idr- "BGP SR Policy Extensions to Enable IFIT", draft-qin-idr-
sr-policy-ifit-03 (work in progress), September 2020. sr-policy-ifit-04 (work in progress), October 2020.
Appendix A. Appendix A.
Authors' Addresses Authors' Addresses
Huanan Chen Huanan Chen
China Telecom China Telecom
Guangzhou Guangzhou
China China
 End of changes. 22 change blocks. 
28 lines changed or deleted 48 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/