draft-ietf-6man-icmp-limits-06.txt   draft-ietf-6man-icmp-limits-07.txt 
INTERNET-DRAFT T. Herbert INTERNET-DRAFT T. Herbert
Intended Status: Standard Intel Intended Status: Standard Intel
Expires: March 2020 Expires: April 2020
September 24, 2019 September 30, 2019
ICMPv6 errors for discarding packets due to processing limits ICMPv6 errors for discarding packets due to processing limits
draft-ietf-6man-icmp-limits-06 draft-ietf-6man-icmp-limits-07
Abstract Abstract
Network nodes may discard packets if they are unable to process Network nodes may discard packets if they are unable to process
protocol headers of packets due to processing constraints or limits. protocol headers of packets due to processing constraints or limits.
When such packets are dropped, the sender receives no indication so When such packets are dropped, the sender receives no indication so
it cannot take action to address the cause of discarded packets. This it cannot take action to address the cause of discarded packets. This
specification defines several new ICMPv6 errors that can be sent by a specification defines several new ICMPv6 errors that can be sent by a
node that discards packets because it is unable to process the node that discards packets because it is unable to process the
protocol headers. A node that receives such an ICMPv6 error may be protocol headers. A node that receives such an ICMPv6 error may be
skipping to change at page 2, line 21 skipping to change at page 2, line 21
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Extension header limits . . . . . . . . . . . . . . . . . . 4 1.1 Extension header limits . . . . . . . . . . . . . . . . . . 4
1.2 Aggregate header limits . . . . . . . . . . . . . . . . . . 5 1.2 Aggregate header limits . . . . . . . . . . . . . . . . . . 5
2 ICMPv6 errors for extension header limits . . . . . . . . . . . 5 1.3 Requirements Language . . . . . . . . . . . . . . . . . . . 5
2.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 ICMPv6 errors for extension header limits . . . . . . . . . . . 6
2.2 Unrecognized Next Header type encountered (code 1) . . . . . 6 2.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Extension header too big (code TBA) . . . . . . . . . . . . 6 2.2 Unrecognized Next Header type encountered (code 1) . . . . . 7
2.3 Extension header too big (code TBA) . . . . . . . . . . . . 7
2.4 Extension header chain too long (code TBA) . . . . . . . . . 7 2.4 Extension header chain too long (code TBA) . . . . . . . . . 7
2.5 Too many options in extension header (code TBA) . . . . . . 7 2.5 Too many options in extension header (code TBA) . . . . . . 7
2.6 Option too big (code TBA) . . . . . . . . . . . . . . . . . 7 2.6 Option too big (code TBA) . . . . . . . . . . . . . . . . . 8
3 ICMPv6 error for aggregate header limits . . . . . . . . . . . 8 3 ICMPv6 error for aggregate header limits . . . . . . . . . . . 8
3.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1 Priority of reporting . . . . . . . . . . . . . . . . . . . 10 4.1 Priority of reporting . . . . . . . . . . . . . . . . . . . 11
4.2 Host response . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Host response . . . . . . . . . . . . . . . . . . . . . . . 12
5 Applicability and use cases . . . . . . . . . . . . . . . . . . 12 5 Applicability and use cases . . . . . . . . . . . . . . . . . . 12
5.1 Nonconformant packet discard . . . . . . . . . . . . . . . . 12 5.1 Nonconformant packet discard . . . . . . . . . . . . . . . . 12
5.2 Reliability of ICMP . . . . . . . . . . . . . . . . . . . . 12 5.2 Reliability of ICMP . . . . . . . . . . . . . . . . . . . . 13
5.3 Processing limits . . . . . . . . . . . . . . . . . . . . . 12 5.3 Processing limits . . . . . . . . . . . . . . . . . . . . . 13
5.3.1 Long headers and header chains . . . . . . . . . . . . . 12 5.3.1 Long headers and header chains . . . . . . . . . . . . . 13
5.3.2 At end hosts . . . . . . . . . . . . . . . . . . . . . . 13 5.3.2 At end hosts . . . . . . . . . . . . . . . . . . . . . . 14
5.3.3 At intermediate nodes . . . . . . . . . . . . . . . . . 13 5.3.3 At intermediate nodes . . . . . . . . . . . . . . . . . 14
6 Security Considerations . . . . . . . . . . . . . . . . . . . . 13 6 Security Considerations . . . . . . . . . . . . . . . . . . . . 14
7 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 13 7 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 14
7.1 Parameter Problem codes . . . . . . . . . . . . . . . . . . 13 7.1 Parameter Problem codes . . . . . . . . . . . . . . . . . . 14
7.2 Destination Unreachable codes . . . . . . . . . . . . . . . 14 7.2 Destination Unreachable codes . . . . . . . . . . . . . . . 15
7.3 ICMP Extension Object Classes and Class Sub-types . . . . . 14 7.3 ICMP Extension Object Classes and Class Sub-types . . . . . 15
8 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 14 8 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 15
9 References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9 References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9.1 Normative References . . . . . . . . . . . . . . . . . . . 14 9.1 Normative References . . . . . . . . . . . . . . . . . . . 15
9.2 Informative References . . . . . . . . . . . . . . . . . . 16 9.2 Informative References . . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 16 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 16
1 Introduction 1 Introduction
This document specifies several new ICMPv6 errors that can be sent This document specifies several new ICMPv6 errors that can be sent
when a node discards a packet due to it being unable to process the when a node discards a packet due to it being unable to process the
necessary protocol headers because of processing constraints or necessary protocol headers because of processing constraints or
limits. New ICMPv6 code points are defined as an update to [RFC4443]. limits. New ICMPv6 code points are defined as an update to [RFC4443].
Five of the errors are specific to processing of extension headers; Five of the errors are specific to processing of extension headers;
another error is used when the aggregate protocol headers in a packet another error is used when the aggregate protocol headers in a packet
skipping to change at page 5, line 30 skipping to change at page 5, line 30
discard the packet or defer processing to a software slow path. In discard the packet or defer processing to a software slow path. In
any case, no indication of a problem is sent back to the sender. any case, no indication of a problem is sent back to the sender.
This document defines one code for ICMPv6 Destination Unreachable This document defines one code for ICMPv6 Destination Unreachable
that is sent by a node that is unable to process the headers of a that is sent by a node that is unable to process the headers of a
packet due to the aggregate size of the packet headers exceeding a packet due to the aggregate size of the packet headers exceeding a
processing limit. A source host that receives an ICMPv6 error can processing limit. A source host that receives an ICMPv6 error can
modify the headers used in subsequent packets to try to avoid further modify the headers used in subsequent packets to try to avoid further
occurrences of packets being discarded or relegated to a slow path. occurrences of packets being discarded or relegated to a slow path.
1.3 Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2 ICMPv6 errors for extension header limits 2 ICMPv6 errors for extension header limits
Four new codes are defined for the Parameter Problem type and Four new codes are defined for the Parameter Problem type and
applicability of one existing code is extended for ICMPv6 errors for applicability of one existing code is extended for ICMPv6 errors for
extension header limits. extension header limits.
2.1 Format 2.1 Format
The format of the ICMPv6 Parameter Problem message [RFC4443] for an The format of the ICMPv6 Parameter Problem message [RFC4443] for an
extension header limit exceeded error is: extension header limit exceeded error is:
skipping to change at page 14, line 42 skipping to change at page 15, line 34
8 Acknowledgments 8 Acknowledgments
The author would like to thank Ron Bonica, Bob Hinden, Nick Hilliard, The author would like to thank Ron Bonica, Bob Hinden, Nick Hilliard,
Michael Richardson, Mark Smith, Suresh Krishnan, and Ole Tran for Michael Richardson, Mark Smith, Suresh Krishnan, and Ole Tran for
their comments and suggestions that improved this document. their comments and suggestions that improved this document.
9 References 9 References
9.1 Normative References 9.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>.
[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet
Control Message Protocol (ICMPv6) for the Internet Protocol Control Message Protocol (ICMPv6) for the Internet Protocol
Version 6 (IPv6) Specification", RFC 4443, DOI Version 6 (IPv6) Specification", RFC 4443, DOI
10.17487/RFC4443, March 2006, <http://www.rfc- 10.17487/RFC4443, March 2006, <http://www.rfc-
editor.org/info/rfc4443>. editor.org/info/rfc4443>.
[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, DOI (IPv6) Specification", STD 86, RFC 8200, DOI
10.17487/RFC8200, July 2017, <https://www.rfc- 10.17487/RFC8200, July 2017, <https://www.rfc-
editor.org/info/rfc8200>. editor.org/info/rfc8200>.
skipping to change at page 16, line 32 skipping to change at page 16, line 32
Requirements", BCP 220, RFC 8504, DOI 10.17487/RFC8504, Requirements", BCP 220, RFC 8504, DOI 10.17487/RFC8504,
January 2019, <https://www.rfc-editor.org/info/rfc8504>. January 2019, <https://www.rfc-editor.org/info/rfc8504>.
[RFC4890] Davies, E. and J. Mohacsi, "Recommendations for Filtering [RFC4890] Davies, E. and J. Mohacsi, "Recommendations for Filtering
ICMPv6 Messages in Firewalls", RFC 4890, DOI ICMPv6 Messages in Firewalls", RFC 4890, DOI
10.17487/RFC4890, May 2007, <https://www.rfc- 10.17487/RFC4890, May 2007, <https://www.rfc-
editor.org/info/rfc4890>. editor.org/info/rfc4890>.
[SRH] Filsfils, C., Ed.. Dukes, D., Ed., Previdi, S., Leddy, J., [SRH] Filsfils, C., Ed.. Dukes, D., Ed., Previdi, S., Leddy, J.,
Matsushima, S., Voyer, D., "IPv6 Segment Routing Header Matsushima, S., Voyer, D., "IPv6 Segment Routing Header
(SRH)", draft-ietf-6man-segment-routing-header-21 (work in (SRH)", draft-ietf-6man-segment-routing-header-23,
progress), August 2019. February September 2019.
[IOAM] Bhandari, S., Brockners, F., Pignataro, C., Gredler, H., [IOAM] Bhandari, S., Brockners, F., Pignataro, C., Gredler, H.,
Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B., Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B.,
Lpaukhov, P., Spiegel, M., Krishnan, S., Asati, R., "In- Lpaukhov, P., Spiegel, M., Krishnan, S., Asati, R., "In-
situ OAM IPv6 Options", draft-ioametal-ippm-6man-ioam-ipv6- situ OAM IPv6 Options", draft-ioametal-ippm-6man-ioam-ipv6-
options-02, March 2018 options-02, March 2018
Author's Address Author's Address
Tom Herbert Tom Herbert
 End of changes. 11 change blocks. 
27 lines changed or deleted 40 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/