]>
Commit | Line | Data |
---|---|---|
d45189b7 RG |
1 | /* generated from the bpf_dns_filter() function in bpf-filter.ebpf.src */ |
2 | BPF_MOV64_REG(BPF_REG_6,BPF_REG_1), | |
abbc7287 | 3 | BPF_MOV64_IMM(BPF_REG_7,2147483647), |
d45189b7 | 4 | BPF_LDX_MEM(BPF_W,BPF_REG_1,BPF_REG_6,16), |
abbc7287 RG |
5 | BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,ntohs(0x86dd),11), |
6 | BPF_JMP_IMM(BPF_JNE,BPF_REG_1,ntohs(0x0800),109), | |
d45189b7 | 7 | BPF_LD_ABS(BPF_W,-2097126), |
abbc7287 | 8 | BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_0,-256), |
ad6bca0e | 9 | BPF_LD_MAP_FD(BPF_REG_1,maps->d_v4.d_fd.getHandle()), |
d45189b7 | 10 | BPF_MOV64_REG(BPF_REG_2,BPF_REG_10), |
abbc7287 | 11 | BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256), |
d45189b7 | 12 | BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem), |
abbc7287 RG |
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), | |
d45189b7 | 16 | BPF_LD_ABS(BPF_B,-2097130), |
abbc7287 | 17 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-256), |
d45189b7 | 18 | BPF_LD_ABS(BPF_B,-2097129), |
abbc7287 | 19 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-255), |
d45189b7 | 20 | BPF_LD_ABS(BPF_B,-2097128), |
abbc7287 | 21 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-254), |
d45189b7 | 22 | BPF_LD_ABS(BPF_B,-2097127), |
abbc7287 | 23 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-253), |
d45189b7 | 24 | BPF_LD_ABS(BPF_B,-2097126), |
abbc7287 | 25 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-252), |
d45189b7 | 26 | BPF_LD_ABS(BPF_B,-2097125), |
abbc7287 | 27 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-251), |
d45189b7 | 28 | BPF_LD_ABS(BPF_B,-2097124), |
abbc7287 | 29 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-250), |
d45189b7 | 30 | BPF_LD_ABS(BPF_B,-2097123), |
abbc7287 | 31 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-249), |
d45189b7 | 32 | BPF_LD_ABS(BPF_B,-2097122), |
abbc7287 | 33 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-248), |
d45189b7 | 34 | BPF_LD_ABS(BPF_B,-2097121), |
abbc7287 | 35 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-247), |
d45189b7 | 36 | BPF_LD_ABS(BPF_B,-2097120), |
abbc7287 | 37 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-246), |
d45189b7 | 38 | BPF_LD_ABS(BPF_B,-2097119), |
abbc7287 | 39 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-245), |
d45189b7 | 40 | BPF_LD_ABS(BPF_B,-2097118), |
abbc7287 | 41 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-244), |
d45189b7 | 42 | BPF_LD_ABS(BPF_B,-2097117), |
abbc7287 | 43 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-243), |
d45189b7 | 44 | BPF_LD_ABS(BPF_B,-2097116), |
abbc7287 | 45 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-242), |
d45189b7 | 46 | BPF_LD_ABS(BPF_B,-2097115), |
abbc7287 | 47 | BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-241), |
ad6bca0e | 48 | BPF_LD_MAP_FD(BPF_REG_1,maps->d_v6.d_fd.getHandle()), |
d45189b7 | 49 | BPF_MOV64_REG(BPF_REG_2,BPF_REG_10), |
abbc7287 | 50 | BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256), |
d45189b7 | 51 | BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem), |
abbc7287 | 52 | BPF_JMP_IMM(BPF_JNE,BPF_REG_0,0,58), |
d45189b7 | 53 | BPF_LD_ABS(BPF_B,-2097132), |
abbc7287 RG |
54 | BPF_ALU64_IMM(BPF_AND,BPF_REG_0,255), |
55 | BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,6,58), | |
d45189b7 | 56 | BPF_MOV64_IMM(BPF_REG_1,0), |
abbc7287 RG |
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), | |
d45189b7 RG |
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), | |
abbc7287 RG |
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), | |
d45189b7 | 99 | BPF_MOV64_REG(BPF_REG_6,BPF_REG_0), |
ad6bca0e | 100 | BPF_LD_MAP_FD(BPF_REG_1,maps->d_qnames.d_fd.getHandle()), |
d45189b7 | 101 | BPF_MOV64_REG(BPF_REG_2,BPF_REG_10), |
abbc7287 | 102 | BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256), |
d45189b7 | 103 | BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem), |
abbc7287 RG |
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), | |
d45189b7 | 108 | BPF_ALU64_IMM(BPF_AND,BPF_REG_6,65535), |
abbc7287 RG |
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(), | |
d45189b7 | 115 | BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,52), |
abbc7287 RG |
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), | |
d45189b7 RG |
122 | BPF_MOV64_REG(BPF_REG_1,BPF_REG_0), |
123 | BPF_ALU64_IMM(BPF_ADD,BPF_REG_1,32), | |
abbc7287 | 124 | BPF_MOV64_IMM(BPF_REG_3,26), |
d45189b7 RG |
125 | BPF_JMP_REG(BPF_JGT,BPF_REG_3,BPF_REG_2,1), |
126 | BPF_MOV64_REG(BPF_REG_1,BPF_REG_0), | |
abbc7287 RG |
127 | BPF_ALU64_IMM(BPF_ADD,BPF_REG_8,-1), |
128 | BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,60), | |
d45189b7 RG |
129 | BPF_ALU64_IMM(BPF_AND,BPF_REG_1,255), |
130 | BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_1,56), | |
ad6bca0e | 131 | BPF_LD_MAP_FD(BPF_REG_2,maps->d_filters.d_fd.getHandle()), |
d45189b7 RG |
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), | |
abbc7287 RG |
135 | BPF_MOV64_IMM(BPF_REG_7,2147483647), |
136 | BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,-25), |