|
@@ -291,6 +291,18 @@ int bpf_prog_detach(int target_fd, enum bpf_attach_type type)
|
|
return sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr));
|
|
return sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+int bpf_prog_detach2(int prog_fd, int target_fd, enum bpf_attach_type type)
|
|
|
|
+{
|
|
|
|
+ union bpf_attr attr;
|
|
|
|
+
|
|
|
|
+ bzero(&attr, sizeof(attr));
|
|
|
|
+ attr.target_fd = target_fd;
|
|
|
|
+ attr.attach_bpf_fd = prog_fd;
|
|
|
|
+ attr.attach_type = type;
|
|
|
|
+
|
|
|
|
+ return sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr));
|
|
|
|
+}
|
|
|
|
+
|
|
int bpf_prog_test_run(int prog_fd, int repeat, void *data, __u32 size,
|
|
int bpf_prog_test_run(int prog_fd, int repeat, void *data, __u32 size,
|
|
void *data_out, __u32 *size_out, __u32 *retval,
|
|
void *data_out, __u32 *size_out, __u32 *retval,
|
|
__u32 *duration)
|
|
__u32 *duration)
|