avahi-autoipd
Assign a link-local IP address automatically
SYNOPSIS
avahi-autoipd [options] [interface]
PARAMETERS
-h, --help
Show help and exit.
-V, --version
Show version information.
-D, --daemonize
Daemonize after startup (implies -s)
-f, --foreground
Run in foreground, don't daemonize.
-s, --syslog
Log to syslog instead of stderr.
-S, --no-syslog
Log to stderr even if daemonized.
-v, --verbose
Increase verbosity.
-d, --debug
Enable debug messages.
-y, --check-rfc3927-compatibility
Verify RFC 3927 compliance on interfaces.
-p TIME, --probe-time=TIME
Initial probe wait time in seconds (default 1).
-t TIME, --probe-num=TIME
ARP probe packets count (default 1).
-a TIME, --announce-wait=TIME
Wait before announcements in seconds (default 2).
-m NUM, --max-conflicts=NUM
Max conflicts before randomizing (default 10).
-r TIME, --rate-limit-interval=TIME
Defense interval in seconds (default 60).
-w, --no-probe-wait
Skip link-up wait before probing.
DESCRIPTION
avahi-autoipd is a standalone daemon implementing IPv4 Link-Local (IPv4LL) address autoconfiguration for Linux systems, as specified in RFC 3927 and the Zeroconf protocol. It automatically assigns addresses from the 169.254.0.0/16 range to network interfaces lacking a DHCP server or static configuration.
When started on an interface, avahi-autoipd performs duplicate address detection (DAD) via ARP probes to claim a unique address based on the interface's MAC address hash. It announces the address periodically and defends against conflicts by rate-limiting probes or randomizing selections.
Ideal for ad-hoc networks, embedded devices, or fallback when DHCP fails. Supports running as a daemon, foreground process, or per-interface. Integrates with action scripts for hooks like DNS updates. Verbose logging aids debugging. Ensures RFC compliance optionally.
Unlike full DHCP clients, it focuses solely on link-local; combine with DHCP for production. Runs rootless where possible, drops privileges post-bind.
CAVEATS
IPv4-only; conflicts possible with DHCP clients; root required for binding; not for routed networks; action scripts need 0755 perms.
ACTION SCRIPTS
Supports /etc/avahi-autoipd.action script executed on events (bound, stop). Use ${interface}, ${ip} vars.
EXIT CODES
0: success; 1: general error; 2: invalid args; 3: interface error; 4: address claim fail.
HISTORY
Part of Avahi project since 2006; implements RFC 3927 (2005); maintained by Lennart Poettering et al.; integrated in many distros like Debian, Fedora.
SEE ALSO
avahi-daemon(8), dhclient(8), systemd-networkd(8), ip(8)


