Bug Reference

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

Branch

ipv6 branch.

References

https://cwiki.apache.org/CLOUDSTACK/ipv6-support-in-cloudstack.html

Document History

Glossary

Targets

Phase 1

Phase 2

Phase 3+

Feature Specifications

Phase 1: Advance shared network

Assumptions:
Feature:

Use cases

1. Admin create a IPv6 shared network in the advanced zone using createNetwork API.
2. User create a VM attach to the IPv6 shared network created by admin.
3. The user VM would generate IPv6 link local address by itself, and get IPv6 global/site local address through DHCPv6.

Architecture and Design description

Web Services APIs

Phase 1:

API Responses

UI flow

Default network in IPv6

Appendix

1. Get IPv6 address using DUID-LL from DHCP server
Manual configuration for dhclient 4.2+

You can also use this command to get the dhcpv6 offer from VR.

dhclient -6 -D LL <dev>
Automatic configuration for dhclient 4.1+

Add following to the dhclient configuration file to forge a DUID-LL:

cat /etc/dhcp/dhclient.conf

send dhcp6.client-id = concat(00:03:00, hardware);
2. Automatic configuration to get IPv6 from DHCP server as a part of booting up/network start *

* You need to setupĀ dhclient automatically using DUID-LL first, refer to the configuration above.

Example of network configuration for get dhcpv6 when boot up CentOS 6.2:

cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=06:A0:F0:00:00:38
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=dhcp6
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=yes
DHCPV6C=yes

cat /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=centos62mgmt.lab.vmops.com
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no
Example of network configuration for get dhcpv6 when boot up Ubuntu 12.10:

cat /etc/network/interfaces:

iface eth0 inet6 dhcp
autoconf 0
accept_ra 1
3. Multiple shared IPv6 network

The default route is set by the router(rack router), rather than DHCP server, which is out of CloudStack control. So we suggest user modify the configure of user VM, and set non-default NIC's accept_ra to 0 explicitly, then user VM would only get the default route from the default nic.