/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | test_sockmap_listen.c | 59 int verdict; in prog_stream_verdict() local 62 verdict = bpf_sk_redirect_map(skb, &sock_map, zero, 0); in prog_stream_verdict() 64 verdict = bpf_sk_redirect_hash(skb, &sock_hash, &zero, 0); in prog_stream_verdict() 66 count = bpf_map_lookup_elem(&verdict_map, &verdict); in prog_stream_verdict() 70 return verdict; in prog_stream_verdict() 78 int verdict; in prog_skb_verdict() local 81 verdict = bpf_sk_redirect_map(skb, &sock_map, zero, in prog_skb_verdict() 84 verdict = bpf_sk_redirect_hash(skb, &sock_hash, &zero, in prog_skb_verdict() 87 count = bpf_map_lookup_elem(&verdict_map, &verdict); in prog_skb_verdict() 91 return verdict; in prog_skb_verdict() 99 int verdict; prog_msg_verdict() local 117 int err, verdict; prog_reuseport() local [all...] |
H A D | test_skmsg_load_helpers.c | 31 int verdict = SK_PASS; in prog_msg_verdict() local 42 verdict = SK_DROP; in prog_msg_verdict() 44 return verdict; in prog_msg_verdict()
|
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | test_sockmap_listen.c | 44 int verdict; in prog_skb_verdict() local 47 verdict = bpf_sk_redirect_map(skb, &sock_map, zero, 0); in prog_skb_verdict() 49 verdict = bpf_sk_redirect_hash(skb, &sock_hash, &zero, 0); in prog_skb_verdict() 51 count = bpf_map_lookup_elem(&verdict_map, &verdict); in prog_skb_verdict() 55 return verdict; in prog_skb_verdict() 63 int verdict; in prog_msg_verdict() local 66 verdict = bpf_msg_redirect_map(msg, &sock_map, zero, 0); in prog_msg_verdict() 68 verdict = bpf_msg_redirect_hash(msg, &sock_hash, &zero, 0); in prog_msg_verdict() 70 count = bpf_map_lookup_elem(&verdict_map, &verdict); in prog_msg_verdict() 74 return verdict; in prog_msg_verdict() 81 int err, verdict; prog_reuseport() local [all...] |
H A D | test_skmsg_load_helpers.c | 31 int verdict = SK_PASS; in prog_msg_verdict() local 42 verdict = SK_DROP; in prog_msg_verdict() 44 return verdict; in prog_msg_verdict()
|
/kernel/linux/linux-5.10/net/netfilter/ |
H A D | nf_queue.c | 247 unsigned int index, unsigned int verdict) in nf_queue() 251 ret = __nf_queue(skb, state, index, verdict >> NF_VERDICT_QBITS); in nf_queue() 254 (verdict & NF_VERDICT_FLAG_QUEUE_BYPASS)) in nf_queue() 269 unsigned int verdict, i = *index; in nf_iterate() local 274 verdict = nf_hook_entry_hookfn(hook, skb, state); in nf_iterate() 275 if (verdict != NF_ACCEPT) { in nf_iterate() 277 if (verdict != NF_REPEAT) in nf_iterate() 278 return verdict; in nf_iterate() 308 void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict) in nf_reinject() argument 333 if (verdict in nf_reinject() 246 nf_queue(struct sk_buff *skb, struct nf_hook_state *state, unsigned int index, unsigned int verdict) nf_queue() argument [all...] |
H A D | nf_tables_core.c | 67 regs->verdict.code = NFT_BREAK; in nft_cmp_fast_eval() 81 regs->verdict.code = NFT_BREAK; in nft_cmp16_fast_eval() 90 switch (regs->verdict.code) { in __nft_trace_verdict() 217 nft_trace_init(&info, pkt, ®s.verdict, basechain); in nft_do_chain() 226 regs.verdict.code = NFT_CONTINUE; in nft_do_chain() 240 if (regs.verdict.code != NFT_CONTINUE) in nft_do_chain() 244 switch (regs.verdict.code) { in nft_do_chain() 246 regs.verdict.code = NFT_CONTINUE; in nft_do_chain() 258 switch (regs.verdict.code & NF_VERDICT_MASK) { in nft_do_chain() 263 return regs.verdict in nft_do_chain() [all...] |
H A D | nft_fwd_netdev.c | 35 regs->verdict.code = NF_STOLEN; in nft_fwd_netdev_eval() 98 unsigned int verdict = NF_STOLEN; in nft_fwd_neigh_eval() local 108 verdict = NFT_BREAK; in nft_fwd_neigh_eval() 112 verdict = NF_DROP; in nft_fwd_neigh_eval() 124 verdict = NFT_BREAK; in nft_fwd_neigh_eval() 128 verdict = NF_DROP; in nft_fwd_neigh_eval() 137 verdict = NFT_BREAK; in nft_fwd_neigh_eval() 149 regs->verdict.code = verdict; in nft_fwd_neigh_eval()
|
H A D | nft_immediate.c | 74 struct nft_chain *chain = priv->data.verdict.chain; in nft_immediate_init() 76 switch (priv->data.verdict.code) { in nft_immediate_init() 105 switch (data->verdict.code) { in nft_immediate_activate() 108 chain = data->verdict.chain; in nft_immediate_activate() 151 switch (data->verdict.code) { in nft_immediate_deactivate() 154 chain = data->verdict.chain; in nft_immediate_deactivate() 198 switch (data->verdict.code) { in nft_immediate_destroy() 201 chain = data->verdict.chain; in nft_immediate_destroy() 259 switch (data->verdict.code) { in nft_immediate_validate() 263 err = nft_chain_validate(ctx, data->verdict in nft_immediate_validate() [all...] |
H A D | nft_synproxy.c | 61 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v4() 67 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v4() 69 regs->verdict.code = NF_DROP; in nft_synproxy_eval_v4() 92 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v6() 98 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v6() 100 regs->verdict.code = NF_DROP; in nft_synproxy_eval_v6() 117 regs->verdict.code = NFT_BREAK; in nft_synproxy_do_eval() 122 regs->verdict.code = NF_DROP; in nft_synproxy_do_eval() 130 regs->verdict.code = NF_DROP; in nft_synproxy_do_eval() 135 regs->verdict in nft_synproxy_do_eval() [all...] |
H A D | nft_socket.c | 31 regs->verdict.code = NFT_BREAK; in nft_socket_wildcard() 78 regs->verdict.code = NFT_BREAK; in nft_socket_eval() 90 regs->verdict.code = NFT_BREAK; in nft_socket_eval() 96 regs->verdict.code = NFT_BREAK; in nft_socket_eval() 103 regs->verdict.code = NFT_BREAK; in nft_socket_eval()
|
H A D | nft_tproxy.c | 35 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 41 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 80 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 102 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 109 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 153 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 182 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval()
|
H A D | nf_tables_trace.c | 148 /* a continue verdict with ->type == RETURN means that this is in nf_trace_fill_rule_info() 154 info->verdict->code == NFT_CONTINUE) in nf_trace_fill_rule_info() 172 switch (info->verdict->code) { in nft_trace_have_verdict_chain() 200 nla_total_size(sizeof(u32)) + /* verdict code */ in nft_trace_notify() 214 size += nla_total_size(strlen(info->verdict->chain->name)); /* jump target */ in nft_trace_notify() 250 if (nft_verdict_dump(skb, NFTA_TRACE_VERDICT, info->verdict)) in nft_trace_notify() 283 const struct nft_verdict *verdict, in nft_trace_init() 290 info->verdict = verdict; in nft_trace_init() 282 nft_trace_init(struct nft_traceinfo *info, const struct nft_pktinfo *pkt, const struct nft_verdict *verdict, const struct nft_chain *chain) nft_trace_init() argument
|
/kernel/linux/linux-6.6/net/netfilter/ |
H A D | nf_queue.c | 236 unsigned int index, unsigned int verdict) in nf_queue() 240 ret = __nf_queue(skb, state, index, verdict >> NF_VERDICT_QBITS); in nf_queue() 243 (verdict & NF_VERDICT_FLAG_QUEUE_BYPASS)) in nf_queue() 258 unsigned int verdict, i = *index; in nf_iterate() local 263 verdict = nf_hook_entry_hookfn(hook, skb, state); in nf_iterate() 264 if (verdict != NF_ACCEPT) { in nf_iterate() 266 if (verdict != NF_REPEAT) in nf_iterate() 267 return verdict; in nf_iterate() 297 void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict) in nf_reinject() argument 322 if (verdict in nf_reinject() 235 nf_queue(struct sk_buff *skb, struct nf_hook_state *state, unsigned int index, unsigned int verdict) nf_queue() argument [all...] |
H A D | nf_tables_core.c | 45 const struct nft_verdict *verdict, in __nft_trace_packet() 55 nft_trace_notify(pkt, verdict, rule, info); in __nft_trace_packet() 59 struct nft_verdict *verdict, in nft_trace_packet() 66 __nft_trace_packet(pkt, verdict, rule, info, type); in nft_trace_packet() 94 regs->verdict.code = NFT_BREAK; in nft_cmp_fast_eval() 108 regs->verdict.code = NFT_BREAK; in nft_cmp16_fast_eval() 118 switch (regs->verdict.code) { in __nft_trace_verdict() 135 __nft_trace_packet(pkt, ®s->verdict, rule, info, type); in __nft_trace_verdict() 277 regs.verdict.code = NFT_CONTINUE; in nft_do_chain() 290 if (regs.verdict in nft_do_chain() 44 __nft_trace_packet(const struct nft_pktinfo *pkt, const struct nft_verdict *verdict, const struct nft_rule_dp *rule, struct nft_traceinfo *info, enum nft_trace_types type) __nft_trace_packet() argument 58 nft_trace_packet(const struct nft_pktinfo *pkt, struct nft_verdict *verdict, struct nft_traceinfo *info, const struct nft_rule_dp *rule, enum nft_trace_types type) nft_trace_packet() argument [all...] |
H A D | nft_fwd_netdev.c | 37 regs->verdict.code = NF_STOLEN; in nft_fwd_netdev_eval() 101 unsigned int verdict = NF_STOLEN; in nft_fwd_neigh_eval() local 111 verdict = NFT_BREAK; in nft_fwd_neigh_eval() 115 verdict = NF_DROP; in nft_fwd_neigh_eval() 127 verdict = NFT_BREAK; in nft_fwd_neigh_eval() 131 verdict = NF_DROP; in nft_fwd_neigh_eval() 140 verdict = NFT_BREAK; in nft_fwd_neigh_eval() 152 regs->verdict.code = verdict; in nft_fwd_neigh_eval()
|
H A D | nft_immediate.c | 74 struct nft_chain *chain = priv->data.verdict.chain; in nft_immediate_init() 76 switch (priv->data.verdict.code) { in nft_immediate_init() 105 switch (data->verdict.code) { in nft_immediate_activate() 108 chain = data->verdict.chain; in nft_immediate_activate() 151 switch (data->verdict.code) { in nft_immediate_deactivate() 154 chain = data->verdict.chain; in nft_immediate_deactivate() 198 switch (data->verdict.code) { in nft_immediate_destroy() 201 chain = data->verdict.chain; in nft_immediate_destroy() 260 switch (data->verdict.code) { in nft_immediate_validate() 264 err = nft_chain_validate(ctx, data->verdict in nft_immediate_validate() [all...] |
H A D | nf_tables_trace.c | 127 const struct nft_verdict *verdict, in nf_trace_fill_rule_info() 134 /* a continue verdict with ->type == RETURN means that this is in nf_trace_fill_rule_info() 140 verdict->code == NFT_CONTINUE) in nf_trace_fill_rule_info() 148 static bool nft_trace_have_verdict_chain(const struct nft_verdict *verdict, in nft_trace_have_verdict_chain() argument 159 switch (verdict->code) { in nft_trace_have_verdict_chain() 190 const struct nft_verdict *verdict, in nft_trace_notify() 212 nla_total_size(sizeof(u32)) + /* verdict code */ in nft_trace_notify() 225 if (nft_trace_have_verdict_chain(verdict, info)) in nft_trace_notify() 226 size += nla_total_size(strlen(verdict->chain->name)); /* jump target */ in nft_trace_notify() 253 if (nf_trace_fill_rule_info(skb, verdict, rul in nft_trace_notify() 126 nf_trace_fill_rule_info(struct sk_buff *nlskb, const struct nft_verdict *verdict, const struct nft_rule_dp *rule, const struct nft_traceinfo *info) nf_trace_fill_rule_info() argument 189 nft_trace_notify(const struct nft_pktinfo *pkt, const struct nft_verdict *verdict, const struct nft_rule_dp *rule, struct nft_traceinfo *info) nft_trace_notify() argument [all...] |
H A D | nft_synproxy.c | 61 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v4() 67 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v4() 69 regs->verdict.code = NF_DROP; in nft_synproxy_eval_v4() 92 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v6() 98 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v6() 100 regs->verdict.code = NF_DROP; in nft_synproxy_eval_v6() 117 regs->verdict.code = NFT_BREAK; in nft_synproxy_do_eval() 122 regs->verdict.code = NF_DROP; in nft_synproxy_do_eval() 130 regs->verdict.code = NF_DROP; in nft_synproxy_do_eval() 135 regs->verdict in nft_synproxy_do_eval() [all...] |
H A D | nft_tproxy.c | 35 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 41 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 80 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 102 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 109 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 153 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 182 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | sockmap_basic.c | 114 int err, map, verdict; in test_skmsg_helpers() local 120 verdict = bpf_program__fd(skel->progs.prog_msg_verdict); in test_skmsg_helpers() 123 err = bpf_prog_attach(verdict, map, BPF_SK_MSG_VERDICT, 0); in test_skmsg_helpers() 127 err = bpf_prog_detach2(verdict, map, BPF_SK_MSG_VERDICT); in test_skmsg_helpers() 278 int err, map, verdict; in test_sockmap_skb_verdict_attach() local 284 verdict = bpf_program__fd(skel->progs.prog_skb_verdict); in test_sockmap_skb_verdict_attach() 287 err = bpf_prog_attach(verdict, map, first, 0); in test_sockmap_skb_verdict_attach() 291 err = bpf_prog_attach(verdict, map, second, 0); in test_sockmap_skb_verdict_attach() 294 err = bpf_prog_detach2(verdict, map, first); in test_sockmap_skb_verdict_attach() 362 int n, err, map, verdict, in test_sockmap_skb_verdict_shutdown() local 417 int err, map, verdict, s, c0, c1, p0, p1; test_sockmap_skb_verdict_fionread() local 480 int err, map, verdict, s, c1, p1, zero = 0, sent, recvd, avail; test_sockmap_skb_verdict_peek() local [all...] |
H A D | netns_cookie.c | 16 int err, val, ret, map, verdict; in test_netns_cookie() local 35 verdict = bpf_program__fd(skel->progs.get_netns_cookie_sk_msg); in test_netns_cookie() 37 err = bpf_prog_attach(verdict, map, BPF_SK_MSG_VERDICT, 0); in test_netns_cookie()
|
/kernel/linux/linux-5.10/samples/bpf/ |
H A D | test_cgrp2_attach.c | 42 static int prog_load(int map_fd, int verdict) in prog_load() argument 69 BPF_MOV64_IMM(BPF_REG_0, verdict), /* r0 = verdict */ in prog_load() 87 static int attach_filter(int cg_fd, int type, int verdict) in attach_filter() argument 100 prog_fd = prog_load(map_fd, verdict); in attach_filter() 131 int detach_only = 0, verdict = 1; in main() local 138 verdict = 0; in main() 169 ret = attach_filter(cg_fd, type, verdict); in main()
|
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | test_cgrp2_attach.c | 43 static int prog_load(int map_fd, int verdict) in prog_load() argument 71 BPF_MOV64_IMM(BPF_REG_0, verdict), /* r0 = verdict */ in prog_load() 92 static int attach_filter(int cg_fd, int type, int verdict) in attach_filter() argument 105 prog_fd = prog_load(map_fd, verdict); in attach_filter() 136 int detach_only = 0, verdict = 1; in main() local 143 verdict = 0; in main() 174 ret = attach_filter(cg_fd, type, verdict); in main()
|
/kernel/linux/linux-5.10/tools/testing/selftests/netfilter/ |
H A D | nf-queue.c | 24 uint32_t verdict; member 171 .verdict = htonl(verd), in nfq_build_verdict() 316 nlh = nfq_build_verdict(buf, id, opts.queue_num, opts.verdict); in mainloop() 347 opts.verdict = atoi(optarg); in parse_opts() 348 if (opts.verdict > 0xffff) { in parse_opts() 353 opts.verdict <<= 16; in parse_opts() 354 opts.verdict |= NF_QUEUE; in parse_opts() 375 if (opts.verdict != NF_ACCEPT && (opts.verdict >> 16 == opts.queue_num)) { in parse_opts() 385 opts.verdict in main() [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/netfilter/ |
H A D | nf-queue.c | 24 uint32_t verdict; member 171 .verdict = htonl(verd), in nfq_build_verdict() 316 nlh = nfq_build_verdict(buf, id, opts.queue_num, opts.verdict); in mainloop() 347 opts.verdict = atoi(optarg); in parse_opts() 348 if (opts.verdict > 0xffff) { in parse_opts() 353 opts.verdict <<= 16; in parse_opts() 354 opts.verdict |= NF_QUEUE; in parse_opts() 375 if (opts.verdict != NF_ACCEPT && (opts.verdict >> 16 == opts.queue_num)) { in parse_opts() 385 opts.verdict in main() [all...] |