Accept_filter being ignored

Hello,

Not sure if I should be directing this to a FreeBSD list or here, but
here goes.

I have set accept_filter= in listen directives:

server {
listen 80 accept_filter=http_ready;
listen [::]:80 accept_filter=http_ready;
listen 443 ssl accept_filter=data_ready;
listen [::]:443 ssl accept_filter=data_ready;

...

}

The correct modules are loaded at boot:

kldstat -v | grep accf

2 1 0xffffffff814bf000 1598 accf_data.ko (/boot/kernel/accf_data.ko)
1 accf_data
3 1 0xffffffff814c1000 26a0 accf_http.ko (/boot/kernel/accf_http.ko)
2 accf_http

But I am seeing the following in the error log after a reboot (or on the
console after an nginx restart):

2016/02/18 16:04:06 [alert] 823#100446: setsockopt(SO_ACCEPTFILTER,
“http_ready”) for 0.0.0.0:80 failed, ignored (2: No such file or
directory)
2016/02/18 16:04:06 [alert] 823#100446: setsockopt(SO_ACCEPTFILTER,
“http_ready”) for [::]:80 failed, ignored (2: No such file or directory)
2016/02/18 16:04:06 [alert] 823#100446: setsockopt(SO_ACCEPTFILTER,
“data_ready”) for 0.0.0.0:443 failed, ignored (2: No such file or
directory)
2016/02/18 16:04:06 [alert] 823#100446: setsockopt(SO_ACCEPTFILTER,
“data_ready”) for [::]:443 failed, ignored (2: No such file or
directory)

Box is running FreeBSD 10-STABLE.

Any hints?


Jim O.

“Never argue with a fool, onlookers may not be able to tell the
difference.” - Mark Twain

Hi Jim,

On 2/19/16 12:19 AM, Jim O. wrote:

    listen 443 ssl accept_filter=data_ready;
    listen [::]:443 ssl accept_filter=data_ready;

[…]

They should be “httpready” and “dataready”, see Module ngx_http_core_module
for more details.

Also see man pages for accept_filter(9) and friends.


Maxim K.

Hello,

On 2/19/16 5:18 AM, Maxim K. wrote:

 server {

Also see man pages for accept_filter(9) and friends.

Haha. It sucks getting old. I read through the docs several times and
missed that. Thanks for the help and sorry for the noise.

On a side note, “nginx -t” did not pick up that error.


Jim O.

“Never argue with a fool, onlookers may not be able to tell the
difference.” - Mark Twain