[riot-notifications] [RIOT-OS/RIOT] gnrc_tcp: experimental feature "dynamic msl" (#16764)
notifications at github.com
Sat Aug 21 10:44:39 CEST 2021
### Contribution description
This PR adds an experimental feature to gnrc_tcp called "dynamic MSL".
It calculates the otherwise static MSL value based on the last calculated re-transmission timeout value times
a configurable constant factor. This leads to a much shorter MSL causing gnrc_tcp_close to return faster if the TCP teardown sequence causes GNRC_TCP to wait in state TIME-WAIT.
Although this feature is a deviation from the TCP Standard, it should not cause any Issues. If a packet is received after the shorter TIME-WAIT timer times out, a reset packet is sent in return.
### Testing procedure
This PR is not really testable in a deterministic way. It depends on heavily on the scheduling of the
test runner and the packet transmission order between host system and riot node.
I enabled this feature in the gnrc_tcp test suite located under tests/gnrc_tcp.
If you run the test suite tests multiple times and no test takes longer than a minute, chances are good that its working.
### Issues/PRs references
#16494 contains a long explanation regarding MSL length and the core mechanism this PR allows to tweak.
You can view, comment on, or merge this pull request online at:
-- Commit Summary --
* gnrc_tcp: experimental feature "dynamic msl"
-- File Changes --
M sys/include/net/gnrc/tcp/config.h (20)
M sys/net/gnrc/transport_layer/tcp/Kconfig (19)
M sys/net/gnrc/transport_layer/tcp/gnrc_tcp_fsm.c (16)
M tests/gnrc_tcp/Makefile (21)
-- Patch Links --
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the notifications