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

# accf\_data(9)

buffer incoming connections until data arrives

## NAME

**accf\_data** – buffer incoming connections until data arrives

## SYNOPSIS

**options** **INET** **options** **ACCEPT\_FILTER\_DATA**

In [rc.conf(5)](/rc.conf/5.md): **kld\_list="accf\_data"**

## DESCRIPTION

This is a filter to be placed on a socket that will be using **accept**() to receive incoming connections.

It prevents the application from receiving the connected descriptor via **accept**() until data arrives on the connection.

The *ACCEPT\_FILTER\_DATA* kernel option is also a module that can be enabled at runtime via [kldload(8)](/kldload/8.md) if the INET option has been compiled into the kernel.

## EXAMPLES

Assuming ACCEPT\_FILTER\_DATA has been included in the kernel config file or the **accf\_data** module has been loaded, this will enable the data accept filter on the socket *sok*.

```
	struct accept_filter_arg afa;
	bzero(&afa, sizeof(afa));
	strcpy(afa.af_name, "dataready");
	setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
```

## SEE ALSO

[setsockopt(2)](/setsockopt/2.md), [accept\_filter(9)](/accept_filter/9.md), [accf\_dns(9)](/accf_dns/9.md), [accf\_http(9)](/accf_http/9.md)

## HISTORY

The accept filter mechanism and the accf\_data filter were introduced in FreeBSD 4.0.

## AUTHORS

This manual page and the filter were written by Alfred Perlstein.
