Helper function bpf_skb_change_head
Definition
Copyright (c) 2015 The Libbpf Authors. All rights reserved.
Grows headroom of packet associated to skb and adjusts the offset of the MAC header accordingly, adding len bytes of space. It automatically extends and reallocates memory as required.
This helper can be used on a layer 3 skb to push a MAC header for redirection into a layer 2 device.
All values for flags are reserved for future usage, and must be left at zero.
A call to this helper is susceptible to change the underlying packet buffer. Therefore, at load time, all checks on pointers previously done by the verifier are invalidated and must be performed again, if the helper is used in combination with direct packet access.
Returns
0 on success, or a negative error in case of failure.
static long (* const bpf_skb_change_head)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 43;
Usage
Docs could be improved
This part of the docs is incomplete, contributions are very welcome
Program types
This helper call can be used in the following program types:
BPF_PROG_TYPE_LWT_XMIT
BPF_PROG_TYPE_SCHED_ACT
v5.8BPF_PROG_TYPE_SCHED_CLS
v5.8BPF_PROG_TYPE_SK_SKB
Example
Docs could be improved
This part of the docs is incomplete, contributions are very welcome