doc: state that O flag can be 0 in dhcpv6-stateful

The current document states that O flag will be 1 when ipv6_ra_mode is
dhcpv6_stateful, but the actual implementations of both ml2/OVS and
ml2/OVN set O flag to 0 according to the following implementations:

ML2/OVS
f545c002dc/neutron/agent/linux/ra.py (L53-L55)

ML2/OVN
a5238e6234/controller/pinctrl.c (L3733-L3734)
a5238e6234/lib/actions.c (L3349-L3350)

This actual behavior looks correct because O flag can be either 1 or 0
when M flag is 1, according to the following statement of RFC 4861:

  https://www.rfc-editor.org/rfc/rfc4861#section-4.2
  If the M flag is set, the O flag is redundant and can be ignored
  because DHCPv6 will return all available configuration information.

To make consistency between the documet and actually behavior, this
commit changes the document to state that O flag can be either 1 or 0
when ipv6_ra_mode is dhcpv6_stateful.

Closes-Bug: #2011687
Change-Id: Id61031d7e707d0ba7b007bae0c9e0f59b8b40f8b
This commit is contained in:
Yamato Tanaka 2023-03-16 18:15:34 +09:00
parent 85b82d4452
commit c97dcfd03f

View File

@ -114,7 +114,7 @@ ipv6_ra_mode and ipv6_address_mode combinations
- Not currently implemented in the reference implementation. - Not currently implemented in the reference implementation.
* - dhcpv6-stateful * - dhcpv6-stateful
- *N/S* - *N/S*
- 0,1,1 - 0,1,0
- Off - Off
- Not currently implemented in the reference implementation. - Not currently implemented in the reference implementation.
* - dhcpv6-stateless * - dhcpv6-stateless
@ -129,7 +129,7 @@ ipv6_ra_mode and ipv6_address_mode combinations
- Guest instance obtains IPv6 address from OpenStack managed radvd using SLAAC. - Guest instance obtains IPv6 address from OpenStack managed radvd using SLAAC.
* - dhcpv6-stateful * - dhcpv6-stateful
- dhcpv6-stateful - dhcpv6-stateful
- 0,1,1 - 0,1,0
- Off - Off
- Guest instance obtains IPv6 address from dnsmasq using DHCPv6 - Guest instance obtains IPv6 address from dnsmasq using DHCPv6
stateful and optional info from dnsmasq using DHCPv6. stateful and optional info from dnsmasq using DHCPv6.
@ -175,6 +175,20 @@ ipv6_ra_mode and ipv6_address_mode combinations
*M - Managed Address Configuration Flag,* *M - Managed Address Configuration Flag,*
*O - Other Configuration Flag* *O - Other Configuration Flag*
.. note::
If the M flag is set to 1, the O flag can be either 1 or 0.
This is because the O flag can be ignored when the M flag is set to 1,
as mentioned in `RFC 4861 <https://www.rfc-editor.org/rfc/rfc4861#section-4.2>`_
below:
"If the M flag is set, the O flag is redundant and
can be ignored because DHCPv6 will return all
available configuration information."
For this reason, the neutron-generated advertisements will have the M flag
set to 1 and the O flag set to 0.
Project network considerations Project network considerations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -344,7 +358,7 @@ addresses and additional network information through DHCPv6.
* Autonomous Address Configuration Flag = 0 * Autonomous Address Configuration Flag = 0
* Managed Address Configuration Flag = 1 * Managed Address Configuration Flag = 1
* Other Configuration Flag = 1 * Other Configuration Flag = 0
.. note:: .. note::
@ -352,6 +366,20 @@ addresses and additional network information through DHCPv6.
not succeed for instances since no Router Advertisement messages will not succeed for instances since no Router Advertisement messages will
be generated. be generated.
.. note::
If the M flag is set to 1, the O flag can be either 1 or 0.
This is because the O flag can be ignored when the M flag is set to 1,
as mentioned in `RFC 4861 <https://www.rfc-editor.org/rfc/rfc4861#section-4.2>`_
below:
"If the M flag is set, the O flag is redundant and
can be ignored because DHCPv6 will return all
available configuration information."
For this reason, the neutron-generated advertisements will have the M flag
set to 1 and the O flag set to 0.
Router support Router support
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~