From aabb67f69facf52794c77872e80a0fa7fe57b841 Mon Sep 17 00:00:00 2001 From: Jithin Raju Date: Tue, 24 Feb 2026 12:24:46 +0530 Subject: [PATCH 1/6] Update unsupported features list in ipv6.rst Remove the security group from IPv6 limitations --- source/plugins/ipv6.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/plugins/ipv6.rst b/source/plugins/ipv6.rst index 79078f3624..7766f4cc3f 100644 --- a/source/plugins/ipv6.rst +++ b/source/plugins/ipv6.rst @@ -92,7 +92,7 @@ Limitations The following are not yet supported: -#. Security groups + #. User Data and metadata From e387462f58299368313328f258554d3aaad2953d Mon Sep 17 00:00:00 2001 From: Jithin Raju Date: Tue, 24 Feb 2026 12:30:53 +0530 Subject: [PATCH 2/6] Update IPv6 support information in documentation Clarified IPv6 support details for shared networks, including deployment models and limitations. --- source/plugins/ipv6.rst | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/source/plugins/ipv6.rst b/source/plugins/ipv6.rst index 7766f4cc3f..0e798bff34 100644 --- a/source/plugins/ipv6.rst +++ b/source/plugins/ipv6.rst @@ -20,11 +20,15 @@ CloudStack has limited IPv6 support. It supports IPv6 for shared and isolated ne Shared network -------------- -With IPv6 support, Instances in shared networks can obtain both IPv4 and IPv6 addresses from the DHCP -server. You can deploy Instances either in a IPv6 or IPv4 network, or in a -dual network environment. If IPv6 network is used, the Instance generates a -link-local IPv6 address by itself, and receives a stateful IPv6 address -from the DHCPv6 server. +When IPv6 is enabled, Instances deployed in a Shared Network can obtain both IPv4 and IPv6 addresses. +CloudStack supports the following deployment models: +- IPv4-only networks +- IPv6-only networks (with supported providers) +- Dual-stack networks (IPv4 + IPv6) +In an IPv6-enabled network: +- The Instance automatically generates a link-local IPv6 address. +- A stateful IPv6 address is assigned through a DHCPv6 server when configured. +Note: IPv6-only Shared Networks are not supported when using the Virtual Router provider. In such environments, IPv6 must be deployed in a dual-stack configuration. IPv6 is supported only on KVM and XenServer hypervisors. The IPv6 support is only an experimental feature. @@ -92,8 +96,6 @@ Limitations The following are not yet supported: - - #. User Data and metadata #. Passwords From c52690f62d2133992a38dc8f50388819020cfd50 Mon Sep 17 00:00:00 2001 From: Jithin Raju Date: Tue, 24 Feb 2026 12:44:56 +0530 Subject: [PATCH 3/6] IPv6 page formatting --- source/plugins/ipv6.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/plugins/ipv6.rst b/source/plugins/ipv6.rst index 0e798bff34..91edd1d6d9 100644 --- a/source/plugins/ipv6.rst +++ b/source/plugins/ipv6.rst @@ -22,13 +22,20 @@ Shared network -------------- When IPv6 is enabled, Instances deployed in a Shared Network can obtain both IPv4 and IPv6 addresses. CloudStack supports the following deployment models: + - IPv4-only networks - IPv6-only networks (with supported providers) - Dual-stack networks (IPv4 + IPv6) + In an IPv6-enabled network: + - The Instance automatically generates a link-local IPv6 address. - A stateful IPv6 address is assigned through a DHCPv6 server when configured. -Note: IPv6-only Shared Networks are not supported when using the Virtual Router provider. In such environments, IPv6 must be deployed in a dual-stack configuration. + +.. note:: + IPv6-only Shared Networks are not supported when using the Virtual Router + provider. In such environments, IPv6 must be deployed in a dual-stack + configuration. IPv6 is supported only on KVM and XenServer hypervisors. The IPv6 support is only an experimental feature. From fdd6b4d271f593efff1b5ab0baedc858c72e5365 Mon Sep 17 00:00:00 2001 From: Jithin Raju Date: Tue, 24 Feb 2026 13:46:36 +0530 Subject: [PATCH 4/6] Update IPv6 Shared Network documentation with address assignment and routing details --- source/plugins/ipv6.rst | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/source/plugins/ipv6.rst b/source/plugins/ipv6.rst index 91edd1d6d9..512c00f3e8 100644 --- a/source/plugins/ipv6.rst +++ b/source/plugins/ipv6.rst @@ -37,6 +37,39 @@ In an IPv6-enabled network: provider. In such environments, IPv6 must be deployed in a dual-stack configuration. +IPv6 Address Assignment and Routing +==================================== + +In Shared Networks, IPv6 address assignment and routing are provided by the upstream network infrastructure, not by the CloudStack Virtual Router. + +When IPv6 is enabled on a Shared Network: + +- Instances automatically generate a link-local IPv6 address. +- IPv6 global or ULA addresses are typically assigned via: + + - SLAAC (Router Advertisements) from the upstream router, or + - An external DHCPv6 server (if present in the upstream network). + +- CloudStack does not provide DHCPv6 services in Shared Networks via the Virtual Router. + +Important Notes +~~~~~~~~~~~~~~~ + +- In Shared Networks, the Virtual Router does not act as the IPv6 gateway. +- IPv6 default routing is determined entirely by upstream infrastructure. +- CloudStack does not control IPv6 Router Advertisements in Shared Networks. +- IPv6-only Shared Networks using the Virtual Router provider are not supported. + +Operational Implications +~~~~~~~~~~~~~~~~~~~~~~~~ + +For IPv6 to function correctly in a Shared Network: + +- The upstream network must advertise the IPv6 prefix using Router Advertisements (SLAAC), or +- An external DHCPv6 server must be present. +- The upstream router must provide the IPv6 default gateway. +- CloudStack will not automatically generate or manage IPv6 gateway functionality in this mode. + IPv6 is supported only on KVM and XenServer hypervisors. The IPv6 support is only an experimental feature. From cddef6f2e9bdc627f2a17b316be7094e65234243 Mon Sep 17 00:00:00 2001 From: Jithin Raju Date: Tue, 24 Feb 2026 13:52:59 +0530 Subject: [PATCH 5/6] Update IPv6 support --- source/plugins/ipv6.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/source/plugins/ipv6.rst b/source/plugins/ipv6.rst index 512c00f3e8..8c78927f30 100644 --- a/source/plugins/ipv6.rst +++ b/source/plugins/ipv6.rst @@ -24,7 +24,6 @@ When IPv6 is enabled, Instances deployed in a Shared Network can obtain both IPv CloudStack supports the following deployment models: - IPv4-only networks -- IPv6-only networks (with supported providers) - Dual-stack networks (IPv4 + IPv6) In an IPv6-enabled network: From 81240ad6bead9bf804fad730ee839d6034342444 Mon Sep 17 00:00:00 2001 From: Jithin Raju Date: Tue, 24 Feb 2026 14:43:05 +0530 Subject: [PATCH 6/6] Clarify that IPv6 Start IP and End IP are optional parameters --- source/plugins/ipv6.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/plugins/ipv6.rst b/source/plugins/ipv6.rst index 8c78927f30..c651146bc9 100644 --- a/source/plugins/ipv6.rst +++ b/source/plugins/ipv6.rst @@ -51,6 +51,17 @@ When IPv6 is enabled on a Shared Network: - CloudStack does not provide DHCPv6 services in Shared Networks via the Virtual Router. +SLAAC-based IPv6 Address Allocation in Shared Networks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In shared networks with IPv6 enabled: + +- CloudStack allocates instance NICs with SLAAC-based IPv6 addresses calculated from the IPv6 CIDR and the MAC address of the NIC. +- This calculated SLAAC address matches the IPv6 address that the guest OS automatically assigns to the instance. +- When creating or configuring IPv6 ranges for shared networks, the **IPv6 Start IP** and **IPv6 End IP** parameters are optional in both the UI and API (e.g., ``createVlanIpRange``) and are **not used** for SLAAC-based address allocation in shared networks. +- If provided, these parameters should be filled with dummy IP addresses within the same IPv6 subnet (for example, any two valid addresses from your IPv6 CIDR). +- These optional parameters are reserved for potential future use. + Important Notes ~~~~~~~~~~~~~~~