diff --git a/specs/juno/ipv6-provider-nets-slaac.rst b/specs/juno/ipv6-provider-nets-slaac.rst new file mode 100644 index 000000000..fce59ba0c --- /dev/null +++ b/specs/juno/ipv6-provider-nets-slaac.rst @@ -0,0 +1,124 @@ +============================================ +Provider Networking - upstream SLAAC Support +============================================ + +It should be possible to create a Provider Network in Neutron, that uses an +upstream switch or router that advertises RA's - so that instances can use +SLAAC to configure their IPv6 networking, while still utilizing the Neutron +APIs for security group rules. + +https://blueprints.launchpad.net/neutron/+spec/ipv6-provider-nets-slaac + +Problem description +=================== + +A deployer of OpenStack that wishes to use IPv6 and already has +configured IPv6 on northbound networking devices, may wish to +advertise IPv6 routes by having non-OpenStack hardware transmit +ICMPv6 Router Advertisement packets. + + +Proposed change +=============== + +OpenStack Neutron should support this configuration, and display the +correct IP address for instances, since Neutron has enough information +to generate the EUI-64 address. + +Alternatives +------------ + +None + + +Data model impact +----------------- + +None + +REST API impact +--------------- + +None + +Security impact +--------------- + +None + +Notifications impact +-------------------- + +None + +Other end user impact +--------------------- + +* This change will require support in python-neutronclient for the two + IPv6 subnet attributes - which `is currently in review `_ + +Performance Impact +------------------ + +None + +Other deployer impact +--------------------- + +* This change will change the behavior of Neutron in specific + configurations, when the IPv6 attributes for Subnets are set. + Previously, the attributes were no-ops. + +Developer impact +---------------- + +None + + +Implementation +============== + +* Subnets will be created with the `ipv6_address_mode` set to `slaac` + and `ipv6_ra_mode` *not* set. + +* Neutron will calculate the IP address of a port, using the MAC address + and the CIDR. + +Assignee(s) +----------- + +Primary assignee: + scollins + +Work Items +---------- + +* `Support Subnets that are configured by external RAs `_ + +* `Ensure entries in dnsmasq belong to a subnet using DHCP `_ + +Dependencies +============ + +* The IPv6 Subnet Attributes must be returned in API calls. + +Testing +======= + +* Add unit tests to support Subnets created with only the + `ipv6_address_mode` set. + +* Verify that ports with allocations from a subnet with + `ipv6_address_mode` set are not touched by the DHCP agent. + +Documentation Impact +==================== + +Documentation about this network configuration will need to be +written. + + +References +========== + +* `Devstack for IPv6 in the Comcast lab `_