Skip to content
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

fix handling large packets and sending icmp-too-big fragmentation bug #206

Closed

Conversation

AlirezaKm
Copy link
Contributor

bpf(icmp-too-big): This commit fixes a bug that katran cannot deal with large packets.
Katran should generate ICMP_TOO_BIG packet ('destination unreachable') for this situation but randomly packets dropped from processing in NIC due to checksum issue.
So, we need to generate an IP header with frag_off = 0 option to fix bytes replacements and fragmentation affects.

…th large packets.

Katran should generate ICMP_TOO_BIG packet ('destination unreachable') for this situation but randomly packets dropped from processing in NIC due to checksum issue.
So, we need to generate an IP header with `frag_off = 0` option to fix bytes replacements and fragmentation affects.
@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Nov 9, 2023
@frankfeir
Copy link
Contributor

@AlirezaKm , thanks for the fix. It looks good to me that frag_off should be reset to 0 for icmp packet generated by katran. However, I don't quite understand the checksum issue you mentioned. we do re-calculate the check sum in ip header in send_icmp4_too_big. Could you please elaborate a bit more on the checksum issue?

@facebook-github-bot
Copy link
Contributor

@frankfeir has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@AlirezaKm
Copy link
Contributor Author

AlirezaKm commented Nov 13, 2023 via email

@facebook-github-bot
Copy link
Contributor

@frankfeir merged this pull request in 06b5b4a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants