rfc9487.original | rfc9487.txt | |||
---|---|---|---|---|
Network Working Group T. Graf | Internet Engineering Task Force (IETF) T. Graf | |||
Internet-Draft Swisscom | Request for Comments: 9487 Swisscom | |||
Intended status: Standards Track B. Claise | Category: Standards Track B. Claise | |||
Expires: 26 November 2023 Huawei | ISSN: 2070-1721 Huawei | |||
P. Francois | P. Francois | |||
INSA-Lyon | INSA-Lyon | |||
25 May 2023 | November 2023 | |||
Export of Segment Routing over IPv6 Information in | Export of Segment Routing over IPv6 Information in IP Flow Information | |||
IP Flow Information Export (IPFIX) | Export (IPFIX) | |||
draft-ietf-opsawg-ipfix-srv6-srh-14 | ||||
Abstract | Abstract | |||
This document introduces new IP Flow Information Export (IPFIX) | This document introduces new IP Flow Information Export (IPFIX) | |||
Information Elements to identify a set of Segment Routing over IPv6 | Information Elements (IEs) to identify a set of information related | |||
(SRv6) related information such as data contained in a Segment | to Segment Routing over IPv6 (SRv6) such as data contained in a | |||
Routing Header (SRH), the SRv6 control plane, and the SRv6 endpoint | Segment Routing Header (SRH), the SRv6 control plane, and the SRv6 | |||
behavior that traffic is being forwarded with. | Endpoint behavior that traffic is being forwarded with. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 26 November 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9487. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
3. New IPFIX IPv6 SRH Information Elements . . . . . . . . . . . 4 | 3. New IPFIX IPv6 SRH Information Elements | |||
4. Sample Use Cases . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Sample Use Cases | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 5. IANA Considerations | |||
5.1. New IPFIX IPv6 SRH Information Elements . . . . . . . . . 6 | 5.1. IPFIX Information Elements Registry | |||
5.1.1. srhFlagsIPv6 . . . . . . . . . . . . . . . . . . . . 7 | 5.1.1. srhFlagsIPv6 | |||
5.1.2. srhTagIPv6 . . . . . . . . . . . . . . . . . . . . . 8 | 5.1.2. srhTagIPv6 | |||
5.1.3. srhSegmentIPv6 . . . . . . . . . . . . . . . . . . . 8 | 5.1.3. srhSegmentIPv6 | |||
5.1.4. srhActiveSegmentIPv6 . . . . . . . . . . . . . . . . 9 | 5.1.4. srhActiveSegmentIPv6 | |||
5.1.5. srhSegmentIPv6BasicList . . . . . . . . . . . . . . . 9 | 5.1.5. srhSegmentIPv6BasicList | |||
5.1.6. srhSegmentIPv6ListSection . . . . . . . . . . . . . . 9 | 5.1.6. srhSegmentIPv6ListSection | |||
5.1.7. srhSegmentsIPv6Left . . . . . . . . . . . . . . . . . 10 | 5.1.7. srhSegmentsIPv6Left | |||
5.1.8. srhIPv6Section . . . . . . . . . . . . . . . . . . . 10 | 5.1.8. srhIPv6Section | |||
5.1.9. srhIPv6ActiveSegmentType . . . . . . . . . . . . . . 11 | 5.1.9. srhIPv6ActiveSegmentType | |||
5.1.10. srhSegmentIPv6LocatorLength . . . . . . . . . . . . . 11 | 5.1.10. srhSegmentIPv6LocatorLength | |||
5.1.11. srhSegmentIPv6EndpointBehavior . . . . . . . . . . . 11 | 5.1.11. srhSegmentIPv6EndpointBehavior | |||
5.2. New IPFIX IPv6 SRH Segment Type Subregistry . . . . . . . 12 | 5.2. New IPFIX IPv6 SRH Segment Type (Value 500) Subregistry | |||
6. Operational Considerations . . . . . . . . . . . . . . . . . 13 | 6. Operational Considerations | |||
6.1. SRv6 Segment List . . . . . . . . . . . . . . . . . . . . 13 | 6.1. SRv6 Segment List | |||
6.2. Compressed SRv6 Segment List Decomposition . . . . . . . 14 | 6.2. Compressed SRv6 Segment List Decomposition | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 7. Security Considerations | |||
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 14 | 8. References | |||
8.1. FD.io VPP . . . . . . . . . . . . . . . . . . . . . . . . 14 | 8.1. Normative References | |||
8.2. Huawei VRP . . . . . . . . . . . . . . . . . . . . . . . 15 | 8.2. Informative References | |||
8.3. Pmacct Data Collection . . . . . . . . . . . . . . . . . 15 | Appendix A. IPFIX Encoding Examples | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | A.1. Three Observed SRH Headers and Their Routing Protocols | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | A.1.1. Template Record and Data Set with Segment Basic List | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 16 | A.1.2. Template Record and Data Set with Segment List Section | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 16 | A.1.3. Template Record and Data Set with SRH Section | |||
Appendix A. IPFIX Encoding Examples . . . . . . . . . . . . . . 18 | A.2. Options Template Record and Data Set for SRv6 Segment | |||
A.1. Three Observed SRH Headers and their Routing Protocol . . 18 | Endpoint Behavior and Locator Length | |||
A.1.1. Template Record and Data Set with Segment Basic | Acknowledgements | |||
List . . . . . . . . . . . . . . . . . . . . . . . . 19 | Authors' Addresses | |||
A.1.2. Template Record and Data Set with Segment List | ||||
Section . . . . . . . . . . . . . . . . . . . . . . . 21 | ||||
A.1.3. Template Record and Data Set with SRH Section . . . . 24 | ||||
A.2. Options Template Record and Data Set for SRv6 Segment End | ||||
Point behavior and Locator Length . . . . . . . . . . . . 26 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 | ||||
1. Introduction | 1. Introduction | |||
A dedicated Routing Extension Header, called Segment Routing Header | A dedicated Routing Extension Header, called "Segment Routing Header | |||
(SRH), is defined in [RFC8754] for use of Segment Routing (SR) over | (SRH)", is defined in [RFC8754] for use of Segment Routing over IPv6 | |||
IPv6 data plane. | (SRv6) data plane. | |||
Also, three routing protocol extensions, OSPFv3 | Also, three routing protocol extensions, OSPFv3 [OSPFV3-SRV6-EXT], | |||
[I-D.ietf-lsr-ospfv3-srv6-extensions], IS-IS [RFC9352] and BGP Prefix | IS-IS [RFC9352], and BGP Prefix Segment Identifiers (Prefix-SIDs) | |||
Segment Identifiers(Prefix-SIDs) [RFC8669] and Path Computation | [RFC8669]; the Path Computation Element Communication Protocol (PCEP) | |||
Element Communication Protocol (PCEP) Extension | Extension [PCEP-SRV6-EXT]; and the Segment Routing Policy [RFC9256] | |||
[I-D.ietf-pce-segment-routing-ipv6] and Segment Routing Policy | are defined to propagate Segment Identifiers (SIDs). | |||
[RFC9256] are defined to propagate Segment Identifiers (SIDs). | ||||
SRv6 segment endpoint behaviors describe how packets should be | SRv6 Segment Endpoint behaviors describe how packets should be | |||
processed by SRv6 Segment Endpoint Nodes. Such behaviors are defined | processed by SRv6 Segment Endpoint Nodes. Such behaviors are defined | |||
in [RFC8986]. | in [RFC8986]. | |||
This document specifies eleven new IPFIX Information Elements (IEs) | This document specifies eleven new IPFIX Information Elements (IEs) | |||
and one new subregistry within the "IPFIX Information Elements" | and one new subregistry within the "IPFIX Information Elements" | |||
registry [RFC7012], for SRv6 purposes. | registry [RFC7012], for SRv6 purposes. | |||
These IEs are used to export the SRv6 active segment and its control | These IEs are used to export the SRv6 active segment and its control | |||
plane protocol, the SRv6 Segment List, the next SRv6 node and its | plane protocol, the SRv6 Segment List, the next SRv6 node and its | |||
type, and the numbers of SRv6 segments left. | type, and the numbers of SRv6 segments left. | |||
Some examples are provided in Appendix A. | Some examples are provided in Appendix A. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
This document makes use of the terms defined in [RFC7011], [RFC8402] | This document makes use of the terms defined in [RFC7011], [RFC8402], | |||
and [RFC8754]. | and [RFC8754]. | |||
The following terms are used as defined in [RFC7011]: | The following terms are used as defined in [RFC7011]: | |||
* IPFIX | * IPFIX | |||
* IPFIX Information Elements | * IPFIX Information Elements | |||
* Template | * Template | |||
skipping to change at page 4, line 49 ¶ | skipping to change at line 179 ¶ | |||
* Segments Left | * Segments Left | |||
* Last Entry | * Last Entry | |||
3. New IPFIX IPv6 SRH Information Elements | 3. New IPFIX IPv6 SRH Information Elements | |||
This section specifies the new IPFIX IPv6 SRH IEs. | This section specifies the new IPFIX IPv6 SRH IEs. | |||
srhFlagsIPv6 | srhFlagsIPv6 | |||
8-bit flags defined in the SRH (Section 2 of [RFC8754]). | The 8-bit Flags field defined in the SRH (Section 2 of [RFC8754]). | |||
srhTagIPv6 | srhTagIPv6 | |||
16-bit tag field defined in the SRH (Section 2 of [RFC8754]). A | The 16-bit Tag field defined in the SRH (Section 2 of [RFC8754]). | |||
tag is used to mark a packet as part of a class or group of | A tag is used to mark a packet as part of a class or group of | |||
packets sharing the same set of properties. | packets sharing the same set of properties. | |||
srhSegmentIPv6 | srhSegmentIPv6 | |||
128-bit IPv6 address that represents a SRv6 segment. | The 128-bit IPv6 address that represents an SRv6 segment. | |||
srhActiveSegmentIPv6 | srhActiveSegmentIPv6 | |||
128-bit IPv6 address that represents the active SRv6 segment. | The 128-bit IPv6 address that represents the active SRv6 segment. | |||
srhSegmentIPv6BasicList | srhSegmentIPv6BasicList | |||
Ordered basicList [RFC6313] of zero or more 128-bit IPv6 addresses | The ordered basicList [RFC6313] of zero or more 128-bit IPv6 | |||
in the SRH that represents the SRv6 Segment List. As specified in | addresses in the SRH that represents the SRv6 Segment List. As | |||
Section 2 of [RFC8754], the Segment List is encoded starting from | specified in Section 2 of [RFC8754], the Segment List is encoded | |||
the last segment of the SR Policy. That is, the first element of | starting from the last segment of the SR Policy. That is, the | |||
the Segment List (Segment List[0]) contains the last segment of | first element of the Segment List (Segment List[0]) contains the | |||
the SR Policy, the second element contains the penultimate segment | last segment of the SR Policy, the second element contains the | |||
of the SR Policy, and so on. | penultimate segment of the SR Policy, and so on. | |||
srhSegmentIPv6ListSection | srhSegmentIPv6ListSection | |||
The SRH Segment List as defined in Section 2 of [RFC8754] as a | The SRH Segment List as defined in Section 2 of [RFC8754] as a | |||
series of octets in IPFIX. | series of octets in IPFIX. | |||
srhSegmentsIPv6Left | srhSegmentsIPv6Left | |||
8-bit unsigned integer defining the number of segments remaining | The 8-bit unsigned integer that defines the number of segments | |||
to reach the end of the Segment List from the SRH, as specified by | remaining to reach the end of the Segment List from the SRH, as | |||
the "Segments Left" field in Section 4.4 of [RFC8200] and | specified by the "Segments Left" field in Section 4.4 of [RFC8200] | |||
mentioned part of the SRH in Section 2 of [RFC8754]). | and as mentioned in the SRH part of Section 2 of [RFC8754]. | |||
srhIPv6Section | srhIPv6Section | |||
Exposes the SRH and its TLVs as specified in Section 2 of | The SRH and its TLVs as specified in Section 2 of [RFC8754] as a | |||
[RFC8754] as a series of octets in IPFIX. | series of octets in IPFIX. | |||
srhIPv6ActiveSegmentType | srhIPv6ActiveSegmentType | |||
Designator of the routing protocol or PCEP extension where the | The designator of the routing protocol or PCEP extension where the | |||
active SRv6 segment has been learned from. | active SRv6 segment has been learned from. | |||
srhSegmentIPv6LocatorLength | srhSegmentIPv6LocatorLength | |||
The SRH segment IPv6 locator length specified as the number of | The length of the SRH segment IPv6 locator specified as the number | |||
significant bits. Together with srhSegmentIPv6 it enables the | of significant bits. Together with srhSegmentIPv6, it enables the | |||
calculation of the SRv6 Locator. | calculation of the SRv6 Locator. | |||
srhSegmentIPv6EndpointBehavior | srhSegmentIPv6EndpointBehavior | |||
16-bit unsigned integer that represents a SRv6 Endpoint behavior | The 16-bit unsigned integer that represents an SRv6 Endpoint | |||
as per Section 4 of [RFC8986]. | behavior as per Section 4 of [RFC8986]. | |||
Note that the srhSegmentIPv6, srhSegmentIPv6LocatorLength, and | Note that the srhSegmentIPv6, srhSegmentIPv6LocatorLength, and | |||
srhSegmentIPv6EndpointBehavior IPFIX IEs are generic fields, to be | srhSegmentIPv6EndpointBehavior IPFIX IEs are generic fields to be | |||
used in the context of IPFIX Options Templates or IPFIX Structured | used in the context of IPFIX Options Templates or IPFIX Structured | |||
Data [RFC6313]. | Data [RFC6313]. | |||
4. Sample Use Cases | 4. Sample Use Cases | |||
The IPFIX IEs srhSegmentIPv6BasicList (TBD5) or | The IPFIX IEs srhSegmentIPv6BasicList (496) or alternatively | |||
srhSegmentIPv6ListSection (TBD6), srhActiveSegmentIPv6 (TBD4), | srhSegmentIPv6ListSection (497), srhActiveSegmentIPv6 (495), | |||
srhSegmentsIPv6Left (TBD7), srhIPv6ActiveSegmentType(TBD9), | srhSegmentsIPv6Left (498), srhIPv6ActiveSegmentType (500), and | |||
forwardingStatus (89) [RFC7270] [IANA-IPFIX], and some existing | forwardingStatus (89) [RFC7270] [IANA-IPFIX] as well as some existing | |||
counter informations [IANA-IPFIX] providing answers to the following | counter information [IANA-IPFIX] provide answers to the following | |||
questions (amongst others): | questions (amongst others): | |||
* How many packets steered with a SR policy are forwarded or dropped | * How many packets steered with an SR policy are forwarded or | |||
using SRv6 in a network? | dropped using SRv6 in a network? | |||
* If dropped, for which reasons? | * If dropped, for which reasons? | |||
* What is the current active segment and its associated control | * What is the current active segment and its associated control | |||
plane protocol? | plane protocol? | |||
* What is the SRv6 Segment List? | * What is the SRv6 Segment List? | |||
* What is the next SRv6 node and its type? | * What is the next SRv6 node and its type? | |||
* How many SRv6 segments are left? | * How many SRv6 segments are left? | |||
5. IANA Considerations | 5. IANA Considerations | |||
Note to the RFC-Editor: | 5.1. IPFIX Information Elements Registry | |||
* Please replace TBD1 - TBD17 with the values allocated by IANA | ||||
* Please replace the [RFC-to-be] with the RFC number assigned to | ||||
this document | ||||
5.1. New IPFIX IPv6 SRH Information Elements | ||||
This document requests IANA to add new IEs (Section 5.1) to the | ||||
"IPFIX Information Elements" registry [RFC7012] available at | ||||
[IANA-IPFIX]. | ||||
Table 1 lists the new IPv6 SRH IEs: | IANA has added the following new IEs to the "IPFIX Information | |||
Elements" registry [RFC7012] at [IANA-IPFIX]: | ||||
+-------+--------------------------------+ | +===========+================================+ | |||
|Element| Name | | | ElementID | Name | | |||
| ID | | | +===========+================================+ | |||
+-------+--------------------------------+ | | 492 | srhFlagsIPv6 | | |||
| TBD1 | srhFlagsIPv6 | | +-----------+--------------------------------+ | |||
| | | | | 493 | srhTagIPv6 | | |||
+-------+--------------------------------+ | +-----------+--------------------------------+ | |||
| TBD2 | srhTagIPv6 | | | 494 | srhSegmentIPv6 | | |||
| | | | +-----------+--------------------------------+ | |||
+-------+--------------------------------+ | | 495 | srhActiveSegmentIPv6 | | |||
| TBD3 | srhSegmentIPv6 | | +-----------+--------------------------------+ | |||
| | | | | 496 | srhSegmentIPv6BasicList | | |||
+-------+--------------------------------+ | +-----------+--------------------------------+ | |||
| TBD4 | srhActiveSegmentIPv6 | | | 497 | srhSegmentIPv6ListSection | | |||
| | | | +-----------+--------------------------------+ | |||
+-------+--------------------------------+ | | 498 | srhSegmentsIPv6Left | | |||
| TBD5 | srhSegmentIPv6BasicList | | +-----------+--------------------------------+ | |||
| | | | | 499 | srhIPv6Section | | |||
+-------+--------------------------------+ | +-----------+--------------------------------+ | |||
| TBD6 | srhSegmentIPv6ListSection | | | 500 | srhIPv6ActiveSegmentType | | |||
| | | | +-----------+--------------------------------+ | |||
+-------+--------------------------------+ | | 501 | srhSegmentIPv6LocatorLength | | |||
| TBD7 | srhSegmentsIPv6Left | | +-----------+--------------------------------+ | |||
| | | | | 502 | srhSegmentIPv6EndpointBehavior | | |||
+-------+--------------------------------+ | +-----------+--------------------------------+ | |||
| TBD8 | srhIPv6Section | | ||||
| | | | ||||
+-------+--------------------------------+ | ||||
| TBD9 | srhIPv6ActiveSegmentType | | ||||
| | | | ||||
+-------+--------------------------------+ | ||||
| TBD10 | srhSegmentIPv6LocatorLength | | ||||
| | | | ||||
+-------+--------------------------------+ | ||||
| TBD11 | srhSegmentIPv6EndpointBehavior | | ||||
| | | | ||||
+-------+--------------------------------+ | ||||
Table 1: New IPv6 SRH IEs in the "IPFIX Information Elements" Registry | Table 1: IPFIX Information Elements Registry | |||
5.1.1. srhFlagsIPv6 | 5.1.1. srhFlagsIPv6 | |||
ElementID: 492 | ||||
Name: srhFlagsIPv6 | Name: srhFlagsIPv6 | |||
ElementID: TBD1 | ||||
Description: The 8-bit flags defined in the SRH (Section 2 of | ||||
[RFC8754]). Assigned flags and their meanings are provided in the | ||||
"Segment Routing Header Flags" IANA registry. | ||||
Abstract Data Type: unsigned8 | Abstract Data Type: unsigned8 | |||
Data Type Semantics: flags | Data Type Semantics: flags | |||
Description: The 8-bit Flags field defined in the SRH (Section 2 of | ||||
[RFC8754]). Assigned flags and their meanings are provided in the | ||||
"Segment Routing Header Flags" IANA registry. | ||||
Additional Information: See the assignments in the "Segment Routing | Additional Information: See the assignments in the "Segment Routing | |||
Header Flags" IANA registry at https://www.iana.org/assignments/ | Header Flags" registry at <https://www.iana.org/assignments/ | |||
ipv6-parameters/ipv6-parameters.xhtml#segment-routing-header- | ipv6-parameters>. See also [RFC8754] for the SRH specification. | |||
flags. See also RFC8754 for the SRH specification. | Reference: RFC 9487 | |||
Reference: [RFC-to-be] | ||||
5.1.2. srhTagIPv6 | 5.1.2. srhTagIPv6 | |||
ElementID: 493 | ||||
Name: srhTagIPv6 | Name: srhTagIPv6 | |||
ElementID: TBD2 | ||||
Description: The 16-bit tag field defined in the SRH (Section 2 of | ||||
[RFC8754]). A tag is used to mark a packet as part of a class or | ||||
group of packets sharing the same set of properties. | ||||
Abstract Data Type: unsigned16 | Abstract Data Type: unsigned16 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Description: The 16-bit Tag field defined in the SRH (Section 2 of | ||||
[RFC8754]). A tag is used to mark a packet as part of a class or | ||||
group of packets sharing the same set of properties. | ||||
Additional Information: See Section 2 of [RFC8754] for more details | Additional Information: See Section 2 of [RFC8754] for more details | |||
about the tag. | about the Tag. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.3. srhSegmentIPv6 | 5.1.3. srhSegmentIPv6 | |||
ElementID: 494 | ||||
Name: srhSegmentIPv6 | Name: srhSegmentIPv6 | |||
Abstract Data Type: ipv6Address | ||||
ElementID: TBD3 | ||||
Description: The 128-bit IPv6 address that represents a SRv6 | ||||
segment. | ||||
Abstract Data Type: ipv6address | ||||
Data Type Semantics: default | Data Type Semantics: default | |||
Description: The 128-bit IPv6 address that represents an SRv6 | ||||
segment. | ||||
Additional Information: Specified in Section 1 of [RFC8402] and | Additional Information: Specified in Section 1 of [RFC8402] and | |||
mentioned in "Segment List" in Section 2 of [RFC8754]. | mentioned in "Segment List" in Section 2 of [RFC8754]. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.4. srhActiveSegmentIPv6 | 5.1.4. srhActiveSegmentIPv6 | |||
ElementID: 495 | ||||
Name: srhActiveSegmentIPv6 | Name: srhActiveSegmentIPv6 | |||
Abstract Data Type: ipv6Address | ||||
ElementID: TBD4 | Data Type Semantics: default | |||
Description: The 128-bit IPv6 address that represents the active | Description: The 128-bit IPv6 address that represents the active | |||
SRv6 segment. | SRv6 segment. | |||
Abstract Data Type: ipv6address | ||||
Data Type Semantics: default | ||||
Additional Information: See Section 2 of [RFC8402] for the | Additional Information: See Section 2 of [RFC8402] for the | |||
definition of active segment. | definition of "active segment". | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.5. srhSegmentIPv6BasicList | 5.1.5. srhSegmentIPv6BasicList | |||
ElementID: 496 | ||||
Name: srhSegmentIPv6BasicList | Name: srhSegmentIPv6BasicList | |||
Abstract Data Type: basicList | ||||
ElementID: TBD5 | Data Type Semantics: list | |||
Description: The ordered basicList [RFC6313] of zero or more 128-bit | ||||
Description: The Ordered basicList [RFC6313] of zero or more 128-bit | ||||
IPv6 addresses in the SRH that represents the SRv6 Segment List. | IPv6 addresses in the SRH that represents the SRv6 Segment List. | |||
As specified in Section 2 of [RFC8754], the Segment List is | As specified in Section 2 of [RFC8754], the Segment List is | |||
encoded starting from the last segment of the SR Policy. That is, | encoded starting from the last segment of the SR Policy. That is, | |||
the first element of the Segment List (Segment List[0]) contains | the first element of the Segment List (Segment List[0]) contains | |||
the last segment of the SR Policy, the second element contains the | the last segment of the SR Policy, the second element contains the | |||
penultimate segment of the SR Policy, and so on. | penultimate segment of the SR Policy, and so on. | |||
Abstract Data Type: basicList | ||||
Data Type Semantics: list | ||||
Additional Information: See Section 2 of [RFC8754] for more details | Additional Information: See Section 2 of [RFC8754] for more details | |||
about the SRv6 Segment List. | about the SRv6 Segment List. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.6. srhSegmentIPv6ListSection | 5.1.6. srhSegmentIPv6ListSection | |||
ElementID: 497 | ||||
Name: srhSegmentIPv6ListSection | Name: srhSegmentIPv6ListSection | |||
ElementID: TBD6 | ||||
Description: The SRH Segment List as defined in Section 2 of | ||||
[RFC8754] as a series of octets in IPFIX. | ||||
Abstract Data Type: octetArray | Abstract Data Type: octetArray | |||
Data Type Semantics: default | Data Type Semantics: default | |||
Description: The SRv6 Segment List as defined in Section 2 of | ||||
[RFC8754] as a series of octets in IPFIX. | ||||
Additional Information: See Section 2 of [RFC8754] for more details | Additional Information: See Section 2 of [RFC8754] for more details | |||
about the SRv6 Segment List. | about the SRv6 Segment List. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.7. srhSegmentsIPv6Left | 5.1.7. srhSegmentsIPv6Left | |||
ElementID: 498 | ||||
Name: srhSegmentsIPv6Left | Name: srhSegmentsIPv6Left | |||
ElementID: TBD7 | ||||
Description: 8-bit unsigned integer defining the number of segments | ||||
remaining to reach the end of the Segment List in the SRH. | ||||
Abstract Data Type: unsigned8 | Abstract Data Type: unsigned8 | |||
Data Type Semantics: quantity | Data Type Semantics: quantity | |||
Description: The 8-bit unsigned integer defining the number of | ||||
segments remaining to reach the end of the Segment List from the | ||||
SRH. | ||||
Additional Information: Specified by the "Segments Left" field in | Additional Information: Specified by the "Segments Left" field in | |||
Section 4.4 of [RFC8200] and mentioned in Section 2 of [RFC8754]). | Section 4.4 of [RFC8200] and mentioned in Section 2 of [RFC8754]. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.8. srhIPv6Section | 5.1.8. srhIPv6Section | |||
ElementID: 499 | ||||
Name: srhIPv6Section | Name: srhIPv6Section | |||
Description: The SRH and its TLVs as defined in Section 2 of | ||||
[RFC8754] as a series of octets in IPFIX. | ||||
Abstract Data Type: octetArray | Abstract Data Type: octetArray | |||
Data Type Semantics: default | Data Type Semantics: default | |||
Description: The SRH and its TLVs as defined in Section 2 of | ||||
[RFC8754] as a series of octets in IPFIX. | ||||
Additional Information: See Section 2 of [RFC8754] for more details | Additional Information: See Section 2 of [RFC8754] for more details | |||
about the structure of an SRH. | about the structure of an SRH. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.9. srhIPv6ActiveSegmentType | 5.1.9. srhIPv6ActiveSegmentType | |||
ElementID: 500 | ||||
Name: srhIPv6ActiveSegmentType | Name: srhIPv6ActiveSegmentType | |||
ElementID: TBD9 | ||||
Description: The designator of the routing protocol or PCEP | ||||
extension from where the active SRv6 segment has been learned | ||||
from. Values for this Information Element are listed in the | ||||
"IPFIX IPv6 SRH Segment type" subregistry, see [IANA-IPFIX]. | ||||
Abstract Data Type: unsigned8 | Abstract Data Type: unsigned8 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Description: The designator of the routing protocol or PCEP | ||||
Additional Information: See the assigned types in [IPFIX IPv6 SRH | extension where the active SRv6 segment has been learned from. | |||
Segment Type Subregistry]. | Values for this Information Element are listed in the "IPFIX IPv6 | |||
SRH Segment Type (Value 500)" subregistry. | ||||
Note to IANA: Please replace [IPFIX IPv6 SRH Segment Type | Additional Information: See the assigned types in the "IPFIX IPv6 | |||
Subregistry] with the URL of the IANA subregistry. | SRH Segment (Value 500)" registry at | |||
<https://www.iana.org/assignments/ipfix>. | ||||
Reference: [RFC-to-be] | Reference: RFC 9487 | |||
5.1.10. srhSegmentIPv6LocatorLength | 5.1.10. srhSegmentIPv6LocatorLength | |||
ElementID: 501 | ||||
Name: srhSegmentIPv6LocatorLength | Name: srhSegmentIPv6LocatorLength | |||
ElementID: TBD10 | ||||
Description: The SRH segment IPv6 locator length specified as the | ||||
number of significant bits. Together with srhSegmentIPv6 it | ||||
enables the calculation of the SRv6 Locator. | ||||
Abstract Data Type: unsigned8 | ||||
Data Type Semantics: default | Data Type Semantics: default | |||
Description: The length of the SRH segment IPv6 locator specified as | ||||
the number of significant bits. Together with srhSegmentIPv6, it | ||||
enables the calculation of the SRv6 Locator. | ||||
Additional Information: See Section 3.1 of [RFC8986] for more | Additional Information: See Section 3.1 of [RFC8986] for more | |||
details about the SID format. | details about the SID format. | |||
Reference: RFC 9487 | ||||
Reference: [RFC-to-be] | ||||
5.1.11. srhSegmentIPv6EndpointBehavior | 5.1.11. srhSegmentIPv6EndpointBehavior | |||
ElementID: 502 | ||||
Name: srhSegmentIPv6EndpointBehavior | Name: srhSegmentIPv6EndpointBehavior | |||
ElementID: TBD11 | ||||
Description: The 16-bit unsigned integer that represents a SRv6 | ||||
Endpoint behavior as per Section 4 of [RFC8986]. Assigned values | ||||
and their meanings are provided in the "SRV6 Endpoint Behavior" | ||||
registry. | ||||
Abstract Data Type: unsigned16 | Abstract Data Type: unsigned16 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Description: The 16-bit unsigned integer that represents an SRv6 | ||||
Endpoint behavior as per Section 4 of [RFC8986]. Assigned values | ||||
and their meanings are provided in the "SRv6 Endpoint Behaviors" | ||||
registry. | ||||
Additional Information: See the assigned behaviors in the "SRv6 | ||||
Endpoint Behaviors" registry at <https://www.iana.org/assignments/ | ||||
segment-routing>. See Section 4 of [RFC8986] for more details | ||||
about the processing of endpoint behaviors. | ||||
Reference: RFC 9487 | ||||
Additional Information: See the assigned behaviors at the "SRv6 | 5.2. New IPFIX IPv6 SRH Segment Type (Value 500) Subregistry | |||
Endpoint Behavior" registry available at | ||||
https://www.iana.org/assignments/segment-routing/segment- | ||||
routing.xhtml#srv6-endpoint-behaviors. See Section 4 of [RFC8986] | ||||
for more details about the endpoint behaviors processing. | ||||
Reference: [RFC-to-be] | ||||
5.2. New IPFIX IPv6 SRH Segment Type Subregistry | ||||
This document requests IANA to create a new subregistry called "IPFIX | IANA has created a new subregistry called "IPFIX IPv6 SRH Segment | |||
IPv6 SRH Segment Type" under the "IPFIX Information Elements" | Type (Value 500)" under the "IPFIX Information Elements" registry | |||
registry [RFC7012] available at [IANA-IPFIX]. | [RFC7012] at [IANA-IPFIX]. | |||
The allocation policy of this new subregistry is Expert Review | The allocation policy of this new subregistry is Expert Review | |||
(Section 4.5 of [RFC8126]). | (Section 4.5 of [RFC8126]). | |||
The designated experts for this registry should be familiar with SRH. | The designated experts for this registry should be familiar with SRH. | |||
The guidelines that are being followed by the designated experts for | The guidelines that are being followed by the designated experts for | |||
the IPFIX registry should be followed for this subregistry. In | the "IPFIX Information Elements" registry should be followed for this | |||
particular, criteria that should be applied by the designated experts | subregistry. In particular, criteria that should be applied by the | |||
include determining whether the proposed registration duplicates | designated experts include determining whether the proposed | |||
existing entries and whether the registration description is clear | registration duplicates existing entries and whether the registration | |||
and fits the purpose of this registry. Within the review period, the | description is clear and fits the purpose of this registry. Within | |||
designated experts will either approve or deny the registration | the review period, the designated experts will either approve or deny | |||
request, communicating this decision to IANA. Denials should include | the registration request, communicating this decision to IANA. | |||
an explanation and, if applicable, suggestions as to how to make the | Denials should include an explanation and, if applicable, suggestions | |||
request successful. | as to how to make the request successful. | |||
Initial values in the registry are defined in Table 2. | Initial values in the registry are defined in Table 2. | |||
+-------+--------------------+---------------------------------------+ | +=======+==========================+=============================+ | |||
| Value | Description | Additional Information | | | Value | Description | Reference | | |||
+-------+--------------------+---------------------------------------+ | +=======+==========================+=============================+ | |||
| TBD12 | Unknown | [RFC-to-be] | | | 0 | Unknown | RFC 9487 | | |||
| | | | | +-------+--------------------------+-----------------------------+ | |||
+-------+--------------------+---------------------------------------+ | | 1 | Segment Routing Policy | RFC 9487, [RFC9256] | | |||
| TBD13 | Segment Routing | [RFC-to-be], | | +-------+--------------------------+-----------------------------+ | |||
| | Policy | <xref target="RFC9256"/> | | | 2 | Path Computation Element | RFC 9487, [PCEP-SRV6-EXT] | | |||
+-------+--------------------+---------------------------------------+ | +-------+--------------------------+-----------------------------+ | |||
| TBD14 | Path Computation | [RFC-to-be],<xref target=" | | | 3 | OSPFv3 Segment Routing | RFC 9487, [OSPFV3-SRV6-EXT] | | |||
| | Element | I-D.ietf-pce-segment-routing-ipv6"/> | | +-------+--------------------------+-----------------------------+ | |||
+-------+--------------------+---------------------------------------+ | | 4 | IS-IS Segment Routing | RFC 9487, [RFC9352] | | |||
| TBD15 | OSPFv3 | [RFC-to-be],<xref target=" | | +-------+--------------------------+-----------------------------+ | |||
| | Segment Routing | I-D.ietf-lsr-ospfv3-srv6-extensions"/>| | | 5 | BGP Segment Routing | RFC 9487, [RFC8669] | | |||
+-------+--------------------+---------------------------------------+ | | | Prefix-SID | | | |||
| TBD16 | IS-IS | [RFC-to-be],<xref target="RFC9352"/> | | +-------+--------------------------+-----------------------------+ | |||
| | Segment Routing | | | ||||
+-------+--------------------+---------------------------------------+ | ||||
| TBD17 | BGP Segment | [RFC-to-be], | | ||||
| | Routing Prefix-SID | <xref target="RFC8669"/> | | ||||
+-------+--------------------+---------------------------------------+ | ||||
Table 2: "IPFIX IPv6 SRH Segment Type" Subregistry | Table 2: IPFIX IPv6 SRH Segment Type (Value 500) Subregistry | |||
6. Operational Considerations | 6. Operational Considerations | |||
6.1. SRv6 Segment List | 6.1. SRv6 Segment List | |||
The zero or more 128-bit IPv6 addresses in the SRH [RFC8754] can be | The zero or more 128-bit IPv6 addresses in the SRH [RFC8754] can be | |||
exported in two different ways, with two different IPFIX IEs: | exported in two different ways, with two different IPFIX IEs: | |||
* srhSegmentIPv6BasicList | * srhSegmentIPv6BasicList | |||
* srhSegmentIPv6ListSection | * srhSegmentIPv6ListSection | |||
The srhSegmentIPv6BasicList encodes the SRv6 Segment List with a | The srhSegmentIPv6BasicList encodes the SRv6 Segment List with a | |||
basicList, specified in the IPFIX Structured Data [RFC6313]. This | basicList, specified in the IPFIX Structured Data [RFC6313]. This | |||
encoding offers the advantage to the data collection that the | encoding is an advantage for data collection since the different IPv6 | |||
different IPv6 addresses are already structured as a list, without | addresses are already structured as a list, without the need of post- | |||
the need of post-processing. However, this method requires some | processing. However, this method requires some extra processing on | |||
extra processing on the exporter, to realize the BasicList data | the exporter to realize the basicList data mapping. | |||
mapping. | ||||
The srhSegmentIPv6ListSection, on the other hand, encodes the list of | The srhSegmentIPv6ListSection, on the other hand, encodes the list of | |||
IPv6 addresses as an octetArray. This doesn't impose any data flow | IPv6 addresses as an octetArray. This doesn't impose any data flow | |||
manipulation on the exporter, facilitating the immediate export. | manipulation on the exporter, facilitating the immediate export. | |||
However, the data collection MUST be able to decode the IPv6 | However, the data collection MUST be able to decode the IPv6 | |||
addresses according to the SR specifications. Compared to the | addresses according to the SR specifications. Compared to the | |||
srhSegmentIPv6BasicList, the srhSegmentIPv6ListSection flow records | srhSegmentIPv6BasicList, the srhSegmentIPv6ListSection flow records | |||
length is slightly reduced. | length is slightly reduced. | |||
It is not expected that an exporter would support both | It is not expected that an exporter would support both | |||
srhSegmentIPv6BasicList and srhSegmentIPv6ListSection at the same | srhSegmentIPv6BasicList and srhSegmentIPv6ListSection at the same | |||
time. | time. | |||
6.2. Compressed SRv6 Segment List Decomposition | 6.2. Compressed SRv6 Segment List Decomposition | |||
The SRv6 Segment List in the IPFIX IEs srhSegmentIPv6BasicList, | The SRv6 Segment List in the IPFIX IEs srhSegmentIPv6BasicList, | |||
srhSegmentIPv6ListSection and destinationIPv6Address could contain | srhSegmentIPv6ListSection, and destinationIPv6Address could contain | |||
compressed-SID containers as described in | compressed-SID containers as described in [SRV6-SRH-COM]. The SR | |||
[I-D.ietf-spring-srv6-srh-compression]. The SR Endpoint Flavors, | Endpoint Flavors, as described in Section 4 of [SRV6-SRH-COM], define | |||
described in Section 4 of [I-D.ietf-spring-srv6-srh-compression] | new flavors for SID Endpoint behaviors and determine wherever the | |||
defines new flavors for SID endpoint behaviors, and determine | Segment List encoding is compressed, along with the flavor. The SID | |||
wherever the Segment List encoding is compressed, along with the | Locator, as described in Section 3.1 of [RFC8986], determines the | |||
flavor. The SID Locator as described in Section 3.1 of [RFC8986], | common most significant bits. By using described information from | |||
determines the common most significant bits. By using described | srhSegmentIPv6EndpointBehavior and srhSegmentIPv6LocatorLength, the | |||
information from srhSegmentIPv6EndpointBehavior and | compressed-SID containers can be decoded at the data collection. | |||
srhSegmentIPv6LocatorLength the compressed-SID containers can be | ||||
decoded at the data collection. | ||||
7. Acknowledgements | ||||
The authors would like to thank Yao Liu, Eduard Vasilenko, Bruno | ||||
Decraene, Mohamed Boucadair, Kamran Raza, Qin Wu, Jim Guichard, Tero | ||||
Kivinen, Paul Aitken, Roman Danyliw, John Scudder, Eric Vyncke, Erik | ||||
Kline, Lars Eggert and Andrew Alston for their review and valuable | ||||
comments, and Paolo Lucente and Alex Huang Feng for the | ||||
implementation and validation. | ||||
8. Implementation Status | ||||
Note to the RFC-Editor: Please remove this section before publishing. | ||||
8.1. FD.io VPP | ||||
INSA Lyon implemented the following IEs as part of a prototype in the | ||||
FD.io VPP (Vector Packet Processing) platform: | ||||
* srhActiveSegmentIPv6 | ||||
* srhSegmentIPv6EndpointBehavior | ||||
* srhSegmentsIPv6Left | ||||
* srhFlagsIPv6 | ||||
* srhTagIPv6 | ||||
* srhSegmentIPv6ListSection | ||||
* srhSegmentIPv6BasicList | ||||
The open source code can be obtained here: [INSA-Lyon-VPP] and was | ||||
validated at the IETF 115 hackathon. | ||||
8.2. Huawei VRP | ||||
Huawei implemented the following IEs as part of a production | ||||
implementation in the VRP platform: | ||||
* srhActiveSegmentIPv6 | ||||
* srhSegmentsIPv6Left | ||||
* srhFlagsIPv6 | ||||
* srhTagIPv6 | ||||
* srhSegmentIPv6ListSection | ||||
The implementation was validated at the IETF 115 hackathon. | ||||
8.3. Pmacct Data Collection | ||||
Paolo Lucente implemented the decomposition of the IE | ||||
srhSegmentIPv6ListSection as part of a a production implementation in | ||||
the open source Network Telemetry data collection project pmacct. | ||||
The source code can be obtained here: [Paolo-Lucente-Pmacct] and was | ||||
validated at the IETF 115 hackathon. | ||||
9. Security Considerations | 7. Security Considerations | |||
There exists no extra security considerations regarding allocation of | There are no additional security considerations regarding allocation | |||
these new IPFIX IEs compared to [RFC7012]. | of these new IPFIX IEs compared to [RFC7012]. | |||
The IEs described in this document export provider plane data metrics | The IEs described in this document export provider plane data metrics | |||
on how packets are being forwarded within a SRv6 network. | on how packets are being forwarded within an SRv6 network. | |||
Applications and operators using the IEs described in this document | Applications and operators using the IEs described in this document | |||
must evaluate the sensitivity of this information in their | must evaluate the sensitivity of this information in their | |||
implementation context, and apply the data-at-rest storage guidance | implementation context and apply the data-at-rest storage guidance in | |||
in Section 11.8 of [RFC7011] as appropriate. | Section 11.8 of [RFC7011] as appropriate. | |||
10. References | 8. References | |||
10.1. Normative References | ||||
8.1. Normative References | ||||
[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>. | |||
[RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, | [RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, | |||
"Export of Structured Data in IP Flow Information Export | "Export of Structured Data in IP Flow Information Export | |||
(IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, | (IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, | |||
<https://www.rfc-editor.org/info/rfc6313>. | <https://www.rfc-editor.org/info/rfc6313>. | |||
skipping to change at page 16, line 46 ¶ | skipping to change at line 580 ¶ | |||
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
(IPv6) Specification", STD 86, RFC 8200, | (IPv6) Specification", STD 86, RFC 8200, | |||
DOI 10.17487/RFC8200, July 2017, | DOI 10.17487/RFC8200, July 2017, | |||
<https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | |||
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | |||
<https://www.rfc-editor.org/info/rfc8754>. | <https://www.rfc-editor.org/info/rfc8754>. | |||
10.2. Informative References | 8.2. Informative References | |||
[I-D.ietf-lsr-ospfv3-srv6-extensions] | ||||
Li, Z., Hu, Z., Talaulikar, K., and P. Psenak, "OSPFv3 | ||||
Extensions for SRv6", Work in Progress, Internet-Draft, | ||||
draft-ietf-lsr-ospfv3-srv6-extensions-11, 2 May 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-lsr- | ||||
ospfv3-srv6-extensions-11>. | ||||
[I-D.ietf-pce-segment-routing-ipv6] | ||||
Li, C., Negi, M. S., Sivabalan, S., Koldychev, M., | ||||
Kaladharan, P., and Y. Zhu, "Path Computation Element | ||||
Communication Protocol (PCEP) Extensions for Segment | ||||
Routing leveraging the IPv6 dataplane", Work in Progress, | ||||
Internet-Draft, draft-ietf-pce-segment-routing-ipv6-16, 6 | ||||
March 2023, <https://datatracker.ietf.org/doc/html/draft- | ||||
ietf-pce-segment-routing-ipv6-16>. | ||||
[I-D.ietf-spring-srv6-srh-compression] | ||||
Cheng, W., Filsfils, C., Li, Z., Decraene, B., and F. | ||||
Clad, "Compressed SRv6 Segment List Encoding in SRH", Work | ||||
in Progress, Internet-Draft, draft-ietf-spring-srv6-srh- | ||||
compression-04, 31 March 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-spring- | ||||
srv6-srh-compression-04>. | ||||
[IANA-IPFIX] | [IANA-IPFIX] | |||
"IANA, "IP Flow Information Export (IPFIX) Entities"", | IANA, "IP Flow Information Export (IPFIX) Entities", | |||
<https://www.iana.org/assignments/ipfix/ipfix.xhtml>. | <https://www.iana.org/assignments/ipfix>. | |||
[INSA-Lyon-VPP] | [OSPFV3-SRV6-EXT] | |||
"INSA Lyon, FD.io VPP implementation", | Li, Z., Hu, Z., Talaulikar, K., Ed., and P. Psenak, | |||
<https://github.com/network-analytics/vpp-srh-onpath- | "OSPFv3 Extensions for SRv6", Work in Progress, Internet- | |||
telemetry>. | Draft, draft-ietf-lsr-ospfv3-srv6-extensions-15, 21 June | |||
2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
lsr-ospfv3-srv6-extensions-15>. | ||||
[Paolo-Lucente-Pmacct] | [PCEP-SRV6-EXT] | |||
"Paolo Lucente, Pmacct open source Network Telemetry Data | Li, C., Kaladharan, P., Sivabalan, S., Koldychev, M., and | |||
Collection", <https://github.com/pmacct/pmacct>. | Y. Zhu, "Path Computation Element Communication Protocol | |||
(PCEP) Extensions for Segment Routing leveraging the IPv6 | ||||
dataplane", Work in Progress, Internet-Draft, draft-ietf- | ||||
pce-segment-routing-ipv6-20, 8 September 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-pce- | ||||
segment-routing-ipv6-20>. | ||||
[RFC7270] Yourtchenko, A., Aitken, P., and B. Claise, "Cisco- | [RFC7270] Yourtchenko, A., Aitken, P., and B. Claise, "Cisco- | |||
Specific Information Elements Reused in IP Flow | Specific Information Elements Reused in IP Flow | |||
Information Export (IPFIX)", RFC 7270, | Information Export (IPFIX)", RFC 7270, | |||
DOI 10.17487/RFC7270, June 2014, | DOI 10.17487/RFC7270, June 2014, | |||
<https://www.rfc-editor.org/info/rfc7270>. | <https://www.rfc-editor.org/info/rfc7270>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | |||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | |||
skipping to change at page 18, line 27 ¶ | skipping to change at line 635 ¶ | |||
[RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, | [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, | |||
A., and P. Mattes, "Segment Routing Policy Architecture", | A., and P. Mattes, "Segment Routing Policy Architecture", | |||
RFC 9256, DOI 10.17487/RFC9256, July 2022, | RFC 9256, DOI 10.17487/RFC9256, July 2022, | |||
<https://www.rfc-editor.org/info/rfc9256>. | <https://www.rfc-editor.org/info/rfc9256>. | |||
[RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., | [RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., | |||
and Z. Hu, "IS-IS Extensions to Support Segment Routing | and Z. Hu, "IS-IS Extensions to Support Segment Routing | |||
over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, | over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, | |||
February 2023, <https://www.rfc-editor.org/info/rfc9352>. | February 2023, <https://www.rfc-editor.org/info/rfc9352>. | |||
[SRV6-SRH-COM] | ||||
Cheng, W., Ed., Filsfils, C., Li, Z., Decraene, B., and F. | ||||
Clad, Ed., "Compressed SRv6 Segment List Encoding", Work | ||||
in Progress, Internet-Draft, draft-ietf-spring-srv6-srh- | ||||
compression-09, 23 October 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-spring- | ||||
srv6-srh-compression-09>. | ||||
Appendix A. IPFIX Encoding Examples | Appendix A. IPFIX Encoding Examples | |||
This appendix represents three different encodings for the newly | This appendix represents three different encodings for the newly | |||
introduced IEs, for the example values in Table 3. The three | introduced IEs, for the example values in Table 3. The three | |||
different encodings use the following IEs, respectively: | different encodings use the following IEs, respectively: | |||
srhSegmentIPv6BasicList, srhSegmentIPv6ListSection, and | srhSegmentIPv6BasicList, srhSegmentIPv6ListSection, and | |||
srhIPv6Section. | srhIPv6Section. | |||
+-----+------+-----+----------------+--------------------------| | +========+=======+=====+==============+==========================+ | |||
| SRH | SRH | SRH | Active Segment | Segment List | | | SRH Nr | SRH | SRH | Active | Segment List | | |||
| Nr | Flags| Tag | Type | | | | | Flags | Tag | Segment Type | | | |||
+-----+------+-----+----------------+--------------------------+ | +========+=======+=====+==============+==========================+ | |||
| 1 | 0 | 123 | IS-IS | 2001:db8::1, 2001:db8::2,| | | 1 | 0 | 123 | IS-IS [4] | 2001:db8::1, | | |||
| | | | | 2001:db8::3 | | | | | | | 2001:db8::2, 2001:db8::3 | | |||
+-----+------+-----+----------------+--------------------------+ | +--------+-------+-----+--------------+--------------------------+ | |||
| 2 | 0 | 456 | IS-IS | 2001:db8::4, 2001:db8::5 | | | 2 | 0 | 456 | IS-IS [4] | 2001:db8::4, 2001:db8::5 | | |||
+-----+------+-----+----------------+--------------------------+ | +--------+-------+-----+--------------+--------------------------+ | |||
| 3 | 0 | 789 | IS-IS | 2001:db8::6 | | | 3 | 0 | 789 | IS-IS [4] | 2001:db8::6 | | |||
+-----+------+-----+----------------+--------------------------+ | +--------+-------+-----+--------------+--------------------------+ | |||
Table 3: Three Observed SRH headers and Their Associated Routing Protocol | Table 3: Three Observed SRH Headers and Their Associated | |||
Routing Protocols | ||||
A.1. Three Observed SRH Headers and Their Routing Protocols | ||||
A.1. Three Observed SRH Headers and their Routing Protocol | ||||
A.1.1. Template Record and Data Set with Segment Basic List | A.1.1. Template Record and Data Set with Segment Basic List | |||
With encoding in Figure 1, the examples in Table 3 are represented | With encoding in Figure 1, the examples in Table 3 are represented | |||
with the following IEs: “=>” is used to indicate which IE is mapped | with the following IEs, where "=>" is used to indicate which IE is | |||
to a given information. | mapped to given information: | |||
* SR Flags => srhFlagsIPv6 (TBD1) | * SRH Flags => srhFlagsIPv6 (492) | |||
* SR Tag => srhTagIPv6 (TBD2) | * SRH Tag => srhTagIPv6 (493) | |||
* Active Segment Type => srhIPv6ActiveSegmentType (TBD9) | * Active Segment Type => srhIPv6ActiveSegmentType (500) | |||
* Segment List => srhSegmentIPv6BasicList (TBD5) | * Segment List => srhSegmentIPv6BasicList (496) | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 2 | Length = 24 | | | SET ID = 2 | Length = 24 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Template ID = 256 | Field Count = 4 | | | Template ID = 256 | Field Count = 4 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhFlagsIPv6 = TBD1 | Field Length = 1 | | |0| srhFlagsIPv6 = 492 | Field Length = 1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhTagIPv6 = TBD2 | Field Length = 2 | | |0| srhTagIPv6 = 493 | Field Length = 2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0|srhActiveSegmentIPv... = TBD9| Field Length = 1 | | |0|srhIPv6ActiveSegmentType= 500| Field Length = 1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0|srhSegmentIPv6BasicList= TBD5| Field Length = 0xFFFF | | |0|srhSegmentIPv6BasicList = 496| Field Length = 0xFFFF | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 1: Template Record with Basic List Encoding Format | Figure 1: Template Record with Basic List Encoding Format | |||
In this example, the Template ID is 256, which will be used in the | In this example, the Template ID is 256, which will be used in the | |||
Data Record. The field length for srhSegmentIPv6BasicList is 0xFFFF, | Data Record. The field length for srhSegmentIPv6BasicList is 0xFFFF, | |||
which means the length of this IE is variable, and the actual length | which means the length of this IE is variable, and the actual length | |||
of this IE is indicated by the List Length field in the basicList | of this IE is indicated by the List Length field in the basicList | |||
format as per [RFC6313]. | format as per [RFC6313]. | |||
The data set is represented as follows: | The data set is represented 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 256 | Length = 136 | | | SET ID = 256 | Length = 136 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhFlagsIPv6 | srhTagIPv6 = 123 | srhActiveSegme| | | srhFlagsIPv6 | srhTagIPv6 = 123 |srhIPv6Active | | |||
| = 0 | | ntIPv...=TBD16| | | = 0 | |SegmentType= 4| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 255 | List Length = 53 |semantic= | | | 255 | List Length = 53 |semantic= | | |||
| | |ordered | | | | |ordered | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhSegmentIPv6 = TBD3 | Field Length = 16 | | | srhSegmentIPv6 = 494 | Field Length = 16 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[0] = 2001:db8::1 | | | Segment List[0] = 2001:db8::1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[1] = 2001:db8::2 | | | Segment List[1] = 2001:db8::2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[2] = 2001:db8::3 | | | Segment List[2] = 2001:db8::3 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhFlagsIPv6 | srhTagIPv6 = 456 | srhActiveSegme| | | srhFlagsIPv6 | srhTagIPv6 = 456 | srhIPv6Active | | |||
| = 0 | | ntIPv...=TBD16| | | = 0 | | SegmentType= 4| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 255 | List Length = 37 |semantic= | | | 255 | List Length = 37 |semantic= | | |||
| | |ordered | | | | |ordered | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhSegmentIPv6 = TBD3 | Field Length = 16 | | | srhSegmentIPv6 = 494 | Field Length = 16 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[0] = 2001:db8::4 | | | Segment List[0] = 2001:db8::4 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[1] = 2001:db8::5 (16 bytes) | | | Segment List[1] = 2001:db8::5 (16 bytes) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhFlagsIPv6 | srhTagIPv6 = 789 | srhActiveSegme| | | srhFlagsIPv6 | srhTagIPv6 = 789 | srhIPv6Active | | |||
| = 0 | | ntIPv...=TBD16| | | = 0 | | SegmentType= 4| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 255 | List Length = 21 |semantic= | | | 255 | List Length = 21 |semantic= | | |||
| | |ordered | | | | |ordered | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhSegmentIPv6 = TBD3 | Field Length = 16 | | | srhSegmentIPv6 = 494 | Field Length = 16 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[0] = 2001:db8::6 ... | | | Segment List[0] = 2001:db8::6 ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: Data Set Encoding Format for Basic List | Figure 2: Data Set Encoding Format for Basic List | |||
A.1.2. Template Record and Data Set with Segment List Section | A.1.2. Template Record and Data Set with Segment List Section | |||
With encoding in Figure 3, the examples in Table 3 are represented | With encoding in Figure 3, the examples in Table 3 are represented | |||
with the following IEs: “=>” is used to indicate which IE is mapped | with the following IEs, where "=>" is used to indicate which IE is | |||
to a given information. | mapped to given information: | |||
* SR Flags => srhFlagsIPv6 (TBD1) | * SRH Flags => srhFlagsIPv6 (492) | |||
* SR Tag => srhTagIPv6 (TBD2) | * SRH Tag => srhTagIPv6 (493) | |||
* Active Segment Type => srhIPv6ActiveSegmentType (TBD9) | * Active Segment Type => srhIPv6ActiveSegmentType (500) | |||
* Segment List => srhSegmentIPv6ListSection (497) | ||||
* Segment List => srhSegmentIPv6ListSection (TBD6) | ||||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 2 | Length = 24 | | | SET ID = 2 | Length = 24 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Template ID = 257 | Field Count = 4 | | | Template ID = 257 | Field Count = 4 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhFlagsIPv6 = TBD1 | Field Length = 1 | | |0| srhFlagsIPv6 = 492 | Field Length = 1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhTagIPv6 = TBD2 | Field Length = 2 | | |0| srhTagIPv6 = 493 | Field Length = 2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0|srhActiveSegmentIPv... = TBD9| Field Length = 1 | | |0|srhIPv6ActiveSegmentType= 500| Field Length = 1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhSegmentIPv6List | Field Length = 0xFFFF | | |0|srhSegmentIPv6ListSection=497| Field Length = 0xFFFF | | |||
| | Section=TBD6 | | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 3: Template Record with Segment List Section Encoding Format | Figure 3: Template Record with Segment List Section Encoding Format | |||
In this example, the Template ID is 257, which will be used in the | In this example, the Template ID is 257, which will be used in the | |||
Data Record. The field length for srhSegmentIPv6ListSection in the | Data Record. The field length for srhSegmentIPv6ListSection in the | |||
Template Record is 0xFFFF, which means that the length of this IE is | Template Record is 0xFFFF, which means that the length of this IE is | |||
variable: its actual length is encoded in the Data Set. Note that, | variable: its actual length is encoded in the Data Set. Note that, | |||
with an actual length inferior to 255 in the Data Record example, the | with an actual length inferior to 255 in the Data Record example, the | |||
length field is encoded in 8 bits (Section 7 of [RFC7011]). | length field is encoded in 8 bits (Section 7 of [RFC7011]). | |||
The data can be represented as follows: | The data can be represented 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 257 | Length = 116 | | | SET ID = 257 | Length = 116 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhFlagsIPv6 | srhTagIPv6 = 123 | srhActiveSegme| | | srhFlagsIPv6 | srhTagIPv6 = 123 | srhIPv6Active | | |||
| = 0 | | ntIPv...=TBD16| | | = 0 | | SegmentType= 4| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Length = 48 | 2001:db8::1 | | | Length = 48 | 2001:db8::1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | 2001:db8::2 | | | ... | 2001:db8::2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | 2001:db8::3 | | | ... | 2001:db8::3 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | srhFlagsIPv6 | srhTagIPv6 = 456 | | | ... | srhFlagsIPv6 | srhTagIPv6 = 456 | | |||
| | = 0 | | | | | = 0 | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhActiveSegme| Length = 32 | 2001:db8::4 | | | srhIPv6Active | Length = 32 | 2001:db8::4 | | |||
| ntIPv...=TBD15| | | | | SegmentType= 4| | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | 2001:db8::5 | | | ... | 2001:db8::5 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... |srhFlagsIPv6=0 | srhTagIPv6... | | | ... |srhFlagsIPv6=0 | srhTagIPv6 = | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| = 789 | srhActiveSegment | Length = 16 | | | 789 | srhIPv6ActiveSegmentType = 4 | Length = 16 | | |||
| | IPv6Type=TBD16 | | | | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 2001:db8::6 ... | | | 2001:db8::6 ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 4: Data Set Encoding Format for Segment List Section | Figure 4: Data Set Encoding Format for Segment List Section | |||
A.1.3. Template Record and Data Set with SRH Section | A.1.3. Template Record and Data Set with SRH Section | |||
With encoding in Figure 5, the examples in Table 3 are represented | With encoding in Figure 5, the examples in Table 3 are represented | |||
with the following IEs: “=>” is used to indicate which IE is mapped | with the following IEs, where "=>" is used to indicate which IE is | |||
to a given information. | mapped to given information: | |||
* SR Flags + SR Tag + Segment List => srhIPv6Section (TBD8) | * SRH Flags + SRH Tag + Segment List => srhIPv6Section (499) | |||
* Active Segment Type => srhIPv6ActiveSegmentType (TBD9) | * Active Segment Type => srhIPv6ActiveSegmentType (500) | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 2 | Length = 16 | | | SET ID = 2 | Length = 16 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Template ID = 258 | Field Count = 2 | | | Template ID = 258 | Field Count = 2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhActiveSegmentIP... = TBD9| Field Length = 1 | | |0|srhIPv6ActiveSegmentType= 500| Field Length = 1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| srhIPv6Section = TBD8 | Field Length = 0xFFFF | | |0| srhIPv6Section = 499 | Field Length = 0xFFFF | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 5: Template Record with SRH Section Encoding Format | Figure 5: Template Record with SRH Section Encoding Format | |||
In this example, the Template ID is 258, which will be used in the | In this example, the Template ID is 258, which will be used in the | |||
Data Record. The field length for srhIPv6Section in the Template | Data Record. The field length for srhIPv6Section in the Template | |||
Record is 0xFFFF, which means that the length of this IE is variable: | Record is 0xFFFF, which means that the length of this IE is variable: | |||
its actual length is encoded in the Data Set. Note that, with an | its actual length is encoded in the Data Set. Note that, with an | |||
actual length inferior to 255 in the Data Record example, the length | actual length inferior to 255 in the Data Record example, the length | |||
field is encoded in 8 bits (Section 7 of [RFC7011]). | field is encoded in 8 bits (Section 7 of [RFC7011]). | |||
The data can be represented as follows: | The data can be represented 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 258 | Length = (*) | | | SET ID = 258 | Length = (*) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhIPv6ActiveSegmentType = TBD16 | Length = (*) | | | srhIPv6ActiveSegmentType = 4 | Length = (*) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Next Header | Hdr Ext Len | Routing Type | Segments Left | | | Next Header | Hdr Ext Len | Routing Type | Segments Left | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Last Entry | Flags | Tag | | | Last Entry | Flags | Tag | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[0] 2001:db8::1 | | | 2001:db8::1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[1] 2001:db8::2 | | | 2001:db8::2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[2] 2001:db8::3 | | | 2001:db8::3 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Optional Type Length Value objects (variable) ~ | ~ Optional Type Length Value objects (variable) ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhIPv6ActiveSegmentType = TBD16 | 0xFFFF | | | srhIPv6ActiveSegmentType = 4 | 0xFFFF | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Next Header | Hdr Ext Len | Routing Type | Segments Left | | | Next Header | Hdr Ext Len | Routing Type | Segments Left | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Last Entry | Flags | Tag | | | Last Entry | Flags | Tag | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[0] 2001:db8::4 | | | 2001:db8::4 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[1] 2001:db8::5 | | | 2001:db8::5 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Optional Type Length Value objects (variable) ~ | ~ Optional Type Length Value objects (variable) ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| srhIPv6ActiveSegmentType = TBD16 | 0xFFFF | | | srhIPv6ActiveSegmentType = 4 | 0xFFFF | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Next Header | Hdr Ext Len | Routing Type | Segments Left | | | Next Header | Hdr Ext Len | Routing Type | Segments Left | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Last Entry | Flags | Tag | | | Last Entry | Flags | Tag | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Segment List[0] 2001:db8::6 | | | 2001:db8::6 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Optional Type Length Value objects (variable) ~ | ~ Optional Type Length Value objects (variable) ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 6: Data Set Encoding Format for SRH Section | Figure 6: Data Set Encoding Format for SRH Section | |||
(*) The Length must be calculated to include the optional Type Length | (*) The Length must be calculated to include the optional Type Length | |||
Value objects. | Value objects. | |||
A.2. Options Template Record and Data Set for SRv6 Segment End Point | A.2. Options Template Record and Data Set for SRv6 Segment Endpoint | |||
behavior and Locator Length | Behavior and Locator Length | |||
This appendix provides an SRv6 EndPoint Bevahior Options Template | This appendix provides an SRv6 Endpoint Behavior Options Template | |||
example, for the values presented in Table 4. In the Options | example, for the values presented in Table 4. In the Options | |||
Template case, the srhActiveSegmentIPv6 Information Element is a | Template case, the srhActiveSegmentIPv6 IE is a Scope field. | |||
Scope field | ||||
+-------+-------------+-------------------------+----------------+ | +==========+===================+================+================+ | |||
| Entry | SRH End | SRH End | SRH Segment | | | Entry Nr | SRH Endpoint IPv6 | SRH Endpoint | SRH Segment | | |||
| Nr | Point IPv6 | Point Behavior | Locator Length | | | | | Behavior | Locator Length | | |||
+-------+-------------+-------------------------+----------------+ | +==========+===================+================+================+ | |||
| 1 | 2001:db8::1 | End [1] | 48 | | | 1 | 2001:db8::1 | End [1] | 48 | | |||
+-------+-------------+-------------------------+----------------+ | +----------+-------------------+----------------+----------------+ | |||
| 2 | 2001:db8::4 | End with NEXT-CSID [43] | 48 | | | 2 | 2001:db8::4 | End with NEXT- | 48 | | |||
+-------+-------------+-------------------------+----------------+ | | | | CSID [43] | | | |||
| 3 | 2001:db8::6 | End.DX6 [16] | 48 | | +----------+-------------------+----------------+----------------+ | |||
+-------+-------------+-------------------------+----------------+ | | 3 | 2001:db8::6 | End.DX6 [16] | 48 | | |||
+----------+-------------------+----------------+----------------+ | ||||
Table 4: Three Observed SRv6 Segment End Point Behaviors | Table 4: Three Observed SRv6 Segment Endpoint Behaviors | |||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Set ID = 3 | Length = 24 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Template ID 259 | Field Count = 3 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Scope Field Count = 1 |0| srhActiveSegmentIPv6 = TBD4 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Scope 1 Field Length = 4 |0|srhSegmentEndpointBeh..=TBD11| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Field Length = 1 |0|srhSegmentIPv6Lo.Length=TBD10| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Field Length = 4 | Padding | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 7: Template Record with SRH Section Encoding Format | 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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Set ID = 3 | Length = 24 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Template ID 259 | Field Count = 3 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Scope Field Count = 1 |0| srhActiveSegmentIPv6 = 495 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Scope 1 Field Length = 4 |0|srhSegmentIPv6End.Behav = 502| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Field Length = 1 |0|srhSegmentIPv6Lo.Length = 501| | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Field Length = 4 | Padding | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 7: Segment Endpoint Behavior Options Template Record | ||||
In this example, the Template ID is 259, which will be used in the | In this example, the Template ID is 259, which will be used in the | |||
Data Record. | Data Record. | |||
The data set is represented as follows: | The data set is represented 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SET ID = 259 | Length = 28 | | | SET ID = 259 | Length = 28 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 2001:db8::1 | | | srhActiveSegmentIPv6 = 2001:db8::1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| End [1] | 48 | | |srhSegmentIPv6EndpointBehavior |srhSegmentIPv6LocatorLength= 48| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |= End [1] | | | |||
| 2001:db8::4 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | srhActiveSegmentIPv6 = 2001:db8::4 | | |||
| End with NEXT-CSID [43] | 48 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |srhSegmentIPv6EndpointBehavior |srhSegmentIPv6LocatorLength= 48| | |||
| 2001:db8::6 | | |= End with NEXT-CSID [43] | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| End.DX6 [16] | 48 | | | srhActiveSegmentIPv6 = 2001:db8::6 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|srhSegmentIPv6EndpointBehavior |srhSegmentIPv6LocatorLength= 48| | ||||
|= End.DX6 [16] | | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 8: Data Set Encoding Format for SRH Section | Figure 8: Data Set Encoding Format for Segment Endpoint Behaviors | |||
(*) The Length must be calculated to include the optional Type Length | (*) The Length must be calculated to include the optional Type Length | |||
Value objects. | Value objects. | |||
Acknowledgements | ||||
The authors would like to thank Yao Liu, Eduard Vasilenko, Bruno | ||||
Decraene, Mohamed Boucadair, Kamran Raza, Qin Wu, Jim Guichard, Tero | ||||
Kivinen, Paul Aitken, Roman Danyliw, John Scudder, Éric Vyncke, Erik | ||||
Kline, Lars Eggert, and Andrew Alston for their reviews and valuable | ||||
comments. And thank you to Paolo Lucente and Alex Huang Feng for the | ||||
implementation and validation. | ||||
Authors' Addresses | Authors' Addresses | |||
Thomas Graf | Thomas Graf | |||
Swisscom | Swisscom | |||
Binzring 17 | Binzring 17 | |||
CH-8045 Zurich | CH-8045 Zurich | |||
Switzerland | Switzerland | |||
Email: thomas.graf@swisscom.com | Email: thomas.graf@swisscom.com | |||
Benoit Claise | Benoit Claise | |||
End of changes. 134 change blocks. | ||||
784 lines changed or deleted | 625 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |