Hi,

Andy Bierman <[email protected]> wrote:
> 1.1
> 
> It does not mention:
>   - multiple import-stmt for the same module now allowed
>  - description-stmt and reference-stmt now allowed in
>     import-stmt and include-stmt
> 
> (There are no examples of any of the above changes)

Ok, fixed, including one example of a reference:

    import ietf-yang-types {
      prefix "yang";
      reference "RFC 6991: Common YANG Data Types";
    }


> 5.1:
> 
>    o  A module MUST include all its submodules.
> 
> 
> This is not 100% correct.
> A module MUST include one revision of all its submodules.
> This includes a submodule with all obsolete definitions I guess.

I don't understand what you mean.  Do you have a concrete proposal?

> 7.1.6
> 
> It does not say what happens if a nested submodule includes-by-revision
> a different revision that the parent module.
> 
>   Multiple revisions of the same submodule MUST NOT be included.
> 
> 
> It is not clear that this applies to all include-stmt for the same module
> 
> 
>   module A {
>     include A1 {
>        revision-date 2016-01-01;
>     }
>     include A2;
>     include A3;
>   }
> 
>   submodule A1 { ... }
> 
>   submodule A2 {
>      include A1;   // which revision is included if no date? conflict w/
> module?
>   }
> 
>  submodule A3 {
>      include A1 {
>          revision-date 2015-01-01;   // this is an error, right?
>      }
>   }

I suggest:

OLD:

  For backward compatibility with YANG version 1, a submodule is
  allowed to use the "include" statement to reference other submodules
  within its module, but this is not necessary in YANG version 1.1.  A
  submodule can reference any definition in the module it belongs to
  and in all submodules included by the module.


NEW:

  For backward compatibility with YANG version 1, a submodule is
  allowed to use the "include" statement to reference other submodules
  within its module, but this is not necessary in YANG version 1.1.  A
  submodule can reference any definition in the module it belongs to
  and in all submodules included by the module.  A submodule MUST NOT
  include different revisions of other submodules than the revisions
  that its module includes.


> 9.12
> 
> It doesn't say what happens when a union containing a leafref
> or instance-identifier becomes invalid or changes member types.
> Is this just a server implementation detail? Is should at least be clear
> a valid union leaf/leaf-list applies to a valid datastore
> (e.g. running, not candidate).

How this is handled internally is an implementation detail.  But if
you have a union between a leafref to a string leaf and an int32, and
the referenced string doesn't exist, the config is invalid.  However,
if you have a union between a leafref to a string and a string, and
the referenced string doesn't exist, the config is valid (since the
value matches the next type in the union).


/martin

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to