/tools/testing/selftests/bpf/progs/ |
D | test_sk_lookup.c | 76 int lookup_pass(struct bpf_sk_lookup *ctx) in lookup_pass() argument 82 int lookup_drop(struct bpf_sk_lookup *ctx) in lookup_drop() argument 88 int reuseport_pass(struct sk_reuseport_md *ctx) in reuseport_pass() argument 94 int reuseport_drop(struct sk_reuseport_md *ctx) in reuseport_drop() argument 101 int redir_port(struct bpf_sk_lookup *ctx) in redir_port() argument 106 if (ctx->local_port != DST_PORT) in redir_port() 113 err = bpf_sk_assign(ctx, sk, 0); in redir_port() 120 int redir_ip4(struct bpf_sk_lookup *ctx) in redir_ip4() argument 125 if (ctx->family != AF_INET) in redir_ip4() 127 if (ctx->local_port != DST_PORT) in redir_ip4() [all …]
|
D | sockopt_sk.c | 30 int _getsockopt(struct bpf_sockopt *ctx) in _getsockopt() argument 32 __u8 *optval_end = ctx->optval_end; in _getsockopt() 33 __u8 *optval = ctx->optval; in _getsockopt() 38 sk = ctx->sk; in _getsockopt() 47 if (bpf_get_netns_cookie(ctx) == 0) in _getsockopt() 50 if (ctx->level == SOL_IP && ctx->optname == IP_TOS) { in _getsockopt() 55 ctx->optlen = 0; /* bypass optval>PAGE_SIZE */ in _getsockopt() 59 if (ctx->level == SOL_SOCKET && ctx->optname == SO_SNDBUF) { in _getsockopt() 67 if (ctx->level == SOL_TCP && ctx->optname == TCP_CONGESTION) { in _getsockopt() 75 if (ctx->level == SOL_TCP && ctx->optname == TCP_ZEROCOPY_RECEIVE) { in _getsockopt() [all …]
|
D | bind4_prog.c | 26 static __inline int bind_to_device(struct bpf_sock_addr *ctx) in bind_to_device() argument 34 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 37 if (bpf_getsockopt(ctx, SOL_SOCKET, SO_BINDTOIFINDEX, in bind_to_device() 40 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 43 if (bpf_getsockopt(ctx, SOL_SOCKET, SO_BINDTOIFINDEX, in bind_to_device() 47 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 50 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTOIFINDEX, in bind_to_device() 53 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 60 static __inline int bind_reuseport(struct bpf_sock_addr *ctx) in bind_reuseport() argument 64 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_REUSEPORT, in bind_reuseport() [all …]
|
D | bind6_prog.c | 32 static __inline int bind_to_device(struct bpf_sock_addr *ctx) in bind_to_device() argument 40 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 43 if (bpf_getsockopt(ctx, SOL_SOCKET, SO_BINDTOIFINDEX, in bind_to_device() 46 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 49 if (bpf_getsockopt(ctx, SOL_SOCKET, SO_BINDTOIFINDEX, in bind_to_device() 53 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 56 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTOIFINDEX, in bind_to_device() 59 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_BINDTODEVICE, in bind_to_device() 66 static __inline int bind_reuseport(struct bpf_sock_addr *ctx) in bind_reuseport() argument 70 if (bpf_setsockopt(ctx, SOL_SOCKET, SO_REUSEPORT, in bind_reuseport() [all …]
|
D | connect_force_port6.c | 30 int connect6(struct bpf_sock_addr *ctx) in connect6() argument 40 if (bpf_bind(ctx, (struct sockaddr *)&sa, sizeof(sa)) != 0) in connect6() 44 if (ctx->user_port == bpf_htons(60000)) { in connect6() 45 orig = bpf_sk_storage_get(&service_mapping, ctx->sk, 0, in connect6() 50 orig->addr[0] = ctx->user_ip6[0]; in connect6() 51 orig->addr[1] = ctx->user_ip6[1]; in connect6() 52 orig->addr[2] = ctx->user_ip6[2]; in connect6() 53 orig->addr[3] = ctx->user_ip6[3]; in connect6() 54 orig->port = ctx->user_port; in connect6() 56 ctx->user_ip6[0] = 0; in connect6() [all …]
|
D | connect4_prog.c | 37 int do_bind(struct bpf_sock_addr *ctx) in do_bind() argument 45 if (bpf_bind(ctx, (struct sockaddr *)&sa, sizeof(sa)) != 0) in do_bind() 51 static __inline int verify_cc(struct bpf_sock_addr *ctx, in verify_cc() argument 57 if (bpf_getsockopt(ctx, SOL_TCP, TCP_CONGESTION, &buf, sizeof(buf))) in verify_cc() 70 static __inline int set_cc(struct bpf_sock_addr *ctx) in set_cc() argument 75 if (bpf_setsockopt(ctx, SOL_TCP, TCP_CONGESTION, &reno, sizeof(reno))) in set_cc() 77 if (verify_cc(ctx, reno)) in set_cc() 80 if (bpf_setsockopt(ctx, SOL_TCP, TCP_CONGESTION, &cubic, sizeof(cubic))) in set_cc() 82 if (verify_cc(ctx, cubic)) in set_cc() 88 static __inline int bind_to_device(struct bpf_sock_addr *ctx) in bind_to_device() argument [all …]
|
D | sockopt_multi.c | 10 int _getsockopt_child(struct bpf_sockopt *ctx) in _getsockopt_child() argument 12 __u8 *optval_end = ctx->optval_end; in _getsockopt_child() 13 __u8 *optval = ctx->optval; in _getsockopt_child() 15 if (ctx->level != SOL_IP || ctx->optname != IP_TOS) in _getsockopt_child() 24 ctx->retval = 0; /* Reset system call return value to zero */ in _getsockopt_child() 27 ctx->optlen = 1; in _getsockopt_child() 33 int _getsockopt_parent(struct bpf_sockopt *ctx) in _getsockopt_parent() argument 35 __u8 *optval_end = ctx->optval_end; in _getsockopt_parent() 36 __u8 *optval = ctx->optval; in _getsockopt_parent() 38 if (ctx->level != SOL_IP || ctx->optname != IP_TOS) in _getsockopt_parent() [all …]
|
D | test_bpf_cookie.c | 18 static void update(void *ctx, int *res) in update() argument 23 *res |= bpf_get_attach_cookie(ctx); in update() 27 int handle_kprobe(struct pt_regs *ctx) in handle_kprobe() argument 29 update(ctx, &kprobe_res); in handle_kprobe() 34 int handle_kretprobe(struct pt_regs *ctx) in handle_kretprobe() argument 36 update(ctx, &kretprobe_res); in handle_kretprobe() 41 int handle_uprobe(struct pt_regs *ctx) in handle_uprobe() argument 43 update(ctx, &uprobe_res); in handle_uprobe() 48 int handle_uretprobe(struct pt_regs *ctx) in handle_uretprobe() argument 50 update(ctx, &uretprobe_res); in handle_uretprobe() [all …]
|
D | connect_force_port4.c | 31 int connect4(struct bpf_sock_addr *ctx) in connect4() argument 41 if (bpf_bind(ctx, (struct sockaddr *)&sa, sizeof(sa)) != 0) in connect4() 45 if (ctx->user_port == bpf_htons(60000)) { in connect4() 46 orig = bpf_sk_storage_get(&service_mapping, ctx->sk, 0, in connect4() 51 orig->addr = ctx->user_ip4; in connect4() 52 orig->port = ctx->user_port; in connect4() 54 ctx->user_ip4 = bpf_htonl(0x7f000001); in connect4() 55 ctx->user_port = bpf_htons(60123); in connect4() 61 int getsockname4(struct bpf_sock_addr *ctx) in getsockname4() argument 63 if (!get_set_sk_priority(ctx)) in getsockname4() [all …]
|
D | sendmsg6_prog.c | 28 int sendmsg_v6_prog(struct bpf_sock_addr *ctx) in sendmsg_v6_prog() argument 30 if (ctx->type != SOCK_DGRAM) in sendmsg_v6_prog() 33 if (!get_set_sk_priority(ctx)) in sendmsg_v6_prog() 37 if (ctx->msg_src_ip6[3] == bpf_htonl(1) || in sendmsg_v6_prog() 38 ctx->msg_src_ip6[3] == bpf_htonl(0)) { in sendmsg_v6_prog() 39 ctx->msg_src_ip6[0] = bpf_htonl(SRC_REWRITE_IP6_0); in sendmsg_v6_prog() 40 ctx->msg_src_ip6[1] = bpf_htonl(SRC_REWRITE_IP6_1); in sendmsg_v6_prog() 41 ctx->msg_src_ip6[2] = bpf_htonl(SRC_REWRITE_IP6_2); in sendmsg_v6_prog() 42 ctx->msg_src_ip6[3] = bpf_htonl(SRC_REWRITE_IP6_3); in sendmsg_v6_prog() 49 if (ctx->user_ip6[0] == bpf_htonl(0xFACEB00C)) { in sendmsg_v6_prog() [all …]
|
D | sockopt_inherit.c | 38 static __inline struct sockopt_inherit *get_storage(struct bpf_sockopt *ctx) in get_storage() argument 40 if (ctx->optname == CUSTOM_INHERIT1) in get_storage() 41 return bpf_sk_storage_get(&cloned1_map, ctx->sk, 0, in get_storage() 43 else if (ctx->optname == CUSTOM_INHERIT2) in get_storage() 44 return bpf_sk_storage_get(&cloned2_map, ctx->sk, 0, in get_storage() 47 return bpf_sk_storage_get(&listener_only_map, ctx->sk, 0, in get_storage() 52 int _getsockopt(struct bpf_sockopt *ctx) in _getsockopt() argument 54 __u8 *optval_end = ctx->optval_end; in _getsockopt() 56 __u8 *optval = ctx->optval; in _getsockopt() 58 if (ctx->level != SOL_CUSTOM) in _getsockopt() [all …]
|
D | test_check_mtu.c | 22 int xdp_use_helper_basic(struct xdp_md *ctx) in xdp_use_helper_basic() argument 26 if (bpf_check_mtu(ctx, 0, &mtu_len, 0, 0)) in xdp_use_helper_basic() 33 int xdp_use_helper(struct xdp_md *ctx) in xdp_use_helper() argument 44 if (bpf_check_mtu(ctx, ifindex, &mtu_len, delta, 0)) { in xdp_use_helper() 59 int xdp_exceed_mtu(struct xdp_md *ctx) in xdp_exceed_mtu() argument 61 void *data_end = (void *)(long)ctx->data_end; in xdp_exceed_mtu() 62 void *data = (void *)(long)ctx->data; in xdp_exceed_mtu() 73 err = bpf_check_mtu(ctx, ifindex, &mtu_len, delta, 0); in xdp_exceed_mtu() 85 int xdp_minus_delta(struct xdp_md *ctx) in xdp_minus_delta() argument 88 void *data_end = (void *)(long)ctx->data_end; in xdp_minus_delta() [all …]
|
D | sendmsg4_prog.c | 24 int sendmsg_v4_prog(struct bpf_sock_addr *ctx) in sendmsg_v4_prog() argument 28 if (ctx->type != SOCK_DGRAM) in sendmsg_v4_prog() 31 if (!get_set_sk_priority(ctx)) in sendmsg_v4_prog() 35 if (ctx->msg_src_ip4 == bpf_htonl(SRC1_IP4) || in sendmsg_v4_prog() 36 ctx->msg_src_ip4 == bpf_htonl(SRC2_IP4)) { in sendmsg_v4_prog() 37 ctx->msg_src_ip4 = bpf_htonl(SRC_REWRITE_IP4); in sendmsg_v4_prog() 44 if ((ctx->user_ip4 >> 24) == (bpf_htonl(DST_IP4) >> 24) && in sendmsg_v4_prog() 45 ctx->user_port == bpf_htons(DST_PORT)) { in sendmsg_v4_prog() 46 ctx->user_ip4 = bpf_htonl(DST_REWRITE_IP4); in sendmsg_v4_prog() 47 ctx->user_port = bpf_htons(DST_REWRITE_PORT4); in sendmsg_v4_prog()
|
D | recvmsg6_prog.c | 20 int recvmsg6_prog(struct bpf_sock_addr *ctx) in recvmsg6_prog() argument 26 sk = ctx->sk; in recvmsg6_prog() 33 if (ctx->type != SOCK_STREAM && ctx->type != SOCK_DGRAM) in recvmsg6_prog() 36 if (!get_set_sk_priority(ctx)) in recvmsg6_prog() 39 ctx->user_ip6[0] = bpf_htonl(SERV6_IP_0); in recvmsg6_prog() 40 ctx->user_ip6[1] = bpf_htonl(SERV6_IP_1); in recvmsg6_prog() 41 ctx->user_ip6[2] = bpf_htonl(SERV6_IP_2); in recvmsg6_prog() 42 ctx->user_ip6[3] = bpf_htonl(SERV6_IP_3); in recvmsg6_prog() 43 ctx->user_port = bpf_htons(SERV6_PORT); in recvmsg6_prog()
|
D | bind_perm.c | 10 static __always_inline int bind_prog(struct bpf_sock_addr *ctx, int family) in bind_prog() argument 14 sk = ctx->sk; in bind_prog() 21 if (ctx->type != SOCK_STREAM) in bind_prog() 27 if (ctx->user_port == bpf_htons(111)) in bind_prog() 34 int bind_v4_prog(struct bpf_sock_addr *ctx) in bind_v4_prog() argument 36 return bind_prog(ctx, AF_INET); in bind_v4_prog() 40 int bind_v6_prog(struct bpf_sock_addr *ctx) in bind_v6_prog() argument 42 return bind_prog(ctx, AF_INET6); in bind_v6_prog()
|
D | socket_cookie_prog.c | 33 int set_cookie(struct bpf_sock_addr *ctx) in set_cookie() argument 37 if (ctx->family != AF_INET6 || ctx->user_family != AF_INET6) in set_cookie() 40 p = bpf_sk_storage_get(&socket_cookies, ctx->sk, 0, in set_cookie() 46 p->cookie_key = bpf_get_socket_cookie(ctx); in set_cookie() 52 int update_cookie_sockops(struct bpf_sock_ops *ctx) in update_cookie_sockops() argument 54 struct bpf_sock *sk = ctx->sk; in update_cookie_sockops() 57 if (ctx->family != AF_INET6) in update_cookie_sockops() 60 if (ctx->op != BPF_SOCK_OPS_TCP_CONNECT_CB) in update_cookie_sockops() 70 if (p->cookie_key != bpf_get_socket_cookie(ctx)) in update_cookie_sockops() 73 p->cookie_value |= (ctx->local_port << 8); in update_cookie_sockops()
|
D | test_xdp_meta.c | 9 #define ctx_ptr(ctx, mem) (void *)(unsigned long)ctx->mem argument 12 int ing_cls(struct __sk_buff *ctx) in ing_cls() argument 17 data_meta = ctx_ptr(ctx, data_meta); in ing_cls() 18 data_end = ctx_ptr(ctx, data_end); in ing_cls() 19 data = ctx_ptr(ctx, data); in ing_cls() 32 int ing_xdp(struct xdp_md *ctx) in ing_xdp() argument 37 ret = bpf_xdp_adjust_meta(ctx, -round_up(ETH_ALEN, 4)); in ing_xdp() 41 data_meta = ctx_ptr(ctx, data_meta); in ing_xdp() 42 data_end = ctx_ptr(ctx, data_end); in ing_xdp() 43 data = ctx_ptr(ctx, data); in ing_xdp()
|
/tools/testing/selftests/filesystems/epoll/ |
D | epoll_wakeup_test.c | 43 static void kill_timeout(struct epoll_mtcontext *ctx) in kill_timeout() argument 46 pthread_kill(ctx->main, SIGUSR1); in kill_timeout() 47 pthread_kill(ctx->waiter, SIGUSR1); in kill_timeout() 53 struct epoll_mtcontext *ctx = data; in waiter_entry1a() local 55 if (epoll_wait(ctx->efd[0], &e, 1, -1) > 0) in waiter_entry1a() 56 __sync_fetch_and_add(&ctx->count, 1); in waiter_entry1a() 65 struct epoll_mtcontext *ctx = data; in waiter_entry1ap() local 67 pfd.fd = ctx->efd[0]; in waiter_entry1ap() 70 if (epoll_wait(ctx->efd[0], &e, 1, 0) > 0) in waiter_entry1ap() 71 __sync_fetch_and_add(&ctx->count, 1); in waiter_entry1ap() [all …]
|
/tools/perf/tests/ |
D | expr.c | 9 static int test(struct expr_parse_ctx *ctx, const char *e, double val2) in test() argument 13 if (expr__parse(&val, ctx, e, 1)) in test() 25 struct expr_parse_ctx ctx; in test__expr() local 27 expr__ctx_init(&ctx); in test__expr() 28 expr__add_id_val(&ctx, strdup("FOO"), 1); in test__expr() 29 expr__add_id_val(&ctx, strdup("BAR"), 2); in test__expr() 31 ret = test(&ctx, "1+1", 2); in test__expr() 32 ret |= test(&ctx, "FOO+BAR", 3); in test__expr() 33 ret |= test(&ctx, "(BAR/2)%2", 1); in test__expr() 34 ret |= test(&ctx, "1 - -4", 5); in test__expr() [all …]
|
/tools/testing/selftests/sgx/ |
D | sigstruct.c | 29 static void free_q1q2_ctx(struct q1q2_ctx *ctx) in free_q1q2_ctx() argument 31 BN_CTX_free(ctx->bn_ctx); in free_q1q2_ctx() 32 BN_free(ctx->m); in free_q1q2_ctx() 33 BN_free(ctx->s); in free_q1q2_ctx() 34 BN_free(ctx->q1); in free_q1q2_ctx() 35 BN_free(ctx->qr); in free_q1q2_ctx() 36 BN_free(ctx->q2); in free_q1q2_ctx() 40 struct q1q2_ctx *ctx) in alloc_q1q2_ctx() argument 42 ctx->bn_ctx = BN_CTX_new(); in alloc_q1q2_ctx() 43 ctx->s = BN_bin2bn(s, SGX_MODULUS_SIZE, NULL); in alloc_q1q2_ctx() [all …]
|
/tools/testing/selftests/perf_events/ |
D | sigtrap_threads.c | 44 } ctx; variable 79 if (!__atomic_fetch_add(&ctx.signal_count, 1, __ATOMIC_RELAXED)) in sigtrap_handler() 80 ctx.first_siginfo = *info; in sigtrap_handler() 81 __atomic_fetch_sub(&ctx.tids_want_signal, syscall(__NR_gettid), __ATOMIC_RELAXED); in sigtrap_handler() 93 __atomic_fetch_add(&ctx.tids_want_signal, tid, __ATOMIC_RELAXED); in test_thread() 94 iter = ctx.iterate_on; /* read */ in test_thread() 96 __atomic_fetch_add(&ctx.tids_want_signal, tid, __ATOMIC_RELAXED); in test_thread() 97 ctx.iterate_on = iter; /* idempotent write */ in test_thread() 113 struct perf_event_attr attr = make_event_attr(false, &ctx.iterate_on); in FIXTURE_SETUP() 117 memset(&ctx, 0, sizeof(ctx)); in FIXTURE_SETUP() [all …]
|
/tools/testing/selftests/bpf/prog_tests/ |
D | syscall.c | 18 struct args ctx = { in test_syscall() local 24 .ctx_in = &ctx, in test_syscall() 25 .ctx_size_in = sizeof(ctx), in test_syscall() 39 ASSERT_GT(ctx.map_fd, 0, "ctx.map_fd"); in test_syscall() 40 ASSERT_GT(ctx.prog_fd, 0, "ctx.prog_fd"); in test_syscall() 44 err = bpf_map_lookup_elem(ctx.map_fd, &key, &value); in test_syscall() 49 if (ctx.prog_fd > 0) in test_syscall() 50 close(ctx.prog_fd); in test_syscall() 51 if (ctx.map_fd > 0) in test_syscall() 52 close(ctx.map_fd); in test_syscall() [all …]
|
/tools/testing/selftests/bpf/benchs/ |
D | bench_count.c | 13 struct count_global_ctx *ctx = &count_global_ctx; in count_global_producer() local 16 atomic_inc(&ctx->hits.value); in count_global_producer() 28 struct count_global_ctx *ctx = &count_global_ctx; in count_global_measure() local 30 res->hits = atomic_swap(&ctx->hits.value, 0); in count_global_measure() 41 struct count_local_ctx *ctx = &count_local_ctx; in count_local_setup() local 43 ctx->hits = calloc(env.consumer_cnt, sizeof(*ctx->hits)); in count_local_setup() 44 if (!ctx->hits) in count_local_setup() 50 struct count_local_ctx *ctx = &count_local_ctx; in count_local_producer() local 54 atomic_inc(&ctx->hits[idx].value); in count_local_producer() 66 struct count_local_ctx *ctx = &count_local_ctx; in count_local_measure() local [all …]
|
/tools/lib/bpf/ |
D | xsk.c | 86 struct xsk_ctx *ctx; member 415 struct xsk_ctx *ctx = xsk->ctx; in xsk_load_xdp_prog() local 443 BPF_LD_MAP_FD(BPF_REG_1, ctx->xsks_map_fd), in xsk_load_xdp_prog() 455 BPF_LD_MAP_FD(BPF_REG_1, ctx->xsks_map_fd), in xsk_load_xdp_prog() 467 BPF_LD_MAP_FD(BPF_REG_1, ctx->xsks_map_fd), in xsk_load_xdp_prog() 486 BPF_LD_MAP_FD(BPF_REG_1, ctx->xsks_map_fd), in xsk_load_xdp_prog() 507 ctx->prog_fd = prog_fd; in xsk_load_xdp_prog() 514 struct xsk_ctx *ctx = xsk->ctx; in xsk_create_bpf_link() local 519 err = bpf_get_link_xdp_id(ctx->ifindex, &prog_id, xsk->config.xdp_flags); in xsk_create_bpf_link() 535 link_fd = bpf_link_create(ctx->prog_fd, ctx->ifindex, BPF_XDP, &opts); in xsk_create_bpf_link() [all …]
|
/tools/perf/util/ |
D | expr.c | 43 static size_t key_hash(const void *key, void *ctx __maybe_unused) in key_hash() 57 void *ctx __maybe_unused) in key_equal() 63 int expr__add_id(struct expr_parse_ctx *ctx, const char *id) in expr__add_id() argument 73 data_ptr->parent = ctx->parent; in expr__add_id() 76 ret = hashmap__set(&ctx->ids, id, data_ptr, in expr__add_id() 86 int expr__add_id_val(struct expr_parse_ctx *ctx, const char *id, double val) in expr__add_id_val() argument 98 ret = hashmap__set(&ctx->ids, id, data_ptr, in expr__add_id_val() 107 int expr__add_ref(struct expr_parse_ctx *ctx, struct metric_ref *ref) in expr__add_ref() argument 143 ret = hashmap__set(&ctx->ids, name, data_ptr, in expr__add_ref() 156 int expr__get_id(struct expr_parse_ctx *ctx, const char *id, in expr__get_id() argument [all …]
|