RA Flags Option: IPv6 Router Advertisement Flags Option
Extend the space for control flags in IPv6 router announcements.
Haberman, B., Ed. and R. Hinden, "IPv6 Router Advertisement Flags Option", RFC 5075, DOI 10.17487/RFC5075, November 2007, <https://www.rfc-editor.org/info/rfc5075>.
@misc{rfc5075,
series = {Request for Comments},
number = 5075,
howpublished = {RFC 5075},
publisher = {RFC Editor},
doi = {10.17487/RFC5075},
url = {https://www.rfc-editor.org/info/rfc5075},
author = {B. Haberman and R. Hinden},
title = {{IPv6 Router Advertisement Flags Option}},
pagetotal = 7,
year = 2007,
month = nov,
} RFC text
Contents
Network Working Group B. Haberman, Ed.
Request for Comments: 5075 JHU APL
Category: Standards Track R. Hinden
Nokia
November 2007
IPv6 Router Advertisement Flags Option
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
The IPv6 Neighbor Discovery's Router Advertisement message contains
an 8-bit field reserved for single-bit flags. Several protocols have
reserved flags in this field and others are preparing to reserve a
sufficient number of flags to exhaust the field. This document
defines an option to the Router Advertisement message that expands
the available number of flag bits available.
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
The IPv6 Neighbor Discovery Protocol's (NDP) [RFC4861] Router
Advertisement message contains an 8-bit field reserved for single-bit
flags. Several protocols have reserved flags in this field and
others are preparing to reserve a sufficient number of flags to
exhaust the field.
This document defines an option for the Router Advertisement message
that expands the available number of flag bits by adding an
additional 48 flag bits to NDP messages.
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
Currently, the NDP Router Advertisement message contains the
following 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
o M - Managed Address Configuration Flag [RFC4861]
o O - Other Configuration Flag [RFC4861]
o H - Mobile IPv6 Home Agent Flag [RFC3775]
o Prf - Router Selection Preferences [RFC4191]
o P - Neighbor Discovery Proxy Flag [RFC4389]
o R - Reserved
With other protocols in the works (e.g., Detecting Network
Attachment) that want to use flags in the NDP messages, it is
necessary to define an expansion capability to support new features.
4. Flags Expansion Option
The Neighbor Discovery specification [RFC4861] contains the
capability to 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
o Type - TBD (to be assigned by IANA)
o Length - The length MUST be checked when processing the option in
order to allow for future expansion of this option. 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 in order to skip over unrecognized bits.
o Bits - allocated by IANA
The definition and usage of these bits is to be found in the document
requesting their allocation.
During the construction/transmission, this option:
o MUST only occur in Router Advertisement messages.
o MUST occur prior to any additional options associated with any
flags set in this option.
o MUST only occur once in the Router Advertisement message.
o MUST NOT be added to a Router Advertisement message if no flags in
the option are set.
o MUST set all unused flags to zero.
Upon reception, a receiver processing NDP messages containing this
option:
o MUST ignore the option if it occurs in a message other than a
Router Advertisement.
o MUST ignore all instances of the option except the first one
encountered in the Router Advertisement message.
o MUST ignore the option if the Length is less than 1.
o MUST ignore any unknown flag bits.
The bit fields within the option are numbered from left to right,
from 8 to 55 (starting as bit offset 16 in the option) and 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 of the form:
+------+---------------------------+-----------+
| Type | Description | Reference |
+------+---------------------------+-----------+
| 26 | RA Flags Extension Option | [RFC5075] |
+------+---------------------------+-----------+
The registry for these options can be found at:
http://www.iana.org/assignments/icmpv6-parameters
IANA has created a new registry for IPv6 ND Router Advertisement
flags. This 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 | |
+---------------+---------------------------------------+-----------+
The assignment of new RA flags in the RA option header and the bits
defined in the RA extension option defined in this document require
standards action or IESG approval [RFC2434].
6. Security Considerations
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.
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
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
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; nor does it 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 and 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.
AI ELI5
On this page
§1The Flag Space Problem
IPv6 networks use a protocol called Neighbor Discovery (NDP) to let routers announce their presence and capabilities to hosts. These announcements, called Router Advertisements (RA), contain an 8-bit field with single-bit flags that control important behaviors: whether addresses are managed by the network (M flag), whether other configuration is available (O flag), whether the router is a Mobile IPv6 home agent (H flag), and several others.
Multiple Internet protocols have reserved bits in this 8-bit field for their own purposes. With various protocols in development that also needed flag bits, it became clear that the original 8 bits would not be sufficient. RFC 5075 solves this by defining a new optional field in the Router Advertisement message that provides 48 additional flag bits.
Router announcements use 8 yes-or-no switches to control how IPv6 networks work. Different protocols wanted to use more and more of these switches. This document adds 48 more switches.
§2The Expanded Flags Option
The new field, called the RA Flags Extension Option (EFO) or Expanded Flags Option, is defined as a standard Neighbor Discovery option that can be included in Router Advertisement messages. It has a type field (assigned as type 26), a length field, and 48 bits available for assignment by protocols that need them.
The option follows several strict rules: it must appear only in Router Advertisement messages (never elsewhere), it must appear before any other options that depend on its flags, there can only be one instance per RA message, and all unused flag bits must be set to zero. A receiver that sees this option must ignore unknown flag bits and handle different message lengths gracefully to allow for future expansion.
The new option is just a list of 48 extra switches that can be included in router announcements. If a receiver does not understand a switch, it should just ignore it.
§3Flag Numbering and Usage
The flag bits in the RA Flags Extension Option are numbered from 8 to 55, continuing the numbering of the original 8 RA flags (bits 0 to 7, which remain in the main RA message header). The bits are numbered from left to right in the option, and the specific allocation of these bits is determined by protocols that request them through the IANA standards process.
Some bits are reserved for future use, and bits 54 and 55 are designated for private experimentation. When a protocol defines a new flag, it must reserve a specific bit number and describe the meaning and usage of that flag in its RFC.
The new switches are numbered 8 through 55, continuing from the original 8 switches. Different protocols can claim different switches for their own purposes.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 1 byte | Option type; 26 for RA Flags Extension | |
LENGTH | Length | 1 byte | Length of option in 8-octet units; must be at least 1 | |
FLAGS | Flag bits | 6 bytes | 48 bits available for assignment; bits 8-55 continuing from RA header |
§4When to Include the Option
The option has clear construction and reception requirements. When building a Router Advertisement message, the sender must include this option only if at least one flag bit within it is set to one (if all bits are zero, the option is omitted). The option must appear early in the message, before any other options that depend on the flags it carries, to allow receivers to understand the context of those subsequent options.
Receivers must follow specific rules: ignore the option if it appears anywhere except in a Router Advertisement message, ignore any copies after the first one, check that the length field is at least 1, and safely skip over any unknown flag bits or future extensions by checking the length field.
You only send the new switches if you are actually using at least one of them. And the receiver should ignore switches it does not recognize.