RFC 8258

Generalized SCSI: A Generic Structure for Interface Switching Capability Descriptor (ISCD) Switching Capability Specific Information (SCSI)

πŸ“… published October 2017, from ietf

RFC 8258 πŸ’– Generalized SCSI ✨

Okay bestie, let's get into this one πŸŽ€ It's an IETF Standards Track doc from October 2017, ISSN 2070-1721. It was written by D. Ceccarelli (Ericsson) and L. Berger (LabN Consulting, L.L.C.). The title is Generalized SCSI: A Generic Structure for Interface Switching Capability Descriptor (ISCD) Switching Capability Specific Information (SCSI). The title block doesn't list anything it obsoletes or updates, so no drama there πŸ™ˆ

Abstract 🌸

So this doc defines a generic information structure for the stuff carried in routing protocol ISCD Switching Capability Specific Information (SCSI) fields πŸ’… It's called "Generalized SCSI." It works with routing protocols that define GMPLS ISCDs and with any specific technology. It does not change any existing technology-specific formats. It's meant for use with new GMPLS Switching Capability types πŸ¦‹ The context is Generalized MPLS, so you should already be comfy with the GMPLS architecture and its protocol standards.

Status of This Memo πŸ“œ

This is an Internet Standards Track doc πŸ”₯ It's a product of the IETF, it represents the consensus of the IETF community, it got public review, and the IESG approved it for publication. For more on Internet Standards, check Section 2 of RFC 7841 πŸ’œ

Errata, current status, and feedback info live at https://www.rfc-editor.org/info/rfc8258 ✨

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

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as in effect on the publication date. Read them carefully, because they spell out your rights and restrictions for this doc πŸ“– Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes.

Table of Contents πŸ—‚οΈ

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Generalized SCSI Formats  . . . . . . . . . . . . . . . . . .   3
   4.  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1. Introduction ✨

The context here is Generalized MPLS, so you should know the GMPLS architecture, its terminology, and its protocol standards 🧚 That especially means (but isn't limited to) [RFC3945], [RFC4202], [RFC4203] and [RFC5307].

Okay so the Interface Switching Capability Descriptor (ISCD) [RFC4202] lets routing protocols like OSPF and ISIS carry technology-specific info in the Switching Capability-specific information field. See [RFC4203] and [RFC5307] for that πŸ’– The format of an SCSI field is dictated by the specific technology it represents, as indicated by the ISCD Switching Capability field. IANA manages the existing Switching Capabilities in the "Switching Types" registry at <http://www.iana.org/assignments/gmpls-sig-parameters>, along with the related "IANA-GMPLS-TC-MIB" definitions πŸ“š

[RFC7138] brought in a "sub-TLV" structure for its technology-specific SCSI field πŸ¦‹ The sub-TLV approach is way more flexible when it comes to structure, ordering, and supporting extensions of the SC-specific format. This Sub-TLV approach is also used in [RFC7688] 🌈

This doc generalizes that approach and defines a brand-new generalized SCSI field format for future specific technologies and Switching Capability types πŸ‘‘ Generalized SCSI carries SCSI-TLVs, which can be defined within one specific technology or shared across several (e.g., [AVAIL-EXT]). The doc also sets up a registry for SCSI-TLV definitions that may be shared across multiple technologies 🫢

2. Terminology πŸ’…

Here are the BCP 14 key words: "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL". They get read the way BCP 14 [RFC2119] [RFC8174] describes, but only when they show up in all capitals, just like that πŸ”₯ So a lowercase "must" is just a regular word, no cap 😌

You should be familiar with GMPLS terminology (e.g., as found in [RFC3945]), plus the terminology used in [RFC4202], [RFC4203], and [RFC5307] 🧚

3. Generalized SCSI Formats πŸ¦‹

The Generalized SCSI is made up of zero or more variable-length TLV fields, and each one is called an "SCSI-TLV" πŸŽ€ There are no specific size restrictions on these SCSI-TLVs. The routing protocol ISCD field can impose size and other formatting restrictions (refer to [RFC4203] and [RFC5307]). For the treatment of malformed Link TLVs, please refer to [RFC3630] πŸ’œ

The SCSI-TLV format looks like this πŸ‘‡

       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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             Type              |             Length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ...                           Value                           ...
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Figure 1: TLV Format

Let's break down the fields πŸ“

  • Type (2 octets): This field tells you the type and structure of the info in the Value field 🌸
  • Length (2 octets): This field MUST be set to the size, in octets (bytes), of the Value field. The value of the field MUST be zero or divisible by 4. That also implies the Value field can be omitted or contain padding πŸ™ˆ
  • Value (variable): This is a variable-length field, formatted according to whatever the Type field says it is. It can be omitted for certain types 🧚

4. Procedures πŸ”₯

The ISCD can include a Generalized SCSI when it advertises technologies whose Switching Capability definition references this document πŸ’– The flip side is that the Generalized SCSI MUST NOT be used for ISCDs of technologies whose Switching Capability definition does not reference this document. Not for them, bestie 🚫

The Generalized SCSI MAY contain a sequence of zero or more SCSI-TLVs ✨ Sub-TLV parsing (format) errors MUST be treated as a malformed ISCD πŸ’€ SCSI-TLVs MUST be processed in the order they were received and, if they get re-originated, ordering MUST be preserved πŸ“‹ Unknown SCSI-TLVs MUST be ignored and transparently processed, i.e., re-originated when appropriate πŸ¦‹ Processing for multiple SCSI-TLVs of the same type may be further refined based on how that type is defined 🌈

7.2. Informative References ✨

okay so these are the bonus reads, bestie πŸ“š you don't need them to get the spec, but they're the deep-dive corner for when you're obsessed and want more context πŸ’…


Acknowledgments 🫢

the authors wanna give a huge shoutout to Adrian Farrel and Julien Meuric for the careful review and suggestions πŸ™Œ and Thomas Heide Clausen dropped some super useful comments during the Routing Directorate review πŸ’œ iconic teamwork, no cap

Authors' Addresses πŸ¦‹

Daniele Ceccarelli
Ericsson
Torshamnsgatan 21
Kista - Stockholm
Sweden

Email: daniele.ceccarelli@ericsson.com


Lou Berger
LabN Consulting, L.L.C.

Email: lberger@labn.net
πŸ“¦ where this page comes from