Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go: bump github.com/cilium/ebpf from 0.12.3 to 0.13.2 #2513

Merged
merged 1 commit into from
Feb 26, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 19, 2024

Bumps github.com/cilium/ebpf from 0.12.3 to 0.13.2.

Release notes

Sourced from github.com/cilium/ebpf's releases.

v0.13.0

Faster btf.LoadKernelSpec()

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.

Netfilter link

There is now support to attach Netfilter programs using bpf_links. See cilium/ebpf#1313 by @​mehrdadrad.

Better ELF section naming compatibility

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.

... (truncated)

Commits
  • 1cb951a map: rename BatchCursor to MapBatchCursor
  • b0728bc fix minor contradiction in comments
  • 644fc57 internal: replace internal memoize with sync.OnceValues
  • 77874d8 build(deps): bump actions/setup-go from 4 to 5
  • ca24c23 build(deps): bump mkdocs-material from 9.5.6 to 9.5.8 in /docs
  • 4503655 build(deps): bump mkdocs-git-revision-date-localized-plugin in /docs
  • 80e86d6 build(deps): bump actions/upload-artifact from 3 to 4
  • 4d619bb build(deps): bump actions/github-script from 3 to 7
  • a2fd8cc build(deps): bump actions/setup-python from 4 to 5
  • e8bdb76 use slices and maps packages instead of x/exp
  • Additional commits viewable in compare view

Most Recent Ignore Conditions Applied to This Pull Request
Dependency Name Ignore Conditions
github.com/cilium/ebpf [>= 0.10.a, < 0.11]
github.com/cilium/ebpf [>= 0.9.a, < 0.10]
github.com/cilium/ebpf [>= 0.8.a, < 0.9]
github.com/cilium/ebpf [>= 0.7.a, < 0.8]
github.com/cilium/ebpf [>= 0.6.a, < 0.7]
github.com/cilium/ebpf [>= 0.5.a, < 0.6]
github.com/cilium/ebpf [>= 0.4.a, < 0.5]
github.com/cilium/ebpf [>= 0.3.a, < 0.4]

Dependabot compatibility score

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 <dependency name> 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)

@dependabot dependabot bot requested a review from alban as a code owner February 19, 2024 04:53
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Feb 19, 2024
@eiffel-fl eiffel-fl force-pushed the dependabot/go_modules/github.com/cilium/ebpf-0.13.0 branch from 4c00e70 to aca5901 Compare February 19, 2024 07:05
@eiffel-fl
Copy link
Member

I had to modify the commit to handle changes done to BatchLookup(), so another review would be welcomed.

alban
alban previously approved these changes Feb 19, 2024
Copy link
Member

@alban alban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes to BatchLookup look good to me.

For reference, they are needed due to:

go 1.21
go 1.21.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this change?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go.mod Outdated Show resolved Hide resolved
@eiffel-fl
Copy link
Member

Bumping makes our unit tests explode, I opened a PR upstream to propose a fix about it but this is rather to have a discussion about the underlying issue: cilium/ebpf#1353
I will tag this PR as hold for the moment.

@eiffel-fl eiffel-fl dismissed alban’s stale review February 20, 2024 05:31

problem upstream

@eiffel-fl eiffel-fl added the upstream Root cause is upstream label Feb 20, 2024
@eiffel-fl eiffel-fl force-pushed the dependabot/go_modules/github.com/cilium/ebpf-0.13.0 branch from fe1c5c5 to c1bd4b2 Compare February 23, 2024 03:53
@eiffel-fl eiffel-fl changed the title go: bump github.com/cilium/ebpf from 0.12.3 to 0.13.0 go: bump github.com/cilium/ebpf from 0.12.3 to 0.13.2 Feb 23, 2024
@eiffel-fl eiffel-fl removed state/hold upstream Root cause is upstream labels Feb 23, 2024
@eiffel-fl eiffel-fl force-pushed the dependabot/go_modules/github.com/cilium/ebpf-0.13.0 branch from c1bd4b2 to 10d75e6 Compare February 23, 2024 04:07
@eiffel-fl
Copy link
Member

With the merge of cilium/ebpf#1357 and release of https://github.com/cilium/ebpf/releases/tag/v0.13.2, the problem is fixed upstream.
So, we should be ready to merge it. Can I get another review?

@eiffel-fl eiffel-fl force-pushed the dependabot/go_modules/github.com/cilium/ebpf-0.13.0 branch from 10d75e6 to e73b958 Compare February 23, 2024 04:28
Bumps [github.com/cilium/ebpf](https://github.com/cilium/ebpf) from 0.12.3 to 0.13.2.
- [Release notes](https://github.com/cilium/ebpf/releases)
- [Commits](cilium/ebpf@v0.12.3...v0.13.2)

---
updated-dependencies:
- dependency-name: github.com/cilium/ebpf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

This commit also modifies call to BatchLookup() to use new MapBatchCursor type
instead of using keys [1, 2].
We also rename all the eBPF objects files and associated golang files [3].

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
[1]: cilium/ebpf@583609c0f392
[2]: cilium/ebpf@cc0e5a2479b7
[3]: cilium/ebpf@f95957d1669c
@eiffel-fl eiffel-fl force-pushed the dependabot/go_modules/github.com/cilium/ebpf-0.13.0 branch from e73b958 to 4ac24c3 Compare February 23, 2024 04:46
Copy link
Contributor Author

dependabot bot commented on behalf of github Feb 23, 2024

A newer version of github.com/cilium/ebpf exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

Copy link
Member

@mauriciovasquezbernal mauriciovasquezbernal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see tests are passing fine and it LGTM from code inspection.

@eiffel-fl eiffel-fl merged commit 5aefeab into main Feb 26, 2024
58 of 59 checks passed
@eiffel-fl eiffel-fl deleted the dependabot/go_modules/github.com/cilium/ebpf-0.13.0 branch February 26, 2024 02:20
@eiffel-fl
Copy link
Member

Thank you for the review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants