RE: DRAFT Montreal minutes - X#NodeArchitecture comments
Paul Koning <[email protected]>
| Newsgroups | gmane.ietf.ips |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Mallikarjun" == Mallikarjun C <[email protected]> writes: Mallikarjun> Hi Ken, Can you please point me to RFC 3720 text that Mallikarjun> says NotUnderstood is always an error? Mallikarjun> The closest I can find is in section 5.2, page 55: Page 54, second paragraph: The constants "None", "Reject", "Irrelevant", and "NotUnderstood" are reserved and MUST ONLY be used as described here. Violation of this rule is a protocol error (in particular the use of "Reject", "Irrelevant", and "NotUnderstood" as proposed values). "as described here" is as responses to negotiating keys. The text already explicitly disallows their use as proposals. A declaration isn't exactly the same as a proposal, but it certainly isn't a reply to a proposal, so by the above text "NotUnderstood" is prohibited. The 3720 bug is this: an implementation that doesn't understand a key doesn't know whether that key is declarative or negotiated. If it assumes the latter it would have to reply NotUnderstood. If in fact it was a declarative key then by the current text that's a protocol violation. A good way to fix this is to add two rules: 1. If a key is not understood, it is assumed to be a negotiation key (and a NotUnderstood reply must be sent). 2. If a declarative key is sent, and a reply is received from the other end with that key and a value of NotUnderstood, this is a protocol violation only if the key is required to be implemented. If it was not required (i.e., X# keys) then a NotUnderstood reply must be silently ignored. paul _______________________________________________ Ips mailing list [email protected] https://www1.ietf.org/mailman/listinfo/ips