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