annotate src/event/quic/ngx_event_quic_bpf_code.c @ 8319:ffcaf0aad9f2 quic

HTTP/3: limited client header size. The limit is the size of all large client header buffers. Client header size is the total size of all client header names and values.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 17 Feb 2021 11:58:32 +0300
parents 7df607cb2d11
children 85e60c064728
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8269
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
1 /* AUTO-GENERATED, DO NOT EDIT. */
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
2
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
3 #include <stddef.h>
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
4 #include <stdint.h>
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
5
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
6 #include "ngx_bpf.h"
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
7
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
8
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
9 static ngx_bpf_reloc_t bpf_reloc_prog_ngx_quic_reuseport_helper[] = {
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
10 { "ngx_quic_sockmap", 56 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
11 };
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
12
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
13 static struct bpf_insn bpf_insn_prog_ngx_quic_reuseport_helper[] = {
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
14 /* opcode dst src offset imm */
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
15 { 0x79, BPF_REG_4, BPF_REG_1, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
16 { 0x79, BPF_REG_3, BPF_REG_1, (int16_t) 8, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
17 { 0xbf, BPF_REG_2, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
18 { 0x7, BPF_REG_2, BPF_REG_0, (int16_t) 0, 0x8 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
19 { 0x2d, BPF_REG_2, BPF_REG_3, (int16_t) 55, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
20 { 0xbf, BPF_REG_5, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
21 { 0x7, BPF_REG_5, BPF_REG_0, (int16_t) 0, 0x9 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
22 { 0x2d, BPF_REG_5, BPF_REG_3, (int16_t) 52, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
23 { 0xb7, BPF_REG_5, BPF_REG_0, (int16_t) 0, 0x14 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
24 { 0xb7, BPF_REG_0, BPF_REG_0, (int16_t) 0, 0x9 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
25 { 0x71, BPF_REG_6, BPF_REG_2, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
26 { 0x67, BPF_REG_6, BPF_REG_0, (int16_t) 0, 0x38 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
27 { 0xc7, BPF_REG_6, BPF_REG_0, (int16_t) 0, 0x38 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
28 { 0x65, BPF_REG_6, BPF_REG_0, (int16_t) 10, 0xffffffff },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
29 { 0xbf, BPF_REG_2, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
30 { 0x7, BPF_REG_2, BPF_REG_0, (int16_t) 0, 0xd },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
31 { 0x2d, BPF_REG_2, BPF_REG_3, (int16_t) 43, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
32 { 0xbf, BPF_REG_5, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
33 { 0x7, BPF_REG_5, BPF_REG_0, (int16_t) 0, 0xe },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
34 { 0x2d, BPF_REG_5, BPF_REG_3, (int16_t) 40, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
35 { 0xb7, BPF_REG_0, BPF_REG_0, (int16_t) 0, 0xe },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
36 { 0x71, BPF_REG_5, BPF_REG_4, (int16_t) 12, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
37 { 0xb7, BPF_REG_6, BPF_REG_0, (int16_t) 0, 0x8 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
38 { 0x2d, BPF_REG_6, BPF_REG_5, (int16_t) 36, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
39 { 0xf, BPF_REG_5, BPF_REG_0, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
40 { 0xf, BPF_REG_4, BPF_REG_5, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
41 { 0x2d, BPF_REG_4, BPF_REG_3, (int16_t) 33, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
42 { 0xbf, BPF_REG_4, BPF_REG_2, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
43 { 0x7, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x9 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
44 { 0x2d, BPF_REG_4, BPF_REG_3, (int16_t) 30, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
45 { 0x71, BPF_REG_4, BPF_REG_2, (int16_t) 1, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
46 { 0x67, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x38 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
47 { 0x71, BPF_REG_3, BPF_REG_2, (int16_t) 2, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
48 { 0x67, BPF_REG_3, BPF_REG_0, (int16_t) 0, 0x30 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
49 { 0x4f, BPF_REG_3, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
50 { 0x71, BPF_REG_4, BPF_REG_2, (int16_t) 3, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
51 { 0x67, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x28 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
52 { 0x4f, BPF_REG_3, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
53 { 0x71, BPF_REG_4, BPF_REG_2, (int16_t) 4, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
54 { 0x67, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x20 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
55 { 0x4f, BPF_REG_3, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
56 { 0x71, BPF_REG_4, BPF_REG_2, (int16_t) 5, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
57 { 0x67, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x38 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
58 { 0xc7, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x20 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
59 { 0x4f, BPF_REG_3, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
60 { 0x71, BPF_REG_4, BPF_REG_2, (int16_t) 6, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
61 { 0x67, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x10 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
62 { 0x4f, BPF_REG_3, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
63 { 0x71, BPF_REG_4, BPF_REG_2, (int16_t) 7, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
64 { 0x67, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x8 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
65 { 0x4f, BPF_REG_3, BPF_REG_4, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
66 { 0x71, BPF_REG_2, BPF_REG_2, (int16_t) 8, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
67 { 0x4f, BPF_REG_3, BPF_REG_2, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
68 { 0x7b, BPF_REG_10, BPF_REG_3, (int16_t) 65528, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
69 { 0xbf, BPF_REG_3, BPF_REG_10, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
70 { 0x7, BPF_REG_3, BPF_REG_0, (int16_t) 0, 0xfffffff8 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
71 { 0x18, BPF_REG_2, BPF_REG_0, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
72 { 0x0, BPF_REG_0, BPF_REG_0, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
73 { 0xb7, BPF_REG_4, BPF_REG_0, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
74 { 0x85, BPF_REG_0, BPF_REG_0, (int16_t) 0, 0x52 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
75 { 0xb7, BPF_REG_0, BPF_REG_0, (int16_t) 0, 0x1 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
76 { 0x95, BPF_REG_0, BPF_REG_0, (int16_t) 0, 0x0 },
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
77 };
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
78
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
79
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
80 ngx_bpf_program_t ngx_quic_reuseport_helper = {
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
81 .relocs = bpf_reloc_prog_ngx_quic_reuseport_helper,
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
82 .nrelocs = sizeof(bpf_reloc_prog_ngx_quic_reuseport_helper)
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
83 / sizeof(bpf_reloc_prog_ngx_quic_reuseport_helper[0]),
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
84 .ins = bpf_insn_prog_ngx_quic_reuseport_helper,
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
85 .nins = sizeof(bpf_insn_prog_ngx_quic_reuseport_helper)
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
86 / sizeof(bpf_insn_prog_ngx_quic_reuseport_helper[0]),
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
87 .license = "BSD",
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
88 .type = BPF_PROG_TYPE_SK_REUSEPORT,
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
89 };
7df607cb2d11 QUIC: ngx_quic_bpf module.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
90