RFC 9451
Operations, Administration, and Maintenance (OAM) Packet and Behavior in the Network Service Header (NSH)
RFC 9451: OAM Packet and Behavior in the Network Service Header (NSH) β¨
Okay bestie, this one is a Standards Track doc from the IETF, published August 2023 π . Mohamed Boucadair from Orange wrote it, and it has ISSN 2070-1721. It updates RFC 8300, which is the NSH spec itself π¦. So this is basically a fix-up for NSH, and it's literally clarifying what "OAM packet" means π
Table of Contents
1. Introduction
2. Terminology
3. An Update to RFC 8300
4. IANA Considerations
5. Security Considerations
6. References
6.1. Normative References
6.2. Informative References
Acknowledgments
Author's Address
Abstract πΈ
Okay so this doc clears up a bit of confusion in the Network Service Header (NSH) spec about how the O bit gets handled. The big thing it fixes is what "OAM packet" actually means π
This document updates RFC 8300.
Status of This Memo π
This is an Internet Standards Track document. It's a product of the Internet Engineering Task Force (IETF), so it has the consensus of the IETF community, got public review, and was approved for publication by the Internet Engineering Steering Group (IESG) π. If you want more on Internet Standards, check Section 2 of RFC 7841. For the current status, any errata, or to send feedback, go to https://www.rfc-editor.org/info/rfc9451 β¨
Copyright Notice Β©οΈ
Copyright (c) 2023 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 they were in effect when it was published. Please actually read those, because they spell out your rights and restrictions for this document. Any Code Components pulled out of this doc must include Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as described in the Revised BSD License π
1. Introduction π§
Okay so this doc clears up an ambiguity about the definition of the Operations, Administration, and Maintenance (OAM) packet that's discussed in [RFC8300]. The way it's giving right now is confusing, and we're fixing that π
Handling of the O bit in the Network Service Header (NSH) has to follow the updated behavior in Section 3. No other version counts β¨
2. Terminology π¦
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 read as described in BCP 14 [RFC2119] [RFC8174], but only when they show up in all capitals, like they do here π₯
This doc uses terms defined in [RFC7665] and [RFC8300]. It also defines these terms:
- Service Function Chaining (SFC) data plane element: an SFC-aware Service Function (SF), Service Function Forwarder (SFF), SFC Proxy, or Classifier, as defined in the SFC data plane architecture [RFC7665] and further refined in [RFC8300] π
- OAM control element: an NSH-aware element that can generate NSH OAM packets. An SFC data plane element may act as an OAM control element too π«Ά
- SFC OAM data: this covers an OAM request (for example, Connectivity Verification and Continuity Checks [RFC7276]), any data that affects how to run a companion OAM request (like the identity of a terminating SF), the output data of an OAM request, and any mix of those π§
- User data: user packets, as cited in Section 5.7 of [RFC7665] π
3. An Update to RFC 8300 π
This doc updates Section 2.2 of [RFC8300] like so. First, here's the OLD text π
OLD:
| O bit: Setting this bit indicates an OAM packet (see [RFC6291]).
| The actual format and processing of SFC OAM packets is outside
| the scope of this specification (for example, see [SFC-OAM-
| FRAMEWORK] for one approach).
|
| The O bit MUST be set for OAM packets and MUST NOT be set for
| non-OAM packets. The O bit MUST NOT be modified along the SFP.
|
| SF/SFF/SFC Proxy/Classifier implementations that do not support
| SFC OAM procedures SHOULD discard packets with O bit set, but
| MAY support a configurable parameter to enable forwarding
| received SFC OAM packets unmodified to the next element in the
| chain. Forwarding OAM packets unmodified by SFC elements that
| do not support SFC OAM procedures may be acceptable for a
| subset of OAM functions, but it can result in unexpected
| outcomes for others; thus, it is recommended to analyze the
| impact of forwarding an OAM packet for all OAM functions prior
| to enabling this behavior. The configurable parameter MUST be
| disabled by default.
And here's the NEW text, which is the good stuff β¨
NEW:
| O bit: Setting this bit indicates an NSH OAM packet. Such a
| packet is any NSH-encapsulated packet that exclusively includes
| SFC OAM data. SFC OAM data can be included in the Fixed-Length
| Context Header, optional Context Headers, and/or the inner
| packet.
|
| The O bit is typically set by an OAM controller or a final
| destination of an NSH OAM packet that triggers a response
| (e.g., a specific SFC-aware SF or the last SFF of an SFP).
|
| The O bit MUST be set for NSH OAM packets and MUST NOT be set
| for non-OAM packets. The O bit MUST NOT be modified along the
| SFP.
|
| NSH-encapsulated packets that include user data are not
| considered NSH OAM packets even if some SFC OAM data (e.g.,
| record route) is also supplied in the packet.
|
| When SFC OAM data is included in the inner packet, the Next
| Protocol field is set to reflect the structure of that inner
| OAM packet. The setting and processing of the O bit neither
| assumes nor expects detailed analysis of the content of any
| inner IP packet carried by the NSH. In order to prevent non-
| deterministic behaviors, SFC data plane elements MAY support a
| configuration parameter to filter valid Next Protocol values in
| NSH OAM packets. Absent explicit configuration, SFFs, SFC-
| aware SFs, and SFC Proxies SHOULD discard any NSH packets with
| the O bit set and Next Protocol set to something that is not
| itself an OAM protocol. This includes discarding the packet
| when the O bit is set and the Next Protocol is set to 0x01
| (IPv4), 0x02 (IPv6), 0x03 (MPLS), or 0x05 (Ethernet).
|
| An NSH OAM packet MAY include optional Context Headers (e.g., a
| subscriber identifier [RFC8979] or a flow identifier [RFC9263])
| that are used to influence the processing of the packet by SFC
| data plane elements.
|
| An NSH OAM packet MAY include SFC OAM data in both Context
| Headers and the inner packet. The processing of the SFC OAM
| data (including the order) SHOULD be specified in the relevant
| OAM or Context Header specification.
|
| SFC-aware implementations of SF, SFF, SFC Proxy, and Classifier
| that do not support SFC OAM procedures SHOULD discard packets
| with the O bit set but MAY support a configurable parameter to
| enable forwarding received NSH OAM packets unmodified to the
| next element in the chain. Forwarding NSH OAM packets
| unmodified by SFC data plane elements that do not support SFC
| OAM procedures may be acceptable for a subset of OAM functions,
| but it can result in unexpected outcomes for others. Thus, it
| is recommended to analyze the impact of forwarding an NSH OAM
| packet for all OAM functions prior to enabling this behavior.
| The configurable parameter MUST be disabled by default.
|
| The actual format and additional processing of NSH OAM packets
| is outside the scope of this specification.
4. IANA Considerations πΈ
No IANA actions for this one, bestie π
5. Security Considerations π₯
Let's get real for a sec, because this part is serious π Data plane SFC-related security considerations, including privacy, are covered in Section 6 of [RFC7665] and Section 8 of [RFC8300]. More security stuff about SFC OAM lives in Section 9 of [RFC8924].
Any data included in an NSH OAM packet SHOULD be integrity protected [RFC9145]. Do not skip this, it's a whole vibe check π
6. References π
6.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
"Network Service Header (NSH)", RFC 8300,
DOI 10.17487/RFC8300, January 2018,
<https://www.rfc-editor.org/info/rfc8300>.
[RFC9145] Boucadair, M., Reddy.K, T., and D. Wing, "Integrity
Protection for the Network Service Header (NSH) and
Encryption of Sensitive Context Headers", RFC 9145,
DOI 10.17487/RFC9145, December 2021,
<https://www.rfc-editor.org/info/rfc9145>.
6.2. Informative References
[RFC6291] Andersson, L., van Helvoort, H., Bonica, R., Romascanu,
D., and S. Mansfield, "Guidelines for the Use of the "OAM"
Acronym in the IETF", BCP 161, RFC 6291,
DOI 10.17487/RFC6291, June 2011,
<https://www.rfc-editor.org/info/rfc6291>.
[RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y.
Weingarten, "An Overview of Operations, Administration,
and Maintenance (OAM) Tools", RFC 7276,
DOI 10.17487/RFC7276, June 2014,
<https://www.rfc-editor.org/info/rfc7276>.
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
Chaining (SFC) Architecture", RFC 7665,
DOI 10.17487/RFC7665, October 2015,
<https://www.rfc-editor.org/info/rfc7665>.
[RFC8924] Aldrin, S., Pignataro, C., Ed., Kumar, N., Ed., Krishnan,
R., and A. Ghanwani, "Service Function Chaining (SFC)
Operations, Administration, and Maintenance (OAM)
Framework", RFC 8924, DOI 10.17487/RFC8924, October 2020,
<https://www.rfc-editor.org/info/rfc8924>.
[RFC8979] Sarikaya, B., von Hugo, D., and M. Boucadair, "Subscriber
and Performance Policy Identifier Context Headers in the
Network Service Header (NSH)", RFC 8979,
DOI 10.17487/RFC8979, February 2021,
<https://www.rfc-editor.org/info/rfc8979>.
[RFC9263] Wei, Y., Ed., Elzur, U., Majee, S., Pignataro, C., and D.
Eastlake 3rd, "Network Service Header (NSH) Metadata Type
2 Variable-Length Context Headers", RFC 9263,
DOI 10.17487/RFC9263, August 2022,
<https://www.rfc-editor.org/info/rfc9263>.
Acknowledgments π«Ά
Huge thanks to Jim Guichard, Greg Mirsky, Joel Halpern, Christian Jacquenet, Dirk von-Hugo, Carlos Pignataro, and Frank Brockners for the comments π
Thanks to Barry Leiba for the art directorate review, and Russ Housley for the security directorate review π
Thanks to Alvaro Retana and Robert Wilton for their IESG reviews π
Author's Address ποΈ
Mohamed Boucadair Orange 35000 Rennes France Email: mohamed.boucadair@orange.com
π¦ where this page comes from
- ietf: rfc9451 2023-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms