gnrc_sixlowpan_frag_sfr_congure_sfr: initial import#16158
Merged
bors[bot] merged 2 commits intoRIOT-OS:masterfrom Mar 1, 2023
Merged
gnrc_sixlowpan_frag_sfr_congure_sfr: initial import#16158bors[bot] merged 2 commits intoRIOT-OS:masterfrom
bors[bot] merged 2 commits intoRIOT-OS:masterfrom
Conversation
This was referenced Mar 5, 2021
35a31d4 to
e7d6a44
Compare
Member
Author
|
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. |
e7d6a44 to
fc634c0
Compare
d3bf63c to
ec88642
Compare
ec88642 to
579d69a
Compare
benpicco
reviewed
Feb 28, 2023
benpicco
reviewed
Feb 28, 2023
benpicco
reviewed
Feb 28, 2023
579d69a to
ecdc64e
Compare
benpicco
approved these changes
Feb 28, 2023
Contributor
benpicco
left a comment
There was a problem hiding this comment.
Thank you for cleaning up the test!
Member
Author
|
Woop woop bors merge 🚂 |
Contributor
|
🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set. |
Member
Author
|
bors merge |
Member
Author
|
bors cancel |
Contributor
|
Canceled. |
bors bot
added a commit
that referenced
this pull request
Feb 28, 2023
16158: gnrc_sixlowpan_frag_sfr_congure_sfr: initial import r=miri64 a=miri64
19331: pkg/tinydtls: Adjust defaults r=miri64 a=chrysn
### Contribution description
This adjusts two defaults in tinydtls:
* Default verbosity is set to warning. At the info level, this module produces way more output (several lines per new connection, and even per message) than is common in RIOT.
* If gcoap is used, the buffer size is adjusted to the gcoap buffer size plus overhead. Otherwise, CoAP-over-DTLS works fine until one happens to request larger resources.
### Testing procedure
* Run examples/gcoap_dtls
* Send a CoAP request from outside, eg. with `aiocoap-client 'coaps://[fe80::3c63:beff:fe85:ca96%tapbr0]/.well-known/core' --credentials testserver.json` (where testserver.json is `{"coaps://[fe80::3c63:beff:fe85:ca96%tapbr0]/*": {"dtls": {"psk": {"ascii": "secretPSK"}, "client-identity": {"ascii": "Client_identity"}}}}`).
Before, there are messages shown for every request; now there are none.
Modify `examples/gcoap/server.c` as follows:
```patch
diff --git a/examples/gcoap/server.c b/examples/gcoap/server.c
index bf2315c..28e1faac27 100644
--- a/examples/gcoap/server.c
+++ b/examples/gcoap/server.c
`@@` -68,7 +68,7 `@@` static const coap_resource_t _resources[] = {
};
static const char *_link_params[] = {
- ";ct=0;rt=\"count\";obs",
+ ";ct=0;rt=\"count\";obs;looooooooooooooooooooooong-attribute=\"loooooooooooooooooooooooooooooong\"",
NULL
};
```
The request passes; without this patch, it is stuck in retransmissions until "Network error: Retransmissions exceeded".
### Issues/PRs references
This contributes to making #19289 usable with a minimum level of security. (That module fills up the gcoap buffer to the brim). While the module handles the verbosity as well as it can (occasionally admitting that it lost bytes of output), the previous verbosity produces an infinite stream of stdout data. (But the default should be quiet immaterial of that particular PR).
Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
Co-authored-by: chrysn <chrysn@fsfe.org>
Contributor
|
Build failed (retrying...): |
Contributor
|
bors merge |
Contributor
|
Already running a review |
Contributor
|
bors cancel |
Contributor
|
Canceled. |
Member
Author
|
bors merge |
Contributor
|
Build failed: |
ecdc64e to
918d48a
Compare
Member
Author
|
bors merge |
Contributor
|
Build succeeded: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contribution description
This provides a CongURE implementation of the very basic congestion control for 6LoWPAN SFR proposed in Appendix C of RFC 8931 and provisions it to be usable with GNRC's SFR implementation.
Testing procedure
A test is provided in
tests/gnrc_sixlowpan_frag_sfr_congure_implwhich will be made reusable for other CongURE implementations. I tested it at the Grenoble site of the FIT IoT-LAB using RPL for route construction so that there is at least a hop between the pinger and the pinged and with sizes that will cause fragmentation:Details
Issues/PRs references
Depends on #16156 and all its dependencies.