#2292 closed defect (fixed)
nginx config test cannot pass if quic_bpf is enabled
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | major | Milestone: | nginx-1.21 | 
| Component: | http/3 | Version: | |
| Keywords: | quic bpf | Cc: | |
| uname -a: | 5.11.22-100.fc32.x86_64 | ||
| nginx -V: | 
          nginx version: nginx/1.21.4
           built by gcc 10.3.1 20210422 (Red Hat 10.3.1-1) (GCC) built with OpenSSL 1.1.1 (compatible; BoringSSL) (running with BoringSSL) TLS SNI support enabled configure arguments: --with-http_v3_module --with-cc-opt=-I/usr/local/openresty/boringssl/include --with-ld-opt='-L/usr/local/openresty/boringssl/lib -Wl,-rpath,/usr/local/openresty/boringssl/lib'  | 
      ||
Description
the error message
[root@fedora-lijunlong nginx]# ./sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: [emerg] quic bpf setsockopt(SO_ATTACH_REUSEPORT_EBPF) failed (22: Invalid argument) nginx: [emerg] ngx_quic_bpf_module failed to initialize, check limits
nginx.conf
worker_processes  2;
worker_cpu_affinity auto;
quic_bpf on;
events {
    worker_connections  1000000;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_certificate http3.crt;
    ssl_certificate_key http3.key;
    quic_max_idle_timeout 5;
    server {
        listen       80;
        listen       8443 reuseport ssl;
        listen       8443 reuseport http3;
        server_name  localhost;
        access_log  off;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
      Change History (8)
follow-up: 2 comment:1 by , 4 years ago
comment:2 by , 4 years ago
Replying to vl:
Works fine here with 5.9.2
What is the host you are running at (arch, linux distribution version, container or not?)
fedora 32   
amd64 CPU  
kvm
follow-up: 4 comment:3 by , 4 years ago
I see that fedora 32 was released with kernel 5.6 initially, but you are using 5.11.
Was it some official update? Did you update kernel headers as well and rebuilt nginx?
Was it built on the same machine as you are trying to run?
comment:4 by , 4 years ago
Replying to vl:
I see that fedora 32 was released with kernel 5.6 initially, but you are using 5.11.
Was it some official update? Did you update kernel headers as well and rebuilt nginx?
Was it built on the same machine as you are trying to run?
 
It is an official update. and I update the kernel headers as well, but does not exactly match.
run on the machine which built nginx.
Should I built linux kernel myself?
comment:5 by , 4 years ago
| Status: | new → accepted | 
|---|
ok, I was able to reproduce the issue. It happens only with '-t' flag. This need to be fixed.
comment:6 by , 4 years ago
| Summary: | quic bpf can not work when linux version greater than 5.7 → nginx config test cannot pass if quic_bpf is enabled | 
|---|
comment:7 by , 4 years ago
| Resolution: | → fixed | 
|---|---|
| Status: | accepted → closed | 

Works fine here with 5.9.2
What is the host you are running at (arch, linux distribution version, container or not?)