---
title: "calicoctl ipam show"
description: "Reference for the calicoctl IPAM show command in Calico Open Source, used to display the owner and details of an allocated IP address."
product: "Calico Open Source"
version: "3.33 (latest)"
section: "Reference"
canonical_url: "https://docs.tigera.io/calico/latest/reference/calicoctl/ipam/show"
---

# calicoctl ipam show

This section describes the `calicoctl ipam show` command.

Read the [calicoctl Overview](https://docs.tigera.io/calico/latest/reference/calicoctl/overview.md) for a full list of calicoctl commands.

## Displaying the help text for 'calicoctl ipam show' command

Run `calicoctl ipam show --help` to display the following help menu for the command.

```text
Show details of Calico IP address usage. With no flags it summarizes pool
usage; the flags drill into a specific address, individual blocks, borrowed
addresses, or the current IPAM configuration.

Usage:
  calicoctl ipam show [flags]

Examples:
  # Summarize IP pool usage.
  calicoctl ipam show

  # Check whether a specific IP is in use.
  calicoctl ipam show --ip 10.0.0.1

Flags:
  -c, --config string        Path to the file containing connection configuration in YAML or JSON format. (default "/etc/calico/calicoctl.cfg")
  -h, --help                 help for show
      --ip string            Report whether this specific IP address is in use.
      --show-blocks          Show detailed information for IP blocks as well as pools.
      --show-borrowed        Show detailed information for borrowed IP addresses.
      --show-configuration   Show current Calico IPAM configuration.

Global Flags:
      --allow-version-mismatch   Allow client and cluster versions mismatch
      --context string           The name of the kubeconfig context to use
  -l, --log-level string         Set the log level (panic, fatal, error, warn, info, debug) (default "panic")
```

### Examples

1. Print the information associated with an IP address.

   ```bash
   calicoctl ipam show --ip=192.168.1.2
   ```

   The following result indicates that the IP is not assigned to an endpoint.

   ```text
   IP 192.168.1.2 is not currently assigned
   ```

2. Print the information associated with a different IP address.

   ```bash
   calicoctl ipam show --ip=10.244.118.70
   ```

   For a Kubernetes pod IP, the output shows the handle ID and owner attributes:

   ```text
   IP 10.244.118.70 is in use
   Handle ID: k8s-pod-network.abc123
   Active Owner Attributes:
     pod: nano-66d4c99f8b-jm5s9
     namespace: default
     node: ip-172-16-101-160.us-west-2.compute.internal
   ```

   For a KubeVirt VM IP, alternate owner attributes may also be shown (for example, during a live migration):

   ```text
   IP 10.244.118.80 is in use
   Handle ID: k8s-pod-network.def456
   Active Owner Attributes:
     namespace: default
     node: worker-node-1
     vmi: my-vm
     pod: virt-launcher-my-vm-abc12
   Alternate Owner Attributes:
     namespace: default
     node: worker-node-2
     vmi: my-vm
     pod: virt-launcher-my-vm-def34
   ```

3. Print a summary of IP usage.

   ```bash
   calicoctl ipam show
   ```

   The table shows usage for each IP Pool:

   ```text
   +----------+-------------------+------------+------------+--------------+-------------------+
   | GROUPING |       CIDR        | IPS TOTAL  | IPS IN USE | IPS RESERVED |     IPS FREE      |
   +----------+-------------------+------------+------------+--------------+-------------------+
   | IP Pool  | 10.65.0.0/16      |      65536 |     5 (0%) |    1024 (2%) |       64507 (98%) |
   | IP Pool  | fd5f:abcd:64::/48 | 1.2089e+24 |     7 (0%) |       0 (0%) | 1.2089e+24 (100%) |
   +----------+-------------------+------------+------------+--------------+-------------------+
   ```

   - `IPS IN USE` counts allocated addresses.
   - `IPS RESERVED` counts addresses that an [IP reservation](https://docs.tigera.io/calico/latest/reference/resources/ipreservation.md) covers.
   - `IPS FREE` counts addresses that are neither in use nor reserved.

   An address that was allocated before it was reserved counts as both in use and reserved, so the percentages can add up to more than 100%.

4. Print more detailed IP usage by blocks.

   ```bash
   calicoctl ipam show --show-blocks
   ```

   As well as the total usage per IP Pool, the table shows usage for block that has been allocated from those pools:

   ```text
   +----------+-------------------------------------------+------------+------------+--------------+-------------------+
   | GROUPING |                   CIDR                    | IPS TOTAL  | IPS IN USE | IPS RESERVED |     IPS FREE      |
   +----------+-------------------------------------------+------------+------------+--------------+-------------------+
   | IP Pool  | 10.65.0.0/16                              |      65536 |     5 (0%) |    1024 (2%) |       64507 (98%) |
   | Block    | 10.65.79.0/26                             |         64 |     5 (8%) |       0 (0%) |          59 (92%) |
   | IP Pool  | fd5f:abcd:64::/48                         | 1.2089e+24 |     7 (0%) |       0 (0%) | 1.2089e+24 (100%) |
   | Block    | fd5f:abcd:64:4f2c:ec1b:27b9:1989:77c0/122 |         64 |    7 (11%) |       0 (0%) |          57 (89%) |
   +----------+-------------------------------------------+------------+------------+--------------+-------------------+
   ```

   An IP pool's counts cover the whole pool CIDR, including addresses that no block has been allocated from yet. In this example, the 1024 reserved addresses are outside the pool's only block.

5. Print more detailed information about borrowed IP addresses.

   ```bash
   calicoctl ipam show --show-borrowed
   ```

   Table shows which IP addresses have been borrowed by which node out of which block and the entity consuming it:

   ```text
   +------------+-----------------+---------------+---------------+------+------------------------------------+
   |     IP     | BORROWING-NODE  |     BLOCK     |  BLOCK OWNER  | TYPE |            ALLOCATED-TO            |
   +------------+-----------------+---------------+---------------+------+------------------------------------+
   | 172.16.0.1 | worker-node-1   | 172.16.0.0/29 | worker-node-2 | pod  | external-ns/nginx-6db489d4b7-gln7h |
   | 172.16.0.2 | worker-node-3   | 172.16.0.0/29 | worker-node-2 | pod  | external-ns/nginx-6db489d4b7-kzkbv |
   +------------+-----------------+---------------+---------------+------+------------------------------------+
   ```

6. Print current IPAM configuration.

   ```bash
   calicoctl ipam show --show-configuration
   ```

   Table shows current IPAM configuration:

   ```text
   +--------------------+-------+
   |      PROPERTY      | VALUE |
   +--------------------+-------+
   | StrictAffinity     | false |
   | AutoAllocateBlocks | true  |
   +--------------------+-------+
   ```

### Options

```text
      --ip string            Report whether this specific IP address is in use.
      --show-blocks          Show detailed information for IP blocks as well as pools.
      --show-borrowed        Show detailed information for borrowed IP addresses.
      --show-configuration   Show current Calico IPAM configuration.
```

### General options

```text
  -c, --config string   Path to the file containing connection configuration in YAML or JSON format. (default "/etc/calico/calicoctl.cfg")
```

## See also

- [Installing calicoctl](https://docs.tigera.io/calico/latest/operations/calicoctl/install.md)
