mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
bpf: sync tools bpf.h uapi header
Only sync the header from include/uapi/linux/bpf.h. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
24dea04767
commit
32b3652c30
1 changed files with 32 additions and 1 deletions
|
@ -1801,6 +1801,30 @@ union bpf_attr {
|
||||||
* Return
|
* Return
|
||||||
* a non-negative value equal to or less than size on success, or
|
* a non-negative value equal to or less than size on success, or
|
||||||
* a negative error in case of failure.
|
* a negative error in case of failure.
|
||||||
|
*
|
||||||
|
* int skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header)
|
||||||
|
* Description
|
||||||
|
* This helper is similar to **bpf_skb_load_bytes**\ () in that
|
||||||
|
* it provides an easy way to load *len* bytes from *offset*
|
||||||
|
* from the packet associated to *skb*, into the buffer pointed
|
||||||
|
* by *to*. The difference to **bpf_skb_load_bytes**\ () is that
|
||||||
|
* a fifth argument *start_header* exists in order to select a
|
||||||
|
* base offset to start from. *start_header* can be one of:
|
||||||
|
*
|
||||||
|
* **BPF_HDR_START_MAC**
|
||||||
|
* Base offset to load data from is *skb*'s mac header.
|
||||||
|
* **BPF_HDR_START_NET**
|
||||||
|
* Base offset to load data from is *skb*'s network header.
|
||||||
|
*
|
||||||
|
* In general, "direct packet access" is the preferred method to
|
||||||
|
* access packet data, however, this helper is in particular useful
|
||||||
|
* in socket filters where *skb*\ **->data** does not always point
|
||||||
|
* to the start of the mac header and where "direct packet access"
|
||||||
|
* is not available.
|
||||||
|
*
|
||||||
|
* Return
|
||||||
|
* 0 on success, or a negative error in case of failure.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
#define __BPF_FUNC_MAPPER(FN) \
|
#define __BPF_FUNC_MAPPER(FN) \
|
||||||
FN(unspec), \
|
FN(unspec), \
|
||||||
|
@ -1870,7 +1894,8 @@ union bpf_attr {
|
||||||
FN(bind), \
|
FN(bind), \
|
||||||
FN(xdp_adjust_tail), \
|
FN(xdp_adjust_tail), \
|
||||||
FN(skb_get_xfrm_state), \
|
FN(skb_get_xfrm_state), \
|
||||||
FN(get_stack),
|
FN(get_stack), \
|
||||||
|
FN(skb_load_bytes_relative),
|
||||||
|
|
||||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||||
* function eBPF program intends to call
|
* function eBPF program intends to call
|
||||||
|
@ -1931,6 +1956,12 @@ enum bpf_adj_room_mode {
|
||||||
BPF_ADJ_ROOM_NET,
|
BPF_ADJ_ROOM_NET,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Mode for BPF_FUNC_skb_load_bytes_relative helper. */
|
||||||
|
enum bpf_hdr_start_off {
|
||||||
|
BPF_HDR_START_MAC,
|
||||||
|
BPF_HDR_START_NET,
|
||||||
|
};
|
||||||
|
|
||||||
/* user accessible mirror of in-kernel sk_buff.
|
/* user accessible mirror of in-kernel sk_buff.
|
||||||
* new fields can only be added to the end of this structure
|
* new fields can only be added to the end of this structure
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue