Add ipv6-provider-nets-slaac

Change-Id: Id06bee32b4105767cc35b5f86db0cb803874849d
This commit is contained in:
Sean M. Collins 2014-04-16 14:07:09 -04:00
parent d76bec4015
commit 176dd73fd4
1 changed files with 124 additions and 0 deletions

View File

@ -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 <https://review.openstack.org/#/c/75871/>`_
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 <https://review.openstack.org/#/c/86044/>`_
* `Ensure entries in dnsmasq belong to a subnet using DHCP <https://review.openstack.org/#/c/64578/>`_
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 <http://lists.openstack.org/pipermail/openstack-dev/2014-February/026589.html>`_