RFC 5175

IPv6 Router Advertisement Flags Option

πŸ“… published March 2008, from ietf

RFC 5175: IPv6 Router Advertisement Flags Option πŸ’–

okay bestie, this one is a whole vibe πŸŽ€ It's a Standards Track spec from March 2008, written by Brian Haberman (editor, JHU APL) and Robert Hinden (Nokia). It obsoletes RFC 5075. The doc doesn't list anything it updates, so I'm not guessing πŸ™ˆ

Network Working Group                                   B. Haberman, Ed.
Request for Comments: 5175                                       JHU APL
Obsoletes: 5075                                                R. Hinden
Category: Standards Track                                          Nokia
                                                              March 2008

Status of This Memo ✨

This is an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements πŸ¦‹ For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited πŸ’…

Abstract 🌸

Okay so the IPv6 Neighbor Discovery Router Advertisement message has an 8-bit field that's reserved for single-bit flags. Several protocols have already reserved flags in there, and others are getting ready to reserve enough of them to use up the whole field 😭 This document defines an option for the Router Advertisement message that expands how many flag bits are available. Iconic πŸ‘‘

Table of Contents 🧚

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.  Current Router Advertisement Flags  . . . . . . . . . . . . . . 2
4.  Flags Expansion Option  . . . . . . . . . . . . . . . . . . . . 3
5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
  7.2.  Informative References  . . . . . . . . . . . . . . . . . . 6

1. Introduction πŸ¦‹

So the IPv6 Neighbor Discovery Protocol's (NDP) [RFC4861] Router Advertisement message has an 8-bit field reserved for single-bit flags. Several protocols have reserved flags in this field, and others are preparing to reserve enough to exhaust it. Not great, not terrible, very relatable πŸ’€

This document defines an option for the Router Advertisement message that expands the available number of flag bits by adding 48 more flag bits to NDP messages. That's giving main character energy πŸ”₯

2. Terminology πŸŽ€

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] 🫢

3. Current Router Advertisement Flags 🌈

Right now, the NDP Router Advertisement message has these one-bit flags defined in published RFCs:

 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|M|O|H|Prf|P|R|R|
+-+-+-+-+-+-+-+-+

                 Figure 1: Router Advertisement Flags
  • M - Managed Address Configuration Flag [RFC4861]
  • O - Other Configuration Flag [RFC4861]
  • H - Mobile IPv6 Home Agent Flag [RFC3775]
  • Prf - Router Selection Preferences [RFC4191]
  • P - Neighbor Discovery Proxy Flag [RFC4389]
  • R - Reserved

With other protocols in the works (like Detecting Network Attachment) that want to use flags in NDP messages, we need an expansion capability to support new features. Lowkey essential πŸ’…

4. Flags Expansion Option ✨

The Neighbor Discovery specification [RFC4861] already lets you define NDP options. The following (Figure 2) is the definition of the Expanded Flags Option (EFO) for NDP Router Advertisement messages πŸ“

 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     |         Bit fields available ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... for assignment                                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Figure 2: Router Advertisement Expanded Flags Option
  • Type - 26
  • Length - The length MUST be checked when processing the option, so future expansion of this option is possible. An implementation of this specification MUST set the Length to 1, MUST ignore any unrecognized data, and MUST be able to recognize the specific length so it can skip over unrecognized bits πŸ™ˆ
  • Bits - allocated by IANA

The definition and usage of these bits can be found in the document requesting their allocation πŸ“œ

When this option is being constructed or transmitted:

  • It MUST only occur in Router Advertisement messages.
  • It MUST occur prior to any additional options associated with any flags set in this option.
  • It MUST only occur once in the Router Advertisement message.
  • It MUST NOT be added to a Router Advertisement message if no flags in the option are set.
  • It MUST set all unused flags to zero.

When a receiver processes NDP messages containing this option, upon reception:

  • It MUST ignore the option if it occurs in a message other than a Router Advertisement.
  • It MUST ignore all instances of the option except the first one encountered in the Router Advertisement message.
  • It MUST ignore the option if the Length is less than 1.
  • It MUST ignore any unknown flag bits.

The bit fields within the option are numbered from left to right, from 8 to 55 (starting at bit offset 16 in the option), and they follow the numbering of the flag bits in the RA option described in Figure 1. Flag bits 0 to 7 are found in the Router Advertisement message header defined in [RFC4861] 🌸

5. IANA Considerations πŸ’–

IANA has defined a new IPv6 Neighbor Discovery option for the option defined in this document, like so:

          +------+---------------------------+-----------+
          | Type | Description               | Reference |
          +------+---------------------------+-----------+
          | 26   | RA Flags Extension Option | [RFC5175] |
          +------+---------------------------+-----------+

You can find the registry for these options at:

http://www.iana.org/assignments/icmpv6-parameters

IANA has also created a new registry for IPv6 ND Router Advertisement flags πŸ¦‹ It should include the current flags in the RA option and in the extension option defined in this document. The new registry has been added to the icmpv6-parameters, as shown above. The format for the registry is:

+---------------+---------------------------------------+-----------+
| RA Option Bit | Description                           | Reference |
+---------------+---------------------------------------+-----------+
| 0             | M - Managed Address Configuration     | [RFC4861] |
|               | Flag                                  |           |
| 1             | O - Other Configuration Flag          | [RFC4861] |
| 2             | H - Mobile IPv6 Home Agent Flag       | [RFC3775] |
| 3             | Prf - Router Selection Preferences    | [RFC4191] |
| 4             | Prf - Router Selection Preferences    | [RFC4191] |
| 5             | P - Neighbor Discovery Proxy Flag     | [RFC4389] |
| 6-53          | R - Reserved; Available for           |           |
|               | assignment                            |           |
| 54-55         | Private Experimentation               |           |
+---------------+---------------------------------------+-----------+

Assigning new RA flags in the RA option header, and the bits defined in the RA extension option in this document, requires standards action or IESG approval [RFC2434] πŸ‘‘

6. Security Considerations πŸ’€

Heads up, this one's serious 😭 This protocol shares the security issues of NDP that are documented in the "Security Considerations" section of [RFC4861].

The inclusion of additional optional bit fields provides a potential covert channel that is useful for passing information. Yikes, this is the part to watch πŸ‘€

7. References 🧚

7.1. Normative References πŸŽ€

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2434]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
           IANA Considerations Section in RFCs", BCP 26, RFC 2434,
           October 1998.

[RFC4861]  Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
           "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
           September 2007.

7.2. Informative References 🌈

[RFC3775]  Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
           in IPv6", RFC 3775, June 2004.

[RFC4191]  Draves, R. and D. Thaler, "Default Router Preferences and
           More-Specific Routes", RFC 4191, November 2005.

[RFC4389]  Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery
           Proxies (ND Proxy)", RFC 4389, April 2006.

Authors' Addresses πŸ’Œ

Brian Haberman (editor)
Johns Hopkins University Applied Physics Lab
11100 Johns Hopkins Road
Laurel, MD  20723-6099
USA

Phone: +1 443 778 1319
EMail: brian@innovationslab.net


Robert Hinden
Nokia
313 Fairchild Drive
Mountain View, CA  94043
USA

Phone: +1 650 625 2004
EMail: bob.hinden@nokia.com

Copyright (C) The IETF Trust (2008).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property ✨

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org πŸ’œ

πŸ“¦ where this page comes from