Obtaining the kernel's BTF used to be very slow and is now very fast. See cilium/ebpf#1235 by @lmb.
TCX
It's now possible to attach TC programs using the new bpf_link based TCX API. See cilium/ebpf#1163 by @lmb.
UprobeMulti and UretprobeMulti
These are the user-space equivalents to KprobeMulti and Kretprobe multi and allow
attaching to a large number of symbols quickly. See cilium/ebpf#1269 by @olsajiri.
The list of recognised ELF section names is now automatically generated from
libbpf and should be more accurate and easier to keep up to date. See cilium/ebpf#1209 by @lmb.
Pre-allocate per-CPU values
It's now possible to cut down on allocations by pre-allocating per-CPU values. See cilium/ebpf#1220 by @alxn.
Batch operation support for per-CPU values
Batch operations like Map.BatchLookup now support per-CPU values. Note that this
is not particularly optimised, please check whether it is faster based on your
use case. See cilium/ebpf#1192 by @alxn.
Breaking changes
This release requires at least Go 1.21.
github.com/cilium/ebpf
(*Map).BatchLookup, (*Map).BatchLookupAndDelete: now take a MapBatchCursor.
The previous implementation did not properly account for differences between
map types and was unsafe.
github.com/cilium/ebpf/btf
CORERelocate: now takes an additional argument, which is usually Spec.TypeID.
MarshalExtInfos: now takes an additional *Builder instead of allocating it.
Simply pass NewBuilder().
Both of these are considered somewhat internal API of the library.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/cilium/ebpf from 0.12.3 to 0.13.0.
Release notes
Sourced from github.com/cilium/ebpf's releases.
... (truncated)
Commits
1cb951a
map: rename BatchCursor to MapBatchCursorb0728bc
fix minor contradiction in comments644fc57
internal: replace internal memoize with sync.OnceValues77874d8
build(deps): bump actions/setup-go from 4 to 5ca24c23
build(deps): bump mkdocs-material from 9.5.6 to 9.5.8 in /docs4503655
build(deps): bump mkdocs-git-revision-date-localized-plugin in /docs80e86d6
build(deps): bump actions/upload-artifact from 3 to 44d619bb
build(deps): bump actions/github-script from 3 to 7a2fd8cc
build(deps): bump actions/setup-python from 4 to 5e8bdb76
use slices and maps packages instead of x/expDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show