Mercurial > hg > nginx
view src/core/ngx_bpf.h @ 8998:308ac307b3e6 quic
QUIC: improved debug logging.
- wording in log->action is adjusted to match function names.
- connection close steps are made obvious and start with "quic close" prefix:
*1 quic close initiated rc:-4
*1 quic close silent drain:0 timedout:1
*1 quic close resumed rc:-1
*1 quic close resumed rc:-1
*1 quic close resumed rc:-4
*1 quic close completed
this makes it easy to understand if particular "close" record is an initial
cause or lasting process, or the final one.
- cases of close without quic connection now logged as "packet rejected":
*14 quic run
*14 quic packet rx long flags:ec version:1
*14 quic packet rx hs len:61
*14 quic packet rx dcid len:20 00000000000002c32f60e4aa2b90a64a39dc4228
*14 quic packet rx scid len:8 81190308612cd019
*14 quic expected initial, got handshake
*14 quic packet done rc:-1 level:hs decr:0 pn:0 perr:0
*14 quic packet rejected rc:-1, cleanup connection
*14 reusable connection: 0
this makes it easy to spot early packet rejection and avoid confuse with
quic connection closing (which in fact was not even created).
- packet processing summary now uses same prefix "quic packet done rc:"
- added debug to places where packet was rejected without any reason logged
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Tue, 01 Feb 2022 15:43:56 +0300 |
parents | d3747ba486e7 |
children |
line wrap: on
line source
/* * Copyright (C) Nginx, Inc. */ #ifndef _NGX_BPF_H_INCLUDED_ #define _NGX_BPF_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #include <linux/bpf.h> typedef struct { char *name; int offset; } ngx_bpf_reloc_t; typedef struct { char *license; enum bpf_prog_type type; struct bpf_insn *ins; size_t nins; ngx_bpf_reloc_t *relocs; size_t nrelocs; } ngx_bpf_program_t; void ngx_bpf_program_link(ngx_bpf_program_t *program, const char *symbol, int fd); int ngx_bpf_load_program(ngx_log_t *log, ngx_bpf_program_t *program); int ngx_bpf_map_create(ngx_log_t *log, enum bpf_map_type type, int key_size, int value_size, int max_entries, uint32_t map_flags); int ngx_bpf_map_update(int fd, const void *key, const void *value, uint64_t flags); int ngx_bpf_map_delete(int fd, const void *key); int ngx_bpf_map_lookup(int fd, const void *key, void *value); #endif /* _NGX_BPF_H_INCLUDED_ */