Subject: [core] draft-ietf-core-coap-09 - Critical options with default values

From: Klaus Hartke <[email-masked]>
Date: Wed, 11 Apr 2012 06:34:05 +0200

Here's a fun question:

Take an option that is defined both to be 'critical'  and to have a
default value. For example, Token, Uri-Host or Block2.

How does a recipient that does not recognize the option know the
default value if the option is not present in a message?

'Critical' means 'this message makes no sense if you don't recognize
this option'. Consequently, if the option is not present, it is
critical that the recipient knows and understands the default value,
otherwise the message makes no sense.

Klaus

---

From: Carsten Bormann <[email-masked]>
Date: Wed, 11 Apr 2012 07:52:26 +0200

> default value if the option is not present in a message?

When defining a critical option with a default value, the default value has to be chosen such that this situation works right.

> otherwise the message makes no sense.

Exactly.
So the default value needs to be chosen such that an endpoint that does not implement the option does the right thing.

This requirement on new critical options with default values seems rather obvious to me.
Do you think that we need to expend additional text?

Grüße, Carsten

---

From: Klaus Hartke <[email-masked]>
Date: Wed, 11 Apr 2012 20:25:58 +0200

> Do you think that we need to expend additional text?

Section 11.2 [1] includes guidelines for the review process that
applies to future option number requests.

If we can give objective guidelines for deciding if a critical option
with a default value does "the right thing", we should do it.

Klaus

[1] http://tools.ietf.org/html/draft-ietf-core-coap-09#section-11.2

---

From: Carsten Bormann <[email-masked]>
Date: Thu, 12 Apr 2012 00:55:16 +0200

> applies to future option number requests.

Yes, but the IANA considerations are rarely a good place to introduce a concept (here: backwards compatibility of default values for new critical options).

5.4.3 is not such a great place for this discussion either.  Hmm.

Still better to capture this.

> with a default value does "the right thing", we should do it.

Yes.  Now #207.

Grüße, Carsten