Subject: [core] Block-wise coap vs. options

From: Geiger Pavel <[email-masked]>
Date: Mon, 7 Oct 2019 13:15:06 +0000

Hi, we have implemented CoAP library with support for block-wise coap. What we have problem with is, that block-wise coap doesnt fragment options. By our understanding they are still transfered together in single CoAP datagram. Therefore, if we have CoAP option with payload larger than MTU (for example uri-query), there is no way, how to transfer it reliably with respect to the MTU. Is this right, or do we have some misunderstanding about CoAP or its block-wise version? Thank you very much for response.

--

Best regards

Pavel Geiger
CLOUD RT Zone Developer

[email-masked]<mailto:[email-masked]> | www.jablotron.cloud<https://www.jablotron.cloud>

[JABLOTRON CLOUD SERVICES]<https://www.jablotron.cloud>

---

From: Carsten Bormann <[email-masked]>
Date: Mon, 7 Oct 2019 17:34:15 +0200

Hi Pavel,

> On Oct 7, 2019, at 15:15, Geiger Pavel <[email-masked]> wrote:
> 
> Hi, we have implemented CoAP library with support for block-wise coap. What we have problem with is, that block-wise coap doesnt fragment options. By our understanding they are still transfered together in single CoAP datagram. Therefore, if we have CoAP option with payload larger than MTU (for example uri-query), there is no way, how to transfer it reliably with respect to the MTU.

Indeed, the assumption is that CoAP options are small enough they don’t need to be segmented.

What is the context in which this happens?  Maybe you are using uri-query in a way for which we normally would use FETCH (RFC 8132) payloads (which do support block-wise transfer).

Grüße, Carsten