Support IPv6 DHCPv6 Stateless mode in dnsmasq
Based on ipv6-two-attributes blueprints, this blueprint tries to cover the following three scenarios:
1) If end user chooses DHCPV6 Stateless as IPv6 RA mode and IPv6 Address mode, via either Dashboard or Neutron CLI, then OpenStack will send out RA to tenant network with ALO bits set to 1 and M bit set to 0. In addition, dnsmasq driven by OpenStack will also act as DHCPv6 Stateless server so tenant VM can use its service for optional information. At the same time, VM will continue to rely on RA for default route.
2) If end user chooses DHCPV6 Stateless as IPv6 RA mode and set IPv6 Address mode to OFF, via either Dashboard or Neutron CLI, then OpenStack will send out RA to tenant network with ALO bits set to 1 and M bit set to 0. As the result, VM will continue to rely on RA for default route. However, OpenStack will NOT provide DHCPv6 Stateless server for optional information. In this case, we assume that some devices out of OpenStack's control will provide optional information.
It is worth mentioning that, the scenario 1) and the scenario 2) are only supported if tenant network is routable, i.e. the corresponding IPv6 subnet is attached to a neutron router and a router port is created for tenant gateway. When tenant subnet is NOT attached to any neutron router, (i.e. does NOT have gateway port), OpenStack should NOT be responsible for sending IPv6 RA.
3) If end user sets IPv6 RA mode to OFF and choose DHCPv6 Stateless as IPv6 Address mode, via either Dashboard or Neutron CLI, then dnsmasq driven by OpenStack will only act as DHCPv6 Stateless server for optional information. The dnsmasq process is NOT responsible for sending any RA to tenant network. In this case, we assume that some devices out of OpenStack's control will announce IPv6 RA to tenant network.
It is worth mentioning that, the scenario 3) is only supported if tenant network is private or provider network. In other words, the tenant subnet is NOT attached to any neutron router and does NOT have gateway port on neutron router.
Blueprint information
- Status:
- Complete
- Approver:
- Mark McClain
- Priority:
- Medium
- Drafter:
- Shixiong Shang
- Direction:
- Approved
- Assignee:
- Shixiong Shang
- Definition:
- Approved
- Series goal:
- Accepted for juno
- Implementation:
-
Implemented
- Milestone target:
-
2014.2
- Started by
- Shixiong Shang
- Completed by
- Kyle Mestery
Related branches
Related bugs
Sprints
Whiteboard
July-25 (mestery): Approving for Juno-3.
18-Mar (markmcclain): Deferring until Juno
Gerrit topic: https:/
Addressed by: https:/
Add support to DHCP agent for BP ipv6-two-attributes
Gerrit topic: https:/
Addressed by: https:/
Specification for Dnsmasq DHCPv6
Addressed by: https:/
Specification for Dnsmasq DHCPv6
Gerrit topic: https:/
Addressed by: https:/
Support Stateful and Stateless DHCPv6 by dnsmasq
Work Items
Dependency tree

* Blueprints in grey have been implemented.