Skip to content

Make Lucius Robust to handle invalid packets like ICMPv6 over IPV4#697

Merged
sonikajindal merged 1 commit into
openconfig:mainfrom
tejatamboli02:icmp
Jun 11, 2026
Merged

Make Lucius Robust to handle invalid packets like ICMPv6 over IPV4#697
sonikajindal merged 1 commit into
openconfig:mainfrom
tejatamboli02:icmp

Conversation

@tejatamboli02

Copy link
Copy Markdown
Contributor

A robustness check is added to ICMP6.Rebuild() in the Lucius forwarding dataplane to handle invalid packets like ICMPv6 over IPV4.
The ICMPv6 checksum gets calculated from "IPv6 pseudo-header" which explicitly requires 16-byte IPv6 Source and Destination addresses. In this case the provided addresses were only 4 bytes long.
Added a strict validation step to ensure both IP addresses are exactly 16 bytes (protocol.SizeIP6). If they are not (as is the case with an invalid ICMPv6-over-IPv4 packet), the Rebuild() function aborts early and safely skips the checksum rewrite. This prevents the bogus checksum calculation and guarantees that opaque test payloads remain completely unmodified.

@tejatamboli02 tejatamboli02 requested a review from a team as a code owner June 11, 2026 18:57
@sonikajindal

Copy link
Copy Markdown
Contributor

/gcbrun

@sonikajindal

Copy link
Copy Markdown
Contributor

/gcbrun

@sonikajindal sonikajindal merged commit 354403d into openconfig:main Jun 11, 2026
14 checks passed
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