---
title: "Networking"
description: "Calico Open Source networking spans overlay and non-overlay data planes, BGP, IPAM, MTU tuning, and Kubernetes Gateway API ingress for flexible cluster connectivity."
product: "Calico Open Source"
version: "3.32 (latest)"
section: "Networking"
canonical_url: "https://docs.tigera.io/calico/latest/networking/"
---

# Networking

The Calico network plugins provide a range of networking options to fit your implementation and maximize performance.

## Getting started

##### [Determine best networking option](https://docs.tigera.io/calico/latest/networking/determine-best-networking.md)

[Compare networking options in Calico Open Source — overlay versus non-overlay, BGP routing, CNI choices, and IPAM modes — to pick the right combination for your environment.](https://docs.tigera.io/calico/latest/networking/determine-best-networking.md)

##### [About networking](https://docs.tigera.io/calico/latest/about/kubernetes-training/about-networking.md)

[Background on networking fundamentals such as OSI layers, IP addressing, subnets, routing, overlays, DNS, and NAT for newcomers to Calico Open Source.](https://docs.tigera.io/calico/latest/about/kubernetes-training/about-networking.md)

##### [About Kubernetes Networking](https://docs.tigera.io/calico/latest/about/kubernetes-training/about-k8s-networking.md)

[Background on the Kubernetes network model, services, DNS, NAT outgoing, and dual-stack networking concepts that underpin Calico Open Source deployments.](https://docs.tigera.io/calico/latest/about/kubernetes-training/about-k8s-networking.md)

## Configuring networking

##### [Configure BGP peering](https://docs.tigera.io/calico/latest/networking/configuring/bgp.md)

[Configure BGP peering for Calico Open Source — full mesh, node-specific peers, top-of-rack switches, and Calico route reflectors — using BGPPeer and BGPConfiguration resources.](https://docs.tigera.io/calico/latest/networking/configuring/bgp.md)

##### [Overlay networking](https://docs.tigera.io/calico/latest/networking/configuring/vxlan-ipip.md)

[Pick between VXLAN and IP-in-IP overlay modes in Calico Open Source so pod traffic crosses underlay networks that don't route pod CIDRs natively.](https://docs.tigera.io/calico/latest/networking/configuring/vxlan-ipip.md)

##### [Advertise Kubernetes service IP addresses](https://docs.tigera.io/calico/latest/networking/configuring/advertise-service-ips.md)

[Advertise Kubernetes service cluster IPs and external IPs out of the cluster over BGP with Calico Open Source so external clients can route to them directly.](https://docs.tigera.io/calico/latest/networking/configuring/advertise-service-ips.md)

##### [Configure MTU to maximize network performance](https://docs.tigera.io/calico/latest/networking/configuring/mtu.md)

[Tune the Calico Open Source MTU on the FelixConfiguration resource so pod traffic matches the underlying network, including VXLAN, IP-in-IP, and WireGuard overheads.](https://docs.tigera.io/calico/latest/networking/configuring/mtu.md)

##### [Configure outgoing NAT](https://docs.tigera.io/calico/latest/networking/configuring/workloads-outside-cluster.md)

[Set NAT outgoing on Calico Open Source IP pools so pod traffic to destinations outside the cluster is source-NATed to the node's IP.](https://docs.tigera.io/calico/latest/networking/configuring/workloads-outside-cluster.md)

##### [Use IPVS kube-proxy](https://docs.tigera.io/calico/latest/networking/configuring/use-ipvs.md)

[Run kube-proxy in IPVS mode with Calico Open Source for constant-time service load balancing on clusters with thousands of services.](https://docs.tigera.io/calico/latest/networking/configuring/use-ipvs.md)

##### [Accelerate Istio network performance](https://docs.tigera.io/calico/latest/networking/configuring/sidecar-acceleration.md)

[Accelerate Istio Envoy sidecar traffic on Calico Open Source by using eBPF SOCKMAP to bypass kernel networking layers between the sidecar and the application.](https://docs.tigera.io/calico/latest/networking/configuring/sidecar-acceleration.md)

##### [Use a specific MAC address for a pod](https://docs.tigera.io/calico/latest/networking/configuring/pod-mac-address.md)

[Set a chosen MAC address on a Kubernetes pod interface with the Calico Open Source CNI plugin, useful for software licensing tied to MAC.](https://docs.tigera.io/calico/latest/networking/configuring/pod-mac-address.md)

##### [Use NodeLocal DNSCache in your cluster](https://docs.tigera.io/calico/latest/networking/configuring/node-local-dns-cache.md)

[Install NodeLocal DNSCache alongside Calico Open Source and configure network policy that lets pod DNS traffic reach the local cache.](https://docs.tigera.io/calico/latest/networking/configuring/node-local-dns-cache.md)

##### [Configure QoS Controls](https://docs.tigera.io/calico/latest/networking/configuring/qos-controls.md)

[Cap pod ingress and egress bandwidth, packet rate, and connection counts with Calico Open Source QoS controls, plus DiffServ marking on egress traffic.](https://docs.tigera.io/calico/latest/networking/configuring/qos-controls.md)

##### [Add Maglev load balancing to a service](https://docs.tigera.io/calico/latest/networking/configuring/add-maglev-load-balancing.md)

[Switch a Kubernetes service to Maglev consistent-hash load balancing on the Calico Open Source eBPF data plane for resilient backend selection.](https://docs.tigera.io/calico/latest/networking/configuring/add-maglev-load-balancing.md)

## IP address management

##### [Get started with IP address management](https://docs.tigera.io/calico/latest/networking/ipam/get-started-ip-addresses.md)

[Decide between Calico Open Source IPAM and host-local IPAM, then configure IP pool allocation, NAT outgoing, and per-namespace assignment.](https://docs.tigera.io/calico/latest/networking/ipam/get-started-ip-addresses.md)

##### [Create multiple IP pools](https://docs.tigera.io/calico/latest/networking/ipam/ippools.md)

[Create additional Calico Open Source IPPool resources at install time or on a running cluster to serve disjoint ranges, IPv6, or per-topology pod address assignment.](https://docs.tigera.io/calico/latest/networking/ipam/ippools.md)

##### [Configure IP autodetection](https://docs.tigera.io/calico/latest/networking/ipam/ip-autodetection.md)

[Choose how Calico Open Source detects each node's primary IP address, with options for first-found, Kubernetes internal, interface regex, CIDR, and skip-interface.](https://docs.tigera.io/calico/latest/networking/ipam/ip-autodetection.md)

##### [Configure dual stack or IPv6 only](https://docs.tigera.io/calico/latest/networking/ipam/ipv6.md)

[Set up dual-stack or IPv6-only pod networking on Calico Open Source by configuring IP pools, node IP autodetection, and the CNI plugin.](https://docs.tigera.io/calico/latest/networking/ipam/ipv6.md)

##### [Configure Kubernetes control plane to operate over IPv6](https://docs.tigera.io/calico/latest/networking/ipam/ipv6-control-plane.md)

[Run the Kubernetes control plane over IPv6 with Calico Open Source for dual-stack or IPv6-only clusters, including kubeadm flags and node configuration.](https://docs.tigera.io/calico/latest/networking/ipam/ipv6-control-plane.md)

##### [Add a floating IP to a pod](https://docs.tigera.io/calico/latest/networking/ipam/add-floating-ip.md)

[Attach one or more floating IPs to a Kubernetes pod with Calico Open Source IPAM so external clients can reach the workload over any IP protocol.](https://docs.tigera.io/calico/latest/networking/ipam/add-floating-ip.md)

##### [Use a specific IP address with a pod](https://docs.tigera.io/calico/latest/networking/ipam/use-specific-ip.md)

[Pin a Kubernetes pod to a chosen IP address with Calico Open Source IPAM by setting a pod annotation that supplies the requested address.](https://docs.tigera.io/calico/latest/networking/ipam/use-specific-ip.md)

##### [Assign IP addresses based on topology](https://docs.tigera.io/calico/latest/networking/ipam/assign-ip-addresses-topology.md)

[Bind Calico Open Source IP pools to specific zones, racks, or regions with node selectors so pods receive addresses that match the cluster topology.](https://docs.tigera.io/calico/latest/networking/ipam/assign-ip-addresses-topology.md)

##### [Migrate from one IP pool to another](https://docs.tigera.io/calico/latest/networking/ipam/migrate-pools.md)

[Migrate workloads from one Calico Open Source IPPool to another on a running cluster without disrupting existing pod connectivity.](https://docs.tigera.io/calico/latest/networking/ipam/migrate-pools.md)

##### [Change IP pool block size](https://docs.tigera.io/calico/latest/networking/ipam/change-block-size.md)

[Resize an IPPool block in Calico Open Source — by creating a replacement pool and migrating workloads — to use IP space more efficiently.](https://docs.tigera.io/calico/latest/networking/ipam/change-block-size.md)

##### [Restrict a pod to use an IP address in a specific range](https://docs.tigera.io/calico/latest/networking/ipam/legacy-firewalls.md)

[Restrict pods to a defined IP address range with Calico Open Source so legacy firewalls and security appliances can recognize cluster workloads.](https://docs.tigera.io/calico/latest/networking/ipam/legacy-firewalls.md)

##### [LoadBalancer IP address management](https://docs.tigera.io/calico/latest/networking/ipam/service-loadbalancer.md)

[Use the Calico Open Source LoadBalancer controller to allocate addresses to Kubernetes Service type LoadBalancer from configured IP pools.](https://docs.tigera.io/calico/latest/networking/ipam/service-loadbalancer.md)

## Networking for OpenStack

##### [Set up a development machine](https://docs.tigera.io/calico/latest/networking/openstack/dev-machine-setup.md)

[Walk-through example of provisioning a developer VM on a Calico Open Source OpenStack cloud, with security groups, an external network attachment, and SSH access.](https://docs.tigera.io/calico/latest/networking/openstack/dev-machine-setup.md)

##### [Prepare a VM guest OS for IPv6](https://docs.tigera.io/calico/latest/networking/openstack/ipv6.md)

[Prepare a guest OS image for IPv6 connectivity on Calico Open Source OpenStack VMs by configuring DHCPv6 client behavior and accepting router advertisements.](https://docs.tigera.io/calico/latest/networking/openstack/ipv6.md)

##### [IP addressing and connectivity](https://docs.tigera.io/calico/latest/networking/openstack/connectivity.md)

[Plan IPv4 and IPv6 address ranges, gateway routing, and Neutron network setup to connect Calico Open Source OpenStack VMs with the data center fabric.](https://docs.tigera.io/calico/latest/networking/openstack/connectivity.md)

##### [Endpoint labels and operator policy](https://docs.tigera.io/calico/latest/networking/openstack/labels.md)

[Reference for the project, network, security-group, and namespace labels that Calico Open Source places on WorkloadEndpoints for OpenStack VMs, plus how to use them in policy.](https://docs.tigera.io/calico/latest/networking/openstack/labels.md)

##### [Configure systems for use with Calico](https://docs.tigera.io/calico/latest/networking/openstack/configuration.md)

[Configure Nova, Neutron, and DHCP agent settings on OpenStack compute hosts to run Calico Open Source as either a core plugin or an ML2 mechanism driver.](https://docs.tigera.io/calico/latest/networking/openstack/configuration.md)

##### [Detailed semantics](https://docs.tigera.io/calico/latest/networking/openstack/semantics.md)

[Reference for the IP-only connectivity model Calico Open Source provides between OpenStack instances, and how it differs from traditional Neutron L2 semantics.](https://docs.tigera.io/calico/latest/networking/openstack/semantics.md)

##### [Floating IPs](https://docs.tigera.io/calico/latest/networking/openstack/floating-ips.md)

[Allocate Neutron floating IPs against a Calico Open Source OpenStack tenant network, including router gateways, provider subnets, and core-plugin requirements.](https://docs.tigera.io/calico/latest/networking/openstack/floating-ips.md)

##### [Service IPs](https://docs.tigera.io/calico/latest/networking/openstack/service-ips.md)

[Assign a service IP to a Calico Open Source OpenStack VM by attaching either a Neutron floating IP or an additional fixed IP on the VM port.](https://docs.tigera.io/calico/latest/networking/openstack/service-ips.md)

##### [Host routes](https://docs.tigera.io/calico/latest/networking/openstack/host-routes.md)

[Configure Neutron subnet host routes so the next-hop IP points at the local hypervisor in Calico Open Source OpenStack deployments and traffic flows correctly.](https://docs.tigera.io/calico/latest/networking/openstack/host-routes.md)

##### [Multiple regions](https://docs.tigera.io/calico/latest/networking/openstack/multiple-regions.md)

[Deploy Calico Open Source across multiple OpenStack regions sharing one etcd datastore, with per-region namespaces for inter-region policy.](https://docs.tigera.io/calico/latest/networking/openstack/multiple-regions.md)

##### [Kuryr](https://docs.tigera.io/calico/latest/networking/openstack/kuryr.md)

[Use Kuryr together with the Calico ML2 driver in Calico Open Source so Neutron provides networking for container workloads.](https://docs.tigera.io/calico/latest/networking/openstack/kuryr.md)

##### [Calico's interpretation of Neutron API calls](https://docs.tigera.io/calico/latest/networking/openstack/neutron-api.md)

[Reference for how Calico Open Source interprets each Neutron API call — networks, subnets, ports, security groups, and Horizon actions — in an OpenStack deployment.](https://docs.tigera.io/calico/latest/networking/openstack/neutron-api.md)

## Networking options with Calico Cloud

##### [Egress gateways](https://docs.tigera.io/calico-cloud/networking/egress/egress-gateway-on-prem.md)

[Configure specific application traffic to exit the cluster through an egress gateway.](https://docs.tigera.io/calico-cloud/networking/egress/egress-gateway-on-prem.md)

[Cloud](https://docs.tigera.io/calico-cloud/networking/egress/egress-gateway-on-prem.md)

##### [Deploy a dual ToR cluster](https://docs.tigera.io/calico-cloud/networking/configuring/dual-tor.md)

[Configure a dual plane cluster for redundant connectivity between workloads.](https://docs.tigera.io/calico-cloud/networking/configuring/dual-tor.md)

[Cloud](https://docs.tigera.io/calico-cloud/networking/configuring/dual-tor.md)
