]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/bpf-filter.main.ebpf
rec: mention rust compiler in compiling docs
[thirdparty/pdns.git] / pdns / bpf-filter.main.ebpf
1 /* generated from the bpf_dns_filter() function in bpf-filter.ebpf.src */
2 BPF_MOV64_REG(BPF_REG_6,BPF_REG_1),
3 BPF_MOV64_IMM(BPF_REG_7,2147483647),
4 BPF_LDX_MEM(BPF_W,BPF_REG_1,BPF_REG_6,16),
5 BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,ntohs(0x86dd),11),
6 BPF_JMP_IMM(BPF_JNE,BPF_REG_1,ntohs(0x0800),109),
7 BPF_LD_ABS(BPF_W,-2097126),
8 BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_0,-256),
9 BPF_LD_MAP_FD(BPF_REG_1,maps->d_v4.d_fd.getHandle()),
10 BPF_MOV64_REG(BPF_REG_2,BPF_REG_10),
11 BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256),
12 BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem),
13 BPF_JMP_IMM(BPF_JNE,BPF_REG_0,0,98),
14 BPF_LD_ABS(BPF_B,-2097129),
15 BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,39),
16 BPF_LD_ABS(BPF_B,-2097130),
17 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-256),
18 BPF_LD_ABS(BPF_B,-2097129),
19 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-255),
20 BPF_LD_ABS(BPF_B,-2097128),
21 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-254),
22 BPF_LD_ABS(BPF_B,-2097127),
23 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-253),
24 BPF_LD_ABS(BPF_B,-2097126),
25 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-252),
26 BPF_LD_ABS(BPF_B,-2097125),
27 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-251),
28 BPF_LD_ABS(BPF_B,-2097124),
29 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-250),
30 BPF_LD_ABS(BPF_B,-2097123),
31 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-249),
32 BPF_LD_ABS(BPF_B,-2097122),
33 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-248),
34 BPF_LD_ABS(BPF_B,-2097121),
35 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-247),
36 BPF_LD_ABS(BPF_B,-2097120),
37 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-246),
38 BPF_LD_ABS(BPF_B,-2097119),
39 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-245),
40 BPF_LD_ABS(BPF_B,-2097118),
41 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-244),
42 BPF_LD_ABS(BPF_B,-2097117),
43 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-243),
44 BPF_LD_ABS(BPF_B,-2097116),
45 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-242),
46 BPF_LD_ABS(BPF_B,-2097115),
47 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-241),
48 BPF_LD_MAP_FD(BPF_REG_1,maps->d_v6.d_fd.getHandle()),
49 BPF_MOV64_REG(BPF_REG_2,BPF_REG_10),
50 BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256),
51 BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem),
52 BPF_JMP_IMM(BPF_JNE,BPF_REG_0,0,58),
53 BPF_LD_ABS(BPF_B,-2097132),
54 BPF_ALU64_IMM(BPF_AND,BPF_REG_0,255),
55 BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,6,58),
56 BPF_MOV64_IMM(BPF_REG_1,0),
57 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_1,-2),
58 BPF_STX_MEM(BPF_H,BPF_REG_10,BPF_REG_1,-4),
59 BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_1,-8),
60 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-16),
61 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-24),
62 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-32),
63 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-40),
64 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-48),
65 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-56),
66 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-64),
67 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-72),
68 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-80),
69 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-88),
70 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-96),
71 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-104),
72 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-112),
73 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-120),
74 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-128),
75 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-136),
76 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-144),
77 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-152),
78 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-160),
79 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-168),
80 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-176),
81 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-184),
82 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-192),
83 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-200),
84 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-208),
85 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-216),
86 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-224),
87 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-232),
88 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-240),
89 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-248),
90 BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-256),
91 BPF_MOV64_IMM(BPF_REG_1,20),
92 BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_1,48),
93 BPF_LD_ABS(BPF_B,20),
94 BPF_MOV64_REG(BPF_REG_8,BPF_REG_0),
95 BPF_MOV64_IMM(BPF_REG_7,0),
96 BPF_JMP_IMM(BPF_JGT,BPF_REG_8,63,17),
97 BPF_JMP_IMM(BPF_JNE,BPF_REG_8,0,18),
98 BPF_LD_ABS(BPF_H,21),
99 BPF_MOV64_REG(BPF_REG_6,BPF_REG_0),
100 BPF_LD_MAP_FD(BPF_REG_1,maps->d_qnames.d_fd.getHandle()),
101 BPF_MOV64_REG(BPF_REG_2,BPF_REG_10),
102 BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256),
103 BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem),
104 BPF_MOV64_IMM(BPF_REG_7,2147483647),
105 BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,0,7),
106 BPF_LDX_MEM(BPF_H,BPF_REG_1,BPF_REG_0,8),
107 BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,255,2),
108 BPF_ALU64_IMM(BPF_AND,BPF_REG_6,65535),
109 BPF_JMP_REG(BPF_JNE,BPF_REG_1,BPF_REG_6,3),
110 BPF_MOV64_IMM(BPF_REG_1,1),
111 BPF_RAW_INSN(BPF_STX|BPF_XADD|BPF_DW,BPF_REG_0,BPF_REG_1,0,0),
112 BPF_MOV64_IMM(BPF_REG_7,0),
113 BPF_MOV64_REG(BPF_REG_0,BPF_REG_7),
114 BPF_EXIT_INSN(),
115 BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,52),
116 BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_8,-256),
117 BPF_LD_ABS(BPF_B,21),
118 BPF_MOV64_REG(BPF_REG_2,BPF_REG_0),
119 BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-65),
120 BPF_ALU64_IMM(BPF_LSH,BPF_REG_2,32),
121 BPF_ALU64_IMM(BPF_RSH,BPF_REG_2,32),
122 BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
123 BPF_ALU64_IMM(BPF_ADD,BPF_REG_1,32),
124 BPF_MOV64_IMM(BPF_REG_3,26),
125 BPF_JMP_REG(BPF_JGT,BPF_REG_3,BPF_REG_2,1),
126 BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
127 BPF_ALU64_IMM(BPF_ADD,BPF_REG_8,-1),
128 BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,60),
129 BPF_ALU64_IMM(BPF_AND,BPF_REG_1,255),
130 BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_1,56),
131 BPF_LD_MAP_FD(BPF_REG_2,maps->d_filters.d_fd.getHandle()),
132 BPF_MOV64_REG(BPF_REG_1,BPF_REG_6),
133 BPF_MOV64_IMM(BPF_REG_3,0),
134 BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_tail_call),
135 BPF_MOV64_IMM(BPF_REG_7,2147483647),
136 BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,-25),