6man WG X. Li
Internet-Draft C. Bao
Intended status: Standards Track CERNET Center/Tsinghua University
Expires: May 3, 2020 E. Ruan
Fungible Inc.
R. Bonica
Juniper Networks
October 31, 2019

Compressed Routing Header (CRH) Helper Option
draft-bonica-6man-crh-helper-opt-00

Abstract

This document defines the IPv6 CRH Helper option. When an SRm6 ingress node originates a packet, it can use the IPv6 CRH Helper option to provide SID Forwarding Information Base (SFIB) information to downstream nodes that do not maintain a complete SFIB.

Status of This Memo

This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on May 3, 2020.

Copyright Notice

Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

SRm6 leverages two new IPv6 Routing types. Generically, they are called the Compressed Routing Header (CRH). More specifically, the 16-bit version of the CRH is called the CRH-16, while the 32-bit version of the CRH is called the CRH-32.

Both CRH versions contain the following fields:

As per [RFC8200], when an IPv6 node receives a packet, it examines the packet's destination address. If the destination address represents an interface belonging to the node, the node processes the next header. If the node encounters and recognizes the CRH, it processes the CRH as follows:

In a typical SRm6 deployment, every segment ingress node maintains a complete SFIB and the above-mentioned query returns an SFIB entry. However, in some SRm6 deployments, some segment ingress nodes maintain a complete SFIB while others do not. The following are reasons why a segment ingress node might not maintain a complete SFIB:

This document defines the IPv6 CRH Helper option. When an SRm6 path ingress node originates a packet, it can use the IPv6 CRH Helper option to provide SFIB information to downstream nodes that do not maintain a complete SFIB.

If a segment ingress node queries its SFIB, searching for an entry that is indexed by the current SID, and that query returns nothing, the segment ingress node can obtain the required SFIB information from the IPv6 CRH Helper option. If the segment ingress node cannot obtain the required SFIB information from either source, it discards the packet sends an ICMPv6 Parameter Problem message to the source node.

2. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. Option Format

The CRH Helper option contains the following fields:

Each SFIBH contains the following fields:

NOTE : The highest-order two bits of the Option Type (i.e., the "act" bits) are 00. These bits specify the action taken by a destination node that does not recognize the option. The required action is to skip over this option and continue processing the header.

The third highest-order bit of the Option Type (i.e., the "chg" bit) is 0. This indicates that Option Data cannot be modified along the path between the packet's source and its destination.

4. Option Processing

When a segment endpoint node processes a CRH, it attempts to resolve the SID using information contained by its SFIB. If it cannot resolve the SID using SFIB, it attempts to resolve the SID using information received in an applicable SFIBH. If no SFIBH applies to the current SID, the processing node discards the packet and sends an ICMPv6 Parameter Problem message to the source node.

When the processing node uses an SFIBH to resolve a SID, it executes the following procedure:

If the prefix found in the applicable SFIBH is 16 bytes long, it overwrites the entire IPv6 Destination Address.

The CRH Helper option MAY occur in a Destination Options header that precedes a CRH. It SHOULD NOT occur in a Hop-by-hop options header or in a Destination Options header that precedes an upper-layer header.

When a segment ingress node resolves a SID using information obtained from the CRH helper option, the SID is understood to be a prefix SID. Therefore, the packet is forwarded to its destination via the least cost path.

Information obtained from the CRH Helper option is transient. It is discarded as soon as the packet that carried it has been processed.

5. Security Considerations

When a segment endpoint node processes a CRH, it attempts to resolve the SID using information contained by its SFIB. If it can resolve the SID using SFIB, it MUST ignore the CRH Helper option, even if it contains an applicable SFIBH.

6. IANA Considerations

IANA is requested to allocate a code point from the Destination Options and Hop-by-hop Options registry (https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml#ipv6-parameters-2). This option is called "CRH Helper Option". The "act" bits are 00 and the "chg" bit is 0. (Suggested value: 0x11).

7. Acknowledgements

Thanks to TBD for their careful review of this document.

8. References

8.1. Normative References

[I-D.bonica-6man-comp-rtg-hdr] Bonica, R., Kamite, Y., Niwa, T., Alston, A., Henriques, D., Jalil, L., So, N., Xu, F., Chen, G., Zhu, Y., Yang, G. and Y. Zhou, "The IPv6 Compressed Routing Header (CRH)", Internet-Draft draft-bonica-6man-comp-rtg-hdr-08, October 2019.
[I-D.bonica-spring-srv6-plus] Bonica, R., Hegde, S., Kamite, Y., Alston, A., Henriques, D., Jalil, L., Halpern, J., Linkova, J. and G. Chen, "Segment Routing Mapped To IPv6 (SRm6)", Internet-Draft draft-bonica-spring-srv6-plus-06, October 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC4443] Conta, A., Deering, S. and M. Gupta, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", STD 89, RFC 4443, DOI 10.17487/RFC4443, March 2006.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017.

8.2. Informative References

[I-D.bonica-lsr-crh-isis-extensions] Kaneriya, P., Shetty, R., Hegde, S. and R. Bonica, "IS-IS Extensions To Support The IPv6 Compressed Routing Header (CRH)", Internet-Draft draft-bonica-lsr-crh-isis-extensions-00, May 2019.

Authors' Addresses

Xing Li CERNET Center/Tsinghua University Room 225, Main Building, Tsinghua University Beijing, 100084 People's Republic of China EMail: xing@cernet.edu.cn
Congxiao Bao CERNET Center/Tsinghua University Room 225, Main Building, Tsinghua University Beijing, 100084 People's Republic of China EMail: congxiao@cernet.edu
Eddie Ruan Fungible Inc. 3201 Scott Blvd Santa Clara, California 95054 USA EMail: eddie.ruan@fungible.com
Ron Bonica Juniper Networks 2251 Corporate Park Drive Herndon, Virginia 20171 USA EMail: rbonica@juniper.net