Skip to content

Improve IPv4 checksum verification/generation#14

Draft
t-wallet wants to merge 22 commits intoethernetfrom
improve-ip-checksum
Draft

Improve IPv4 checksum verification/generation#14
t-wallet wants to merge 22 commits intoethernetfrom
improve-ip-checksum

Conversation

@t-wallet
Copy link
Collaborator

@t-wallet t-wallet commented Sep 30, 2024

This draft PR improves IPv4 checksum verification and generation by pipelining it.

Doing this for dataWidth 4 was not very difficult. But doing it for generic dataWidth turned out to be way more complex than initially thought (thanks, IPv4). Therefore, I wanted to separate this issue from #8 to avoid cluttering things and blocking the main PR.

TODO:

t-wallet and others added 21 commits August 28, 2024 16:00
Co-authored-by: Jasmijn Bookelmann <bookelmannjasmijn@gmail.com>
Co-authored-by: Cato van Ojen <Baublesaurus@users.noreply.github.com>
Co-authored-by: MatthijsMu <93450301+MatthijsMu@users.noreply.github.com>
Co-authored-by: Jasper Laumen <96011116+JLaumen@users.noreply.github.com>
Co-authored-by: Mart Koster <30956441+Akribes@users.noreply.github.com>
Co-authored-by: Bryan Rinders <bryan__ajax@hotmail.com>
Co-authored-by: Daan Weessies <daan.weessies@gmail.com>
Co-authored-by: Rowan Goemans <goemansrowan@gmail.com>
It was only used to be able to test the ARP stack in hardware when we did not have IP yet.
Major documentation was missing for the ICMP module. Especially the fact that the checksum adjustment breaks for very specific (unlikely to happen in practice) input packets.
Mostly includes improvements in packet generation, and reuse of models and generators. Aside from that, most test files have also been formatted with fourmolu.
Now also recognizes packets of which some of the preamble is missing. The SFD is still required to be byte-aligned.
Also removed some superfluous constraints and made the timer of the ARP manager less granular. This caused the manual test to fail, because its domain is too slow. The manual test was not any better than a hardware test anyway, so I removed it. Once support for ReqResp tests arrives from clash-protocols, we can add a proper test.
See the discussion in #8 (comment) for more details.

Co-authored-by: Rowan Goemans <goemansrowan@gmail.com>
@t-wallet t-wallet changed the base branch from main to ethernet September 30, 2024 14:12
@t-wallet t-wallet mentioned this pull request Sep 30, 2024
7 tasks
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.

1 participant