Skip to content

net/unicoap: basic CoAP group communication support - #22484

Draft
elenaf9 wants to merge 5 commits into
RIOT-OS:unicoap-p3from
elenaf9:unicoap-03-client-group-communication
Draft

net/unicoap: basic CoAP group communication support#22484
elenaf9 wants to merge 5 commits into
RIOT-OS:unicoap-p3from
elenaf9:unicoap-03-client-group-communication

Conversation

@elenaf9

@elenaf9 elenaf9 commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Contribution description

WIP group communication support for unicoap.
Group communication is based on IP multicast, with non-confirmable messages. Most of it works already out-of-the-box using the gnrc IP multicast support. Two main changes required:

  • If a request was multicast, we can expect multiple replies. So only clear the memo after a timeout or if the user manually aborted the request.
  • Add the timeout for multicast requests, until which replies are acceptable.

Testing procedure

Not tested yet because there seems to be a bug in the client implementation.

Issues/PRs references

Small addition to #22266.

Tracking issue: #21389

Declaration of AI-Tools / LLMs usage:

AI-Tools / LLMs that were used are:

  • none

@github-actions github-actions Bot added Area: network Area: Networking Area: CoAP Area: Constrained Application Protocol implementations Area: sys Area: System labels Jul 19, 2026
Comment thread sys/net/application_layer/unicoap/state.c Outdated
Comment thread sys/include/net/unicoap/client.h Outdated
@elenaf9 elenaf9 changed the title unicoap: basic group communication support unicoap: basic CoAP group communication support Jul 19, 2026
@AnnsAnns AnnsAnns added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR AI: Not Used AI was stated to not be used in this PR/Issue labels Jul 19, 2026
@riot-ci

riot-ci commented Jul 19, 2026

Copy link
Copy Markdown

Murdock results

FAILED

993cf29 unicoap: basic group communication support

Success Failures Total Runtime
2893 0 10410 03m:39s

Artifacts

@crasbe crasbe added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation State: needs rebase State: The codebase was changed since the creation of the PR, making a rebase necessary labels Jul 19, 2026
@carl-tud carl-tud changed the title unicoap: basic CoAP group communication support net/unicoap: basic CoAP group communication support Jul 20, 2026

@carl-tud carl-tud left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of small things; would it be possible to cancel a multicast request using unicoap_cancel?

Comment thread sys/net/application_layer/unicoap/client/client.c Outdated
Comment thread sys/net/application_layer/unicoap/client/client.c
Comment thread sys/net/application_layer/unicoap/state.c Outdated
Comment thread sys/include/net/unicoap/client.h Outdated
Comment thread sys/include/net/unicoap/config.h
@mguetschow

Copy link
Copy Markdown
Contributor

I assume this is an implementation of https://datatracker.ietf.org/doc/html/rfc7390? I was yesterday pointed to https://datatracker.ietf.org/doc/draft-ietf-core-groupcomm-bis/ which obsoletes RFC7390 with many more features. Might be worth to have a look. It is about to be published as RFC: https://queue.rfc-editor.org/#draft-ietf-core-groupcomm-bis

Comment thread sys/include/net/unicoap/client.h Outdated
Comment thread sys/include/net/unicoap/client.h Outdated
Comment thread sys/net/application_layer/unicoap/include/private/state.h Outdated
Comment thread sys/net/application_layer/unicoap/include/private/state.h Outdated
Comment thread sys/net/application_layer/unicoap/client/client.c Outdated
@github-actions github-actions Bot added Area: doc Area: Documentation Area: tests Area: tests and testing framework Area: build system Area: Build system Area: examples Area: Example Applications Area: Kconfig Area: Kconfig integration labels Jul 20, 2026
@elenaf9
elenaf9 force-pushed the unicoap-03-client-group-communication branch from 7d52f88 to 993cf29 Compare July 21, 2026 09:18
@github-actions github-actions Bot removed the Area: tests Area: tests and testing framework label Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI: Not Used AI was stated to not be used in this PR/Issue Area: build system Area: Build system Area: CoAP Area: Constrained Application Protocol implementations Area: doc Area: Documentation Area: examples Area: Example Applications Area: Kconfig Area: Kconfig integration Area: network Area: Networking Area: sys Area: System CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR State: needs rebase State: The codebase was changed since the creation of the PR, making a rebase necessary Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants