Skip to content

bpf: add support for delinearized ARP packets#41233

Merged
pchaigno merged 1 commit intocilium:mainfrom
vsinitsyn:gh-40419-fix
Aug 22, 2025
Merged

bpf: add support for delinearized ARP packets#41233
pchaigno merged 1 commit intocilium:mainfrom
vsinitsyn:gh-40419-fix

Conversation

@vsinitsyn
Copy link
Copy Markdown

Internal ARP-handling functions such as those in lib/arp.h expect linearized ARP packets. However, no code exist to linearize this packet type. This means user-facing features such as L2 Announcements break easily if the kernel decides to split ARP request in chunks.

Implement revalidate_data_arp_pull() and call it the same way it is done for IPv4/IPv6 packets to prevent this from happening and keep things consistent across protocols.

Fixes: #40419

Signed-off-by: Valentine Sinitsyn valentine.sinitsyn@gmail.com

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Aug 18, 2025
@github-actions github-actions bot added the kind/community-contribution This was a contribution made by a community member. label Aug 18, 2025
@vsinitsyn vsinitsyn changed the title bpf: add support delinearized ARP packets bpf: add support for delinearized ARP packets Aug 18, 2025
@vsinitsyn vsinitsyn marked this pull request as ready for review August 18, 2025 11:11
@vsinitsyn vsinitsyn requested a review from a team as a code owner August 18, 2025 11:11
@vsinitsyn vsinitsyn requested a review from jrife August 18, 2025 11:11
@vsinitsyn vsinitsyn marked this pull request as draft August 18, 2025 19:01
@vsinitsyn vsinitsyn force-pushed the gh-40419-fix branch 3 times, most recently from c478ebb to 71a810a Compare August 18, 2025 19:14
@vsinitsyn vsinitsyn marked this pull request as ready for review August 19, 2025 06:35
@pchaigno pchaigno added area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. release-note/bug This PR fixes an issue in a previous release of Cilium. needs-backport/1.18 This PR / issue needs backporting to the v1.18 branch labels Aug 19, 2025
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Aug 19, 2025
@vsinitsyn vsinitsyn marked this pull request as draft August 19, 2025 15:49
Internal ARP-handling functions such as those in lib/arp.h expect
linearized ARP packets. However, no code exist to linearize this
packet type. This means user-facing features such as L2 Announcements
break easily if the kernel decides to split ARP request in chunks.

Implement revalidate_data_arp_pull() and call it the same way it is done
for IPv4/IPv6 packets to prevent this from happening and keep things
consistent across protocols.

Fixes: cilium#40419

Signed-off-by: Valentine Sinitsyn <valentine.sinitsyn@gmail.com>
@pchaigno
Copy link
Copy Markdown
Member

/test

@vsinitsyn vsinitsyn marked this pull request as ready for review August 20, 2025 17:58
@jrife
Copy link
Copy Markdown
Contributor

jrife commented Aug 21, 2025

This makes sense to me. Ideally I'd like to have confirmation in #40419 that this fixes the issue first before merging.

@vsinitsyn
Copy link
Copy Markdown
Author

vsinitsyn commented Aug 21, 2025

@jrife We were observing exactly the same symptoms as described in #40419 in our setup, so I linked the report.
This being said, an independent testing would surely be welcome.

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Aug 21, 2025
@pchaigno pchaigno added this pull request to the merge queue Aug 22, 2025
Merged via the queue into cilium:main with commit ff9a230 Aug 22, 2025
68 checks passed
@pippolo84 pippolo84 mentioned this pull request Aug 25, 2025
17 tasks
@pippolo84 pippolo84 added backport-pending/1.18 The backport for Cilium 1.18.x for this PR is in progress. and removed needs-backport/1.18 This PR / issue needs backporting to the v1.18 branch labels Aug 25, 2025
@github-actions github-actions bot added backport-done/1.18 The backport for Cilium 1.18.x for this PR is done. and removed backport-pending/1.18 The backport for Cilium 1.18.x for this PR is in progress. labels Sep 1, 2025
@cilium-release-bot cilium-release-bot bot moved this to Released in cilium v1.19.0 Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. backport-done/1.18 The backport for Cilium 1.18.x for this PR is done. feature/l2-announcement kind/community-contribution This was a contribution made by a community member. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/bug This PR fixes an issue in a previous release of Cilium.

Projects

No open projects
Status: Released

Development

Successfully merging this pull request may close these issues.

Cilium on Talos not responding to ARP requests

4 participants