diff options
author | Joanne Koong <[email protected]> | 2023-03-01 07:49:51 -0800 |
---|---|---|
committer | Alexei Starovoitov <[email protected]> | 2023-03-01 09:55:24 -0800 |
commit | 05421aecd4ed65da0dc17b0c3c13779ef334e9e5 (patch) | |
tree | 4c1ab9ebfeaa8c17c0e8ac8b7ef63c9ae29dbdc6 /tools/perf/scripts/python/sctop.py | |
parent | b5964b968ac64c2ec2debee7518499113b27c34e (diff) |
bpf: Add xdp dynptrs
Add xdp dynptrs, which are dynptrs whose underlying pointer points
to a xdp_buff. The dynptr acts on xdp data. xdp dynptrs have two main
benefits. One is that they allow operations on sizes that are not
statically known at compile-time (eg variable-sized accesses).
Another is that parsing the packet data through dynptrs (instead of
through direct access of xdp->data and xdp->data_end) can be more
ergonomic and less brittle (eg does not need manual if checking for
being within bounds of data_end).
For reads and writes on the dynptr, this includes reading/writing
from/to and across fragments. Data slices through the bpf_dynptr_data
API are not supported; instead bpf_dynptr_slice() and
bpf_dynptr_slice_rdwr() should be used.
For examples of how xdp dynptrs can be used, please see the attached
selftests.
Signed-off-by: Joanne Koong <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/sctop.py')
0 files changed, 0 insertions, 0 deletions