---
name: "hostapd"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/hostapd"
---

# hostapd(8)

Host Access Point daemon

## NAME

**hostapd** – Host Access Point daemon

## SYNOPSIS

**hostapd** \[**-dv**\] \[**-D** *macro*=*value*\] \[**-f** *file*\]

## DESCRIPTION

**hostapd** is a daemon which allows communication between different 802.11 wireless access points running in *Host* *AP* mode.

**hostapd** implements the Inter Access Point Protocol (IAPP). Its purpose is to exchange station association updates between access points in large wireless networks. IAPP has been designed to speed up roaming between different access points in the same Extended Service Set (ESS). IAPP is described in the IEEE 802.11f standard.

**hostapd** additionally allows the monitoring and logging of station associations on a non-hostap host which is receiving IAPP messages.

**hostapd** uses two network interfaces on startup specified in the configuration file [hostapd.conf(5)](/hostapd.conf/5.md). The first interface is used to access the Host AP, which is a wireless interface running in Host AP mode. Host AP mode can be enabled using [ifconfig(8)](/ifconfig/8.md). The second interface is used to communicate with other **hostapd** in the same broadcast domain or multicast group. Usually a wired interface is used to communicate with other **hostapd**.

**hostapd** broadcasts an *ADD.notify* IAPP message when a new station is associated to the Host AP. When **hostapd** receives an ADD.notify message, it tells the Host AP to remove the specified station.

**hostapd** may also handle dynamic roaming of IP addresses and routes in addition to the standard IAPP ADD.notify behaviour. See the section called IP Roaming in [hostapd.conf(5)](/hostapd.conf/5.md) for details.

The options are as follows:

- **-D** *macro*=*value*

  Define *macro* to be set to *value* on the command line. Overrides the definition of *macro* in the configuration file.

- **-d**

  Do not daemonize and log to *stderr*.

- **-f** *file*

  Use *file* as the configuration file, instead of the default */etc/hostapd.conf*.

- **-v**

  Produce more verbose output.

## FILES

- */etc/hostapd.conf*

  default **hostapd** configuration file

## SEE ALSO

[hostapd.conf(5)](/hostapd.conf/5.md), [ifconfig(8)](/ifconfig/8.md) *Inter Access Point Protocol*, IEEE 802.11f, March 2001.

## HISTORY

The **hostapd** program first appeared at the 21st Chaos Communication Congress (**https://events.ccc.de/congress/2004/**) and later in OpenBSD 3.8.

## AUTHORS

The **hostapd** program was written by Reyk Floeter ⟨*reyk@openbsd.org*⟩.

## CAVEATS

**hostapd** depends on drivers using the net80211 kernel wireless layer with support of Host AP mode. For traditional reasons, the [wi(4)](/wi/4.md) driver still uses its own Host AP code in **if\_wi\_hostap**(), which is not supported by **hostapd**.

The IEEE 802.11 WLAN protocol lacks authentication of management frames and is vulnerable to various denial of service and man-in-the-middle attacks. That should be considered when implementing wireless networks with **hostapd**.
