| 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. | ||||