ginkgo: remove Supports IPv4 Fragments#44271
Merged
julianwiedmann merged 2 commits intomainfrom Mar 4, 2026
Merged
Conversation
Contributor
Author
|
/test |
e07c601 to
a1751ee
Compare
b474c2b to
4ea0b13
Compare
a1751ee to
a5d426d
Compare
8074fb5 to
545cee4
Compare
a5d426d to
015f846
Compare
0eefe2c to
7b9a43d
Compare
015f846 to
10b93c5
Compare
ece09b6 to
f79c43f
Compare
This commit adds a BPF unit test for loadbalancing of fragmented packets destined to a NodePort service. This aims at replacing the Ginkgo "Supports IPv4 Fragments" test. For IPv4, we declare the two fragments as follows: 1. Ether(14) + IP(20) + TCP(20) + Raw(1) = 55B 2. Ether(14) + IP(20) + Raw(1) = 35B. For IPv6: 1. Eth(14) + IPv6(40) + IPv6ExtHeader (8B) + TCP(20) + Raw(1) = 83B 2. Eth(14) + IPv6(40) + IPv6ExtHeader (8B) + Raw(1) = 63B The last fragment can contain a non-divisible-by-8 offset, given it will not have the MF flag set, and it is handled correctly. If we were testing 3 fragments, the 2nd fragment would have the MF flag set and an offset of 8B, so in that case we would need to adjust the payload. The BPF tests are executed sequentially, therefore we don't need to manually replicate the setup for each test, nor simulate the 1st fragment reception during the test of the 2nd fragment. If the 1st test passed, we expect the underlying datapath structures to be correctly populated (ip frags, conntrack, etc.). The test ensure that both the 1st and 2nd fragments are correctly handled, bpf metrics are updated as expected, and that the conntrack map accounts for both the two fragments while computing statistics. Signed-off-by: Simone Magnani <simone.magnani@isovalent.com>
Given the previous commits, we no longer need the `Supports IPv4 Fragments` Ginkgo test. The N/S loadbalancing of fragments is now tested as a BPF unit test. Signed-off-by: Simone Magnani <simone.magnani@isovalent.com>
a6ce19f to
74e82a6
Compare
Contributor
Author
|
/test |
nebril
approved these changes
Feb 24, 2026
brlbil
approved these changes
Feb 24, 2026
julianwiedmann
approved these changes
Mar 4, 2026
Member
julianwiedmann
left a comment
There was a problem hiding this comment.
Thank you!
To note - while we're now adding tests for the from-netdev N/S path, I believe the ginkgo tests that we are replacing here were testing the E/W path (ie the logic in bpf_sock and bpf_lxc). That's why they have all this consideration for whether SocketLB or kube-proxy are enabled.
So I think we should have a follow-up issue to add similar tests for the per-packet LB in bpf_lxc. Not sure whether we can easily test the kube-proxy parts ...
smagnani96
added a commit
that referenced
this pull request
Mar 30, 2026
These tests were introduced in #44271, where we migrated the Ginkgo test into BPF unit test. However, as noted in the PR comments, the Ginkgo tests were mainly testing the East/West scenario rather than the North/South. This commits renames then the introduced tests to north/south, and refactors a bit their infra to accommodate for east/west tests introduced in the follow-up commit. Signed-off-by: Simone Magnani <simone.magnani@isovalent.com>
Contributor
Author
Follow-up PR to tackle this #45055. Thanks Julian for the note 🙏🏼 |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Please refer to commit descriptions:
Related: #44168.