Skip to content

build qperf from source, use older version for compatibility with kernels without ipv6#18

Closed
lwr20 wants to merge 1 commit into
projectcalico:release-v0.4from
lwr20:lwr-build-patch-qperf
Closed

build qperf from source, use older version for compatibility with kernels without ipv6#18
lwr20 wants to merge 1 commit into
projectcalico:release-v0.4from
lwr20:lwr-build-patch-qperf

Conversation

@lwr20
Copy link
Copy Markdown
Member

@lwr20 lwr20 commented Aug 8, 2025

https://access.redhat.com/solutions/5353011 and linux-rdma/qperf#25 indicate that qperf cannot run in an environment where ipv6 is disabled in the kernel by command line, causing it to error:

# qperf
    unable to bind to listen port

linux-rdma/qperf#25 goes on to propose a fix for this. But the fix does not work. Instead, we can roll back the version of qperf to before the commit which added IPv6 support. 0.4.11 requires ipv6, 0.4.10 does not support ipv6.

This PR replaces the qperf install from the alpine packages with building from source code at the pre-ipv6 version tag.

@lwr20 lwr20 force-pushed the lwr-build-patch-qperf branch from 0c6c923 to b9041b6 Compare August 8, 2025 11:37
@lwr20 lwr20 requested a review from Copilot August 8, 2025 11:38

This comment was marked as outdated.

@lwr20 lwr20 force-pushed the lwr-build-patch-qperf branch 3 times, most recently from 985c550 to f32f6df Compare August 8, 2025 16:27
@lwr20 lwr20 requested a review from Copilot August 8, 2025 16:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR addresses a bug where qperf fails to run on systems with IPv6 disabled in the kernel by switching from installing qperf via Alpine packages to building from source with a necessary patch applied.

  • Replaces package installation with multi-stage Docker build to compile qperf from source
  • Uses qperf version 0.4.10 which includes the IPv6 fix
  • Adds build dependencies and compilation steps in a separate build stage

Comment thread images/perf/Dockerfile Outdated
Comment thread images/perf/Dockerfile Outdated
Comment thread images/perf/Dockerfile
@lwr20 lwr20 force-pushed the lwr-build-patch-qperf branch from f32f6df to 4e5f933 Compare August 8, 2025 16:35
@lwr20 lwr20 force-pushed the lwr-build-patch-qperf branch from 4e5f933 to 6d6899a Compare August 11, 2025 11:04
@lwr20 lwr20 changed the title Patch qperf and build from source build qperf from source, use older version for compatibility with kernels without ipv6 Aug 11, 2025
@lwr20
Copy link
Copy Markdown
Member Author

lwr20 commented Aug 18, 2025

Closing in favour of #20

@lwr20 lwr20 closed this Aug 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants