-
Notifications
You must be signed in to change notification settings - Fork 3.4k
workflows/e2e: Cover IPv6-only #38235
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This commit adds coverage for an IPv6-only configuration in the Upgrade E2E workflow. Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Our GitHub action VMs don't have IPv6 access to Internet, so IPv6-only clusters can't connect to the outside world and we must skip connectivity tests to various such targets. Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Our tcpdump-based encryption tests depend on the udp[] syntax of tcpdump. Those tests are executed even when IPsec is disabled to check that the detection works. Unfortunately, as per the manpage [1], udp[] doesn't support IPv6: Arithmetic expression against transport layer headers, like tcp[0], does not work against IPv6 packets. It only looks at IPv4 packets. Running a quick test confirms it: $ sudo tcpdump -i any "ip6 and udp[42:4] == 0x00000000" tcpdump: data link type LINUX_SLL2 tcpdump: expression rejects all packets This commit therefore skips that test in case of IPv6-only clusters. 1 - https://linux.die.net/man/8/tcpdump Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
This commit moves the logic to get the MTU into its own deriveMTU function, to simplify subsequent changes. There are no functional changes in this commit. Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
This commit adds support for IPv6-only clusters in the fragmentation test. Specifically, we would fail to retrieve the proper MTU in IPv6-only clusters simply because we'd run ip route, which doesn't output anything, instead of ip -6 route. Fixes: ef98fb6 ("connectivity: Add pod-to-pod-no-frag") Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
The connectivity tests may sometimes fail with the following panic: panic: runtime error: index out of range [1] with length 0 goroutine 18285 [running]: github.com/cilium/cilium/cilium-cli/connectivity/tests.(*podToPodMissingIPCache).Run(0xc0012867b0, {0x622cc78, 0xc000b3c380}, 0xc001ce3a20) /go/src/github.com/cilium/cilium/cilium-cli/connectivity/tests/pod.go:318 +0x119f github.com/cilium/cilium/cilium-cli/connectivity/check.(*Test).Run(0xc001ce3a20, {0x622cc78, 0xc000b3c380}, 0x14) /go/src/github.com/cilium/cilium/cilium-cli/connectivity/check/test.go:376 +0x664 github.com/cilium/cilium/cilium-cli/connectivity/check.(*ConnectivityTest).Run.func1() /go/src/github.com/cilium/cilium/cilium-cli/connectivity/check/context.go:419 +0x99 created by github.com/cilium/cilium/cilium-cli/connectivity/check.(*ConnectivityTest).Run in goroutine 2070 /go/src/github.com/cilium/cilium/cilium-cli/connectivity/check/context.go:413 +0x91 This commit fixes it by checking that the regexp matched before dereferencing its matches. Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
youngnick
approved these changes
Mar 18, 2025
Artyop
approved these changes
Mar 18, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
cilium-cli
This PR contains changes related with cilium-cli
feature/ipv6-only
Relates to single-stack IPv6 support.
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
release-note/ci
This PR makes changes to the CI.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds coverage for an IPv6-only configuration in our end-to-end upgrade workflow. IPv6-only is already covered in the IPv6 Smoke Test, but with a different configuration (ex., KPR is enabled) and a lot fewer tests executed.
The first commit adds the new test case. The second and third skip some connectivity tests for which we don't have IPv-only support yet. The last three commits fix issues in the connectivity tests.