bpf_link_create
LIBBPF_API int bpf_link_create(int prog_fd, int target_fd,
link_fd = bpf_link_create(prog_fd, -1, BPF_PERF_EVENT, NULL);
link_fd = bpf_link_create(prog_fd, -1, BPF_TRACE_UPROBE_MULTI, &link_opts);
link_fd = bpf_link_create(prog_fd, -1, BPF_TRACE_UPROBE_MULTI, &link_opts);
link_fd = bpf_link_create(prog_fd, pfd, BPF_PERF_EVENT, &link_opts);
link_fd = bpf_link_create(prog_fd, 0, attach_type, &lopts);
link_fd = bpf_link_create(prog_fd, 0, attach_type, &lopts);
pfd = bpf_link_create(prog_fd, 0, bpf_program__expected_attach_type(prog), &link_opts);
link_fd = bpf_link_create(prog_fd, target_fd, attach_type, opts);
link_fd = bpf_link_create(prog_fd, target_fd, BPF_TRACE_ITER,
link_fd = bpf_link_create(prog_fd, 0, BPF_NETFILTER, &lopts);
fd = bpf_link_create(map->fd, 0, BPF_STRUCT_OPS, NULL);
link1_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_KPROBE_MULTI, &opts);
link2_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_KPROBE_MULTI, &opts);
fentry_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_FENTRY, &link_opts);
fexit_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_FEXIT, &link_opts);
fmod_ret_fd = bpf_link_create(prog_fd, 0, BPF_MODIFY_RETURN, &link_opts);
lsm_fd = bpf_link_create(prog_fd, 0, BPF_LSM_MAC, &link_opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_RAW_TP, &link_opts);
link_fd[i] = bpf_link_create(fexit_fd[i], 0, BPF_TRACE_FEXIT, NULL);
link1 = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &opts);
link2 = bpf_link_create(prog2, netns, BPF_FLOW_DISSECTOR, &opts);
link = bpf_link_create(prog2, netns, BPF_FLOW_DISSECTOR, &opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link = bpf_link_create(prog1, netns, BPF_FLOW_DISSECTOR, &create_opts);
link1_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_KPROBE_MULTI, opts);
link2_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_KPROBE_MULTI, opts);
bind_link_fd = bpf_link_create(bind_prog_fd, cgroup_fd,
bind_link_fd2 = bpf_link_create(bind_prog_fd2, cgroup_fd2,
link_fd[i] = bpf_link_create(prog_fd[i], 0, BPF_TRACE_FENTRY, NULL);
link_fd = bpf_link_create(bpf_program__fd(skel->progs.handler), pfd,
link_fd = bpf_link_create(tgt_prog_fd, 0, BPF_TRACE_FENTRY, NULL);
link_fd = bpf_link_create(prog_msg_verdict, sock_map, BPF_SK_MSG_VERDICT, NULL);
err = bpf_link_create(prog_fd, cgroup_fd, test->attach_type, NULL);
link_fd = bpf_link_create(bpf_program__fd(skel->progs.handle_perf_event), perf_fd,
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link1_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link2_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link3_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link4_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
link_extra_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts);
err = bpf_link_create(fd_xdp, IFINDEX_LO, BPF_XDP, &opts);