Hi Kent,

On 11/01/2016 20:59, Kent Watsen wrote:
Hi Benoit,


You use MUST, SHOULD, MAY, and you refer to RFC 2119. Fine.
However, it might be beneficial to say something such as in RFC 7698

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    document are to be interpreted as described in [RFC2119].

    While [RFC2119] describes interpretations of these key words in terms
    of protocol specifications and implementations, they are used in this
    document to describe design requirements for protocol extensions.
Is this needed?  Looking at RFC2119, I don’t read it as being very particular 
about the context it’s terms are used in.

Additionally, other requirements docs use RFC2119 without any such a paragraph 
(e.g., RFC7698, RFC7497, RFC7449, etc.)...


Btw, I never quite understood what a MAY means for a requirement.
See requirement 2B and 2C
For 2B, would you rather is be a SHOULD?
For 2C, would you rather this be a “may”?

I think that the text for 2A would be more clear using MUST rather than may (in the sense that a compliant server must choose one of the three options listed).

Before:

       A.  A server may support only synchronous configuration
           operations, or only asynchronous configuration operations, or
           both synchronous and asynchronous configuration operations on
           a client-specified per-operation basis.


After:

       A.  A server MUST support only synchronous configuration
           operations, or only asynchronous configuration operations, or
           both synchronous and asynchronous configuration operations on
           a client-specified per-operation basis.


For 2B, I agree changing MAY to SHOULD but we should broaden this to apply to synchronous servers as well. Even though a config edit operation is synchronous it could still fail to be applied for some leaves, and hence the intended and applied leaves could be out of step. Hence I propose the following change:

Before:

       B.  Servers that support asynchronous configuration operations
           MAY also provide a verify operation that a client can request
           from the server to return information regarding the
           difference between the intended and applied configurations.


After:

       B.  Servers SHOULD also provide a verify operation that a client
           can request from the server to return information regarding the
           difference between the intended and applied configurations.


For 2C, I think that the "may" should change to "SHOULD", otherwise the requirement that "rollback on error" semantics SHOULD be provided doesn't seem well grounded.

So, before:

       C.  The configuration protocol MUST specify how configuration
           errors are handled.  Errors MAY be handled by semantics
           similar to NETCONF's error-options for the <edit-config>
           operation (stop-on-error, continue-on-error, rollback-on-
           error), as described in Section 7.2 in [RFC6241], but
           extended to incorporate both the intended and applied
           configurations.  Support for "rollback on error" semantics
           SHOULD be provided.

After:

       C.  The configuration protocol MUST specify how configuration
           errors are handled.  Errors SHOULD be handled by semantics
           similar to NETCONF's error-options for the <edit-config>
           operation (stop-on-error, continue-on-error, rollback-on-
           error), as described in Section 7.2 in [RFC6241], but
           extended to incorporate both the intended and applied
           configurations.  Support for "rollback on error" semantics
           SHOULD be provided.


Thanks,
Rob


FWIW, the other requirements docs listed above also use "MAY" in some of their 
“requirements"


Kent


_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to