IPv6 Support

1       Background

CloudStack does not support IPv6 today. Users/Customers are starting to ask for IPv6 support in CloudStack. With some users running out of IPv4 addresses, this should be a important requirement. With complete IPv6 support, customers would be able to deploy Public/Private clouds on both IPv4 and IPv6 environments

2       Requirements

Moved all of the requirements from the following JIRA ticket.

https://issues.apache.org/jira/browse/CLOUDSTACK-452

This is quite a large feature, but we are lacking complete IPv6 support at this moment.

We should support IPv6 for:
- The Management server itself
- Communication with the Hypervisors
- Communication with the System VMs

Those three are probably the easiest work, we also need to support IPv6 for instances.

In both the Advanced and Basic zone Instances should be able to get a non-NAT true and native IPv6 address.

We should also not limit them to having one IP, they should be able to get multiple IPv6 addresses.

In the basic zone it can be done pretty easily by having the Virtual Router also hand out IPv6 over DHCPv6 and have your router in the network handle the gateway work.

In the advanced zone it becomes more difficult.

One way could be that the network admin creates a static route for a /48 towards a Virtual Router and then the VR can hand out /64s to Instances.

But static routing can become a problem, so you might want to use OSPF, LISP or even iBGP for getting those prefixes to the VR.

This is a big feature, but I think the Basic zone is the easiest for now.

In the Advanced Zone you COULD keep everything behind the VR IPv4 and have the VR do IPv6 loadbalancing, but that would still not be true IPv6 connectivity.

NAT in the VR seems like a firewall, but a true statefull firewall in the VR could do the same while the Instances still have publicly routeable IPv6 addresses.

There is no functional spec on this yet, but we have to keep this in mind that we need IPv6 support. People are running out of IPv4 space.

3       UI / UX Requirements

  • All fields (input fields and display fields) that take IP Addresses would need to support both IPv4 and IPv6

4       Upgrade Scenarios

Following upgrade scenarios should be supported:

  • No upgrade scenarios need to be handled, as this is a new functionality.

5       Non-Requirements

6       Bugs

  • None

7       Open Items:

  • None
  • No labels