---
name: "ip6addrctl"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/ip6addrctl"
---

# ip6addrctl(8)

configure address selection policy for IPv6 and IPv4

## NAME

**ip6addrctl** – configure address selection policy for IPv6 and IPv4

## SYNOPSIS

**ip6addrctl** \[**-j** *jail*\] \[**show**\]

**ip6addrctl** \[**-j** *jail*\] **add** *prefix* *precedence* *label*

**ip6addrctl** \[**-j** *jail*\] **delete** *prefix*

**ip6addrctl** \[**-j** *jail*\] **flush**

**ip6addrctl** \[**-j** *jail*\] **install** *configfile*

## DESCRIPTION

The **ip6addrctl** utility manages the policy table of source and destination address selection for outgoing IPv4 and IPv6 packets. When **ip6addrctl** is invoked without an argument or with a single argument **show**, it prints the content of the policy table currently installed in the kernel.

To operate inside a jail, the option \[**-j** *jail*\] should precede other options.

To modify the table, the following operations are available:

- **add** *prefix* *precedence* *label*

  Add a policy entry. The *prefix* argument is an IPv6 prefix, which is a key for the entry. An IPv4 prefix should be specified with an IPv6 prefix using an IPv4-mapped IPv6 address. The *precedence* and *label* arguments are decimal numbers, which specify the precedence and label values for the entry, respectively. This operation should be performed without an existing entry for the prefix.

- **delete** *prefix*

  Delete a policy entry specified by *prefix*, which should be an IPv6 prefix. A corresponding entry for the prefix should have already been installed.

- **flush**

  Delete all existing policy entries in the kernel.

- **install** *configfile*

  Install policy entries from a configuration file named *configfile*. The configuration file should contain a set of policy entries. Each entry is specified in a single line which contains an IPv6 prefix, a decimal precedence value, and a decimal label value, separated with white space or tab characters. In the configuration file, lines beginning with the pound-sign (‘#’) are comments and are ignored. Note that the configuration file will be processed before attaching to a jail.

## EXIT STATUS

The **ip6addrctl** utility exits 0 on success, and \>0 if an error occurs.

## SEE ALSO

[getaddrinfo(1)](/getaddrinfo/1.md), [getaddrinfo(3)](/getaddrinfo/3.md) Dave Thaler, Richard Draves, Arifumi Matsumoto, and Tim Chown, *Default Address Selection for Internet Protocol Version 6 (IPv6)*, RFC 6724.

## HISTORY

The **ip6addrctl** utility first appeared in the KAME IPv6 protocol stack kit. The original command name was **addrselect**, but it was then renamed to the current one so that the name would describe its function well.
