1

What flags are available in an IPv6 RA and how are their various combinations interpreted by Windows, Linux and BSD?

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Aug 15 '17 at 3:44
1

I think you are referring to the M and the O flags in the router advertisement. How host OSes interpret these flags is off-topic here. RFC 4861, Neighbor Discovery for IP version 6 (IPv6), Section 4.2. Router Advertisement Message Format details the Router Advertisement Message format, including the RA flags:

4.2. Router Advertisement Message Format

Routers send out Router Advertisement messages periodically, or in response to Router Solicitations.

  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      |     Code      |          Checksum             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Cur Hop Limit |M|O|  Reserved |       Router Lifetime         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         Reachable Time                        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                          Retrans Timer                        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   Options ...
 +-+-+-+-+-+-+-+-+-+-+-+-

IP Fields:

  Source Address
                 MUST be the link-local address assigned to the
                 interface from which this message is sent.


  Destination Address
                 Typically the Source Address of an invoking Router
                 Solicitation or the all-nodes multicast address.

  Hop Limit      255

ICMP Fields:

  Type           134

  Code           0

  Checksum       The ICMP checksum.  See [ICMPv6].

  Cur Hop Limit  8-bit unsigned integer.  The default value that
                 should be placed in the Hop Count field of the IP
                 header for outgoing IP packets.  A value of zero
                 means unspecified (by this router).

  M              1-bit "Managed address configuration" flag.  When
                 set, it indicates that addresses are available via
                 Dynamic Host Configuration Protocol [DHCPv6].

                 If the M flag is set, the O flag is redundant and
                 can be ignored because DHCPv6 will return all
                 available configuration information.

  O              1-bit "Other configuration" flag.  When set, it
                 indicates that other configuration information is
                 available via DHCPv6.  Examples of such information
                 are DNS-related information or information on other
                 servers within the network.

    Note: If neither M nor O flags are set, this indicates that no
    information is available via DHCPv6.

  Reserved       A 6-bit unused field.  It MUST be initialized to
                 zero by the sender and MUST be ignored by the
                 receiver.

  Router Lifetime
                 16-bit unsigned integer.  The lifetime associated
                 with the default router in units of seconds.  The
                 field can contain values up to 65535 and receivers
                 should handle any value, while the sending rules in
                 Section 6 limit the lifetime to 9000 seconds.  A
                 Lifetime of 0 indicates that the router is not a
                 default router and SHOULD NOT appear on the default
                 router list.  The Router Lifetime applies only to
                 the router's usefulness as a default router; it
                 does not apply to information contained in other
                 message fields or options.  Options that need time
                 limits for their information include their own
                 lifetime fields.

  Reachable Time 32-bit unsigned integer.  The time, in
                 milliseconds, that a node assumes a neighbor is
                 reachable after having received a reachability
                 confirmation.  Used by the Neighbor Unreachability
                 Detection algorithm (see Section 7.3).  A value of
                 zero means unspecified (by this router).

  Retrans Timer  32-bit unsigned integer.  The time, in
                 milliseconds, between retransmitted Neighbor
                 Solicitation messages.  Used by address resolution
                 and the Neighbor Unreachability Detection algorithm
                 (see Sections 7.2 and 7.3).  A value of zero means
                 unspecified (by this router).

Possible options:

  Source link-layer address
                 The link-layer address of the interface from which
                 the Router Advertisement is sent.  Only used on
                 link layers that have addresses.  A router MAY omit
                 this option in order to enable inbound load sharing
                 across multiple link-layer addresses.

  MTU            SHOULD be sent on links that have a variable MTU
                 (as specified in the document that describes how to
                 run IP over the particular link type).  MAY be sent
                 on other links.

  Prefix Information
                 These options specify the prefixes that are on-link
                 and/or are used for stateless address
                 autoconfiguration.  A router SHOULD include all its
                 on-link prefixes (except the link-local prefix) so
                 that multihomed hosts have complete prefix
                 information about on-link destinations for the
                 links to which they attach.  If complete
                 information is lacking, a host with multiple
                 interfaces may not be able to choose the correct
                 outgoing interface when sending traffic to its
                 neighbors.

There are also a couple of flags (L and A) in the Prefix Information option as detailed in Section 4.6.2 Prefix Information:

4.6.2. Prefix Information

   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     | Prefix Length |L|A| Reserved1 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Valid Lifetime                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Preferred Lifetime                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                           Reserved2                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  +                                                               +
  |                                                               |
  +                            Prefix                             +
  |                                                               |
  +                                                               +
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields:

  Type           3

  Length         4

  Prefix Length  8-bit unsigned integer.  The number of leading bits
                 in the Prefix that are valid.  The value ranges
                 from 0 to 128.  The prefix length field provides
                 necessary information for on-link determination
                 (when combined with the L flag in the prefix
                 information option).  It also assists with address
                 autoconfiguration as specified in [ADDRCONF], for
                 which there may be more restrictions on the prefix
                 length.

  L              1-bit on-link flag.  When set, indicates that this
                 prefix can be used for on-link determination.  When
                 not set the advertisement makes no statement about
                 on-link or off-link properties of the prefix.  In
                 other words, if the L flag is not set a host MUST
                 NOT conclude that an address derived from the
                 prefix is off-link.  That is, it MUST NOT update a
                 previous indication that the address is on-link.

  A              1-bit autonomous address-configuration flag.  When
                 set indicates that this prefix can be used for
                 stateless address configuration as specified in
                 [ADDRCONF].

  Reserved1      6-bit unused field.  It MUST be initialized to zero
                 by the sender and MUST be ignored by the receiver.

  Valid Lifetime
                 32-bit unsigned integer.  The length of time in
                 seconds (relative to the time the packet is sent)
                 that the prefix is valid for the purpose of on-link
                 determination.  A value of all one bits
                 (0xffffffff) represents infinity.  The Valid
                 Lifetime is also used by [ADDRCONF].

  Preferred Lifetime
                 32-bit unsigned integer.  The length of time in
                 seconds (relative to the time the packet is sent)
                 that addresses generated from the prefix via
                 stateless address autoconfiguration remain
                 preferred [ADDRCONF].  A value of all one bits
                 (0xffffffff) represents infinity.  See [ADDRCONF].

                 Note that the value of this field MUST NOT exceed
                 the Valid Lifetime field to avoid preferring
                 addresses that are no longer valid.

  Reserved2      This field is unused.  It MUST be initialized to
                 zero by the sender and MUST be ignored by the
                 receiver.

  Prefix         An IP address or a prefix of an IP address.  The
                 Prefix Length field contains the number of valid
                 leading bits in the prefix.  The bits in the prefix
                 after the prefix length are reserved and MUST be
                 initialized to zero by the sender and ignored by
                 the receiver.  A router SHOULD NOT send a prefix
                 option for the link-local prefix and a host SHOULD
                 ignore such a prefix option.

Description The Prefix Information option provide hosts with on-link prefixes and prefixes for Address Autoconfiguration. The Prefix Information option appears in Router Advertisement packets and MUST be silently ignored for other messages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.