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