tools: sync bpf.h
This adds BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE, and fixes up the error: enumeration value ‘BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE’ not handled in switch [-Werror=switch-enum] build errors it would otherwise cause in libbpf. Signed-off-by: Matt Mullins <mmullins@fb.com> Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
2abd2de712
commit
4635b0ae4d
@ -168,6 +168,7 @@ enum bpf_prog_type {
|
|||||||
BPF_PROG_TYPE_SK_REUSEPORT,
|
BPF_PROG_TYPE_SK_REUSEPORT,
|
||||||
BPF_PROG_TYPE_FLOW_DISSECTOR,
|
BPF_PROG_TYPE_FLOW_DISSECTOR,
|
||||||
BPF_PROG_TYPE_CGROUP_SYSCTL,
|
BPF_PROG_TYPE_CGROUP_SYSCTL,
|
||||||
|
BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum bpf_attach_type {
|
enum bpf_attach_type {
|
||||||
@ -1737,12 +1738,19 @@ union bpf_attr {
|
|||||||
* error if an eBPF program tries to set a callback that is not
|
* error if an eBPF program tries to set a callback that is not
|
||||||
* supported in the current kernel.
|
* supported in the current kernel.
|
||||||
*
|
*
|
||||||
* The supported callback values that *argval* can combine are:
|
* *argval* is a flag array which can combine these flags:
|
||||||
*
|
*
|
||||||
* * **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out)
|
* * **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out)
|
||||||
* * **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission)
|
* * **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission)
|
||||||
* * **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change)
|
* * **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change)
|
||||||
*
|
*
|
||||||
|
* Therefore, this function can be used to clear a callback flag by
|
||||||
|
* setting the appropriate bit to zero. e.g. to disable the RTO
|
||||||
|
* callback:
|
||||||
|
*
|
||||||
|
* **bpf_sock_ops_cb_flags_set(bpf_sock,**
|
||||||
|
* **bpf_sock->bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)**
|
||||||
|
*
|
||||||
* Here are some examples of where one could call such eBPF
|
* Here are some examples of where one could call such eBPF
|
||||||
* program:
|
* program:
|
||||||
*
|
*
|
||||||
|
@ -2136,6 +2136,7 @@ static bool bpf_prog_type__needs_kver(enum bpf_prog_type type)
|
|||||||
case BPF_PROG_TYPE_UNSPEC:
|
case BPF_PROG_TYPE_UNSPEC:
|
||||||
case BPF_PROG_TYPE_TRACEPOINT:
|
case BPF_PROG_TYPE_TRACEPOINT:
|
||||||
case BPF_PROG_TYPE_RAW_TRACEPOINT:
|
case BPF_PROG_TYPE_RAW_TRACEPOINT:
|
||||||
|
case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE:
|
||||||
case BPF_PROG_TYPE_PERF_EVENT:
|
case BPF_PROG_TYPE_PERF_EVENT:
|
||||||
case BPF_PROG_TYPE_CGROUP_SYSCTL:
|
case BPF_PROG_TYPE_CGROUP_SYSCTL:
|
||||||
return false;
|
return false;
|
||||||
|
@ -93,6 +93,7 @@ probe_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns,
|
|||||||
case BPF_PROG_TYPE_CGROUP_DEVICE:
|
case BPF_PROG_TYPE_CGROUP_DEVICE:
|
||||||
case BPF_PROG_TYPE_SK_MSG:
|
case BPF_PROG_TYPE_SK_MSG:
|
||||||
case BPF_PROG_TYPE_RAW_TRACEPOINT:
|
case BPF_PROG_TYPE_RAW_TRACEPOINT:
|
||||||
|
case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE:
|
||||||
case BPF_PROG_TYPE_LWT_SEG6LOCAL:
|
case BPF_PROG_TYPE_LWT_SEG6LOCAL:
|
||||||
case BPF_PROG_TYPE_LIRC_MODE2:
|
case BPF_PROG_TYPE_LIRC_MODE2:
|
||||||
case BPF_PROG_TYPE_SK_REUSEPORT:
|
case BPF_PROG_TYPE_SK_REUSEPORT:
|
||||||
|
Loading…
Reference in New Issue
Block a user