Add reliable delivery support in MUD#10
Conversation
- Introduced reliable delivery mechanism with sequence numbers and acknowledgments. - Updated Makefile to include new targets for reliable echo tests. - Added integration test for reliable delivery over loopback UDP. - Enhanced mud.c and mud.h to support reliable delivery features, including retransmission and reordering. - Updated .gitignore to exclude new test files. This commit lays the groundwork for improved link health detection and reliable message delivery in MUD.
|
Hi @haqa, I really appreciate your effort, but I cannot merge it in its current form. The changes are a bit too intrusive for the codebase right now, especially since mud is currently used in a wide variety of scenarios. You are completely right that mud has issues when path latencies are very different. The best way to fix this today (with successful testing) is to use tc to align the latency of all interfaces. The kernel handles this very well, but it is hard to configure and does not adapt when latencies change dynamically. My first priority will be to clean and modernize the current code. A dynamic latency feature was actually planned 6 years ago, but I moved on to other subjects. I still have the code somewhere and i will try to polish it and add some tests so you can try it out. Then, we can iterate and solve the issue. |
|
Hi @angt
Understood, shame though, because this should solve the "can't have
different latencies" and also "can't response quickly to latency jitter and
jerk"
It also allows the client app, if it chooses to, to select how responsive
it wants to be to path up/down.
Cheers
Adrian...
…On Tue, 7 Apr 2026 at 09:51, Adrien Gallouët ***@***.***> wrote:
*angt* left a comment (angt/mud#10)
<#10 (comment)>
Hi @haqa <https://github.com/haqa>,
I really appreciate your effort, but I cannot merge it in its current
form. The changes are a bit too intrusive for the codebase right now,
especially since mud is currently used in a wide variety of scenarios.
You are completely right that mud has issues when path latencies are very
different. The best way to fix this today (with successful testing) is to
use tc to align the latency of all interfaces. The kernel handles this very
well, but it is hard to configure and does not adapt when latencies change
dynamically.
My first priority will be to clean and modernize the current code. A
dynamic latency feature was actually planned 6 years ago, but I moved on to
other subjects. I still have the code somewhere and i will try to polish it
and add some tests so you can try it out. Then, we can iterate and solve
the issue.
—
Reply to this email directly, view it on GitHub
<#10 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAQAQZ5UKDCBZHGK7WQBOVL4US6QPAVCNFSM6AAAAACXL6XX2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DCOJXG4ZTKNJSGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
This commit lays the groundwork for improved link health detection and reliable message delivery in MUD.