---
title: "Configure dual stack"
description: "Configure dual-stack pod networking in a Calico Cloud connected cluster by adding IPv6 IP pools, IPv6 autodetection, and matching CNI plugin settings."
product: "Calico Cloud"
version: "v20.4.0"
section: "Networking"
canonical_url: "https://docs.tigera.io/calico-cloud/next/networking/ipam/ipv6"
---

# Configure dual stack

## Big picture

Configure Calico Cloud IP address allocation to use dual stack for workload communications.

## Value

In addition to IPv4, IPv6 is increasingly desirable for Workload communication. Calico Cloud supports:

- **IPv4 only** (default)

  Each workload gets an IPv4 address, and can communicate over IPv4.

- **Dual stack**

  Each workload gets an IPv4 and an IPv6 address, and can communicate over IPv4 or IPv6.

## Before you begin

**Unsupported**

- IPv6 only
- AKS
- AWS/kOps
- EKS
- GKE
- RKE
- RKE2

**Calico Cloud requirements**

- Calico Cloud IPAM

- OpenShift

  - Requires 4.8 for IPv6/IPv4 dual-stack and IPv6 single stack support
  - Requires 3.11 and later using Calico Cloud 3.4 and later for IPv6 support

**Kubernetes version requirements**

- For dual stack, 1.20 and later
- For one IP stack at a time (IPv4 or IPv6), any Kubernetes version

**Kubernetes IPv6 host requirements**

- An IPv6 address that is reachable from the other hosts
- The sysctl setting, `net.ipv6.conf.all.forwarding`, is set to `1`. This ensures both Kubernetes service traffic and Calico Cloud traffic is forwarded appropriately.
- A default IPv6 route

**Kubernetes IPv4 host requirements**

- An IPv4 address that is reachable from the other hosts
- The sysctl setting, `net.ipv4.conf.all.forwarding`, is set to `1`. This ensures both Kubernetes service traffic and Calico Cloud traffic is forwarded appropriately.
- A default IPv4 route

## How to

> **SECONDARY:** The following task is only for new clusters.

### Enable dual stack

1. Set up a new cluster following the Kubernetes [prerequisites](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#prerequisites) and [enablement steps](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#enable-ipv4-ipv6-dual-stack).

To configure dual-stack cluster using the operator, edit your default Installation at install time to include both an IPv4 and IPv6 pool. For example:

```yaml
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
  name: default
spec:
   # Configures Calico networking.
  calicoNetwork:
    ipPools:
      - blockSize: 26
        cidr: 10.48.0.0/21
        encapsulation: IPIP
        natOutgoing: Enabled
        nodeSelector: all()
      - blockSize: 122
        cidr: 2001::00/64
        encapsulation: None
        natOutgoing: Enabled
        nodeSelector: all()
```
