mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 04:42:12 +00:00
bpf: Document BPF_PROG_ATTACH syscall command
Document the prog attach command in more detail, based on git commits: * commitf432455148
("bpf: add BPF_PROG_ATTACH and BPF_PROG_DETACH commands") * commit4f738adba3
("bpf: create tcp_bpf_ulp allowing BPF to monitor socket TX/RX data") * commitf4364dcfc8
("media: rc: introduce BPF_PROG_LIRC_MODE2") * commitd58e468b11
("flow_dissector: implements flow dissector BPF hook") Signed-off-by: Joe Stringer <joe@cilium.io> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Reviewed-by: Quentin Monnet <quentin@isovalent.com> Acked-by: Toke Høiland-Jørgensen <toke@redhat.com> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/bpf/20210302171947.2268128-6-joe@cilium.io
This commit is contained in:
parent
8aacb3c8d1
commit
32e76b187a
@ -253,6 +253,43 @@ union bpf_iter_link_info {
|
||||
* Attach an eBPF program to a *target_fd* at the specified
|
||||
* *attach_type* hook.
|
||||
*
|
||||
* The *attach_type* specifies the eBPF attachment point to
|
||||
* attach the program to, and must be one of *bpf_attach_type*
|
||||
* (see below).
|
||||
*
|
||||
* The *attach_bpf_fd* must be a valid file descriptor for a
|
||||
* loaded eBPF program of a cgroup, flow dissector, LIRC, sockmap
|
||||
* or sock_ops type corresponding to the specified *attach_type*.
|
||||
*
|
||||
* The *target_fd* must be a valid file descriptor for a kernel
|
||||
* object which depends on the attach type of *attach_bpf_fd*:
|
||||
*
|
||||
* **BPF_PROG_TYPE_CGROUP_DEVICE**,
|
||||
* **BPF_PROG_TYPE_CGROUP_SKB**,
|
||||
* **BPF_PROG_TYPE_CGROUP_SOCK**,
|
||||
* **BPF_PROG_TYPE_CGROUP_SOCK_ADDR**,
|
||||
* **BPF_PROG_TYPE_CGROUP_SOCKOPT**,
|
||||
* **BPF_PROG_TYPE_CGROUP_SYSCTL**,
|
||||
* **BPF_PROG_TYPE_SOCK_OPS**
|
||||
*
|
||||
* Control Group v2 hierarchy with the eBPF controller
|
||||
* enabled. Requires the kernel to be compiled with
|
||||
* **CONFIG_CGROUP_BPF**.
|
||||
*
|
||||
* **BPF_PROG_TYPE_FLOW_DISSECTOR**
|
||||
*
|
||||
* Network namespace (eg /proc/self/ns/net).
|
||||
*
|
||||
* **BPF_PROG_TYPE_LIRC_MODE2**
|
||||
*
|
||||
* LIRC device path (eg /dev/lircN). Requires the kernel
|
||||
* to be compiled with **CONFIG_BPF_LIRC_MODE2**.
|
||||
*
|
||||
* **BPF_PROG_TYPE_SK_SKB**,
|
||||
* **BPF_PROG_TYPE_SK_MSG**
|
||||
*
|
||||
* eBPF map of socket type (eg **BPF_MAP_TYPE_SOCKHASH**).
|
||||
*
|
||||
* Return
|
||||
* Returns zero on success. On error, -1 is returned and *errno*
|
||||
* is set appropriately.
|
||||
|
Loading…
Reference in New Issue
Block a user