-
Notifications
You must be signed in to change notification settings - Fork 2k
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
gnrc_sixlowpan_frag_sfr: add support for queue-based ECN #16175
gnrc_sixlowpan_frag_sfr: add support for queue-based ECN #16175
Conversation
5de1c19
to
b944fb3
Compare
9bb20c2
to
f1722b4
Compare
Added #16193 as additional dependency. |
6de7e47
to
78480e0
Compare
73e1712
to
dd30b37
Compare
Rebased and squashed to current master. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
What does it mean if the ECN bit is set? This needs a rebase btw 😉 |
It explicitly notifies the sender that a congestion happened (ECN = Explicit Congestion Notification) and thus amends loss-based congestion detection with hints, based on actual congestion. Here's some more info: https://en.wikipedia.org/wiki/Explicit_Congestion_Notification |
Would be great to also have this expanded in the doc somewhere 😇 |
Rebased on #18741 this would have passed Murdock |
Let's merge it after feature freeze then. :-) |
Contribution description
This provides two queue metrics set the ECN bit in a 6LoWPAN SFR RFRAG header:
netif
's input queue, andBoth metrics can be combined, so that if either metric hits the threshold (default 1/2 of the queue size for both), the ECN bit is set.
Testing procedure
No tests provided, as this is not as easy to be reproducible locally. If I find a way, I will provide a test. For now, there is only the compile test like this:
USEMODULE="gnrc_sixlowpan_frag_sfr_ecn_if_in gnrc_sixlowpan_frag_sfr_ecn_if_out gnrc_sixlowpan_frag_sfr_ecn_fqueue" make -C tests/gnrc_sixlowpan_frag_sfr
Issues/PRs references
Requires #16174(merged)