core-wg / coap-tcp-tls

4 stars 5 forks source link

Clarify BERT / non-BERT block transfer behaviour when block size reduced "on the fly" for Block1 (PUT/POST) requests #184

Closed smolboarm closed 7 years ago

smolboarm commented 7 years ago

According to RFC 7959 Block-Wise Transfer in CoAP, section 2.5 Using the Block1 Option, server receiving POST or PUT request can reduce block size in ACK and client should use this new block size for future blocks. There is no any restriction defined in CoAP over TCP spec about reducing block size if BERT is enabled and no clarification on parties behaviour.

  1. if BERT is enabled by CSM exchange - it should be clearly defined can parties switch to non-BERT block transfers, if server replies with reduced non-BERT block option.
  2. if it would be defined, that server can reduce block-size from BERT to non-BERT block size - it shoul be clearly defined or referenced to RFC 7959 how to continue transfer with next block (mostly block number, as it is described for Block1 in RFC 7959)
cabo commented 7 years ago

On Aug 25, 2017, at 18:04, smolboarm notifications@github.com wrote:

According to RFC 7959 Block-Wise Transfer in CoAP, section 2.5 Using the Block1 Option, server receiving POST or PUT request can reduce block size in ACK and client should use this new block size for future blocks.

Yes.

There is no any restriction defined in spec o reduce block size if BERT is enabled and no clarification on clients behaviour.

I’m not sure I can parse this sentence, but yes, there is no additional restriction on the client’s behavior.

• if BERT is enabled by CSM exchange - it should be clearly defined can parties switch to non-BERT block transfers, if server replies with reduced non-BERT block option.

If BERT is enabled, this doesn’t mean that blocks now somehow have to be large. Each peer is always free to use a smaller block size — this is not something that is being changed from RFC 7959.

• if it would be defined, that server can reduce block-size from BERT to non-BERT block size - it shoul be clearly defined or referenced to RFC 7959 how to continue transfer with next block (mostly block number, as it is described for Block1 in RFC 7959)

None of the rules have changed from RFC 7959.
I’m not sure I understand what a possible interpretation could be that would raise a question here.

Grüße, Carsten

smolboarm commented 7 years ago

Ok, then this is not an issue, we should just follow same rules as for block transfers.

May be I overestimated problem, because some people around thought that BERT is kind of replacement, not an extension for block transfers, after brief reading of specification. May be it would be nice to add some text, that block reduction size should follow rules from section 2.5 of RFC 7959, to force developers to pay attention to this case.