lwIP | Add GRETH/GRETH_GBIT driver (!40)
Matteo Concas (@matteo.concas)
gitlab at rtems.org
Tue Apr 21 12:57:10 UTC 2026
Matteo Concas created a merge request: https://gitlab.rtems.org/rtems/pkg/rtems-lwip/-/merge_requests/40
Project:Branches: matteo.concas/rtems-lwip-greth:matteo/greth to rtems/pkg/rtems-lwip:main
Author: Matteo Concas
## Summary
See !22 for full history of the original work done during GSoC 2025 by Prithvi Tambewagh.
Building up on his work I have made multiple improvements:
- Format source code so it matches RTEMS kernel format
- Bug fixes
- Optimize driver configuration for throughput
- Take into account checksum offloading
- Only trigger TX interrupts when necessary (75%+ of descriptors used)
- Replace hardcoded bitfields with defines to improve readibility
- Make it possible to pick GRETH device instance
The driver has been tested on hardware using TTCP and iperf3 (or a crude port of it at least).
One improvement I can see is figuring out a way to enable SW checksum generation only when an outgoing packet exceeds the MTU (currently it is always enabled). The GRETH core supports checksum offloading only for non-fragmented packets.
Figuring this out would provide a pretty good increase in throughput.
<!-- Default settings, if it is a dropdown it will set after submission -->
--
View it on GitLab: https://gitlab.rtems.org/rtems/pkg/rtems-lwip/-/merge_requests/40
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260421/0c82a875/attachment.htm>
More information about the bugs
mailing list