On Wed, Oct 5, 2016 at 3:54 AM, Balázs Lengyel <[email protected]>
wrote:

> PYANG does much of what you request if you ask for a tree, jstree output.
> It probably could create a yang output with some work.
>
> Balazs
>
>


>
>
You misunderstood my comment.
We have tools that can regenerate the YANG as well. That is not that hard.
But the type-stmt MUST be evaluated in the original document.
The patched module has a different set of prefix-to-import bindings,
so compiling the patched module may not work.



Andy




> *From:* Andy Bierman [mailto:[email protected]]
> *Sent:* Tuesday, 04 October, 2016 18:56
> *To:* Balázs Lengyel <[email protected]>
> *Cc:* [email protected]
> *Subject:* Re: [netmod] deviation-stmt (7.20.3)
>
>
>
>
>
>
>
> On Fri, Sep 30, 2016 at 9:01 AM, Balazs Lengyel <
> [email protected]> wrote:
>
> My biggest problem with deviations is that a number of things can not be
> deviated:
>
>    - description
>    - reference
>
>
>
>
>
> This does seem quite useful.
>
> I wonder why it got left out.
>
>
>
> The way deviations work is rather counter-intuitive to those of us who
> think
>
> of deviations as source code patches.  Almost all deviations are source
> code patches,
>
> except type-stmt, and some default-stmt replacements.
>
>
>
> It would be nice if a YANG tool could process all the deviations
> advertised by the server
>
> and produce a set of valid "deviated modules" which could then be fed to a
> YANG compiler
>
> that did not support deviations.  This is non-trivial and not always
> possible, because of the type-stmt
>
> and possible import loops.
>
>
>
>
>
> Regards Balazs
>
>
>
>
>
> Andy
>
>
>
> On 2016-09-30 00:22, Andy Bierman wrote:
>
> Hi,
>
>
>
> The deviation section has a lot of fluff text about how bad deviations are,
>
> but very little text on how to process the "deviate" statement correctly.
>
>
>
> The text is not clear if the statements altered in the target module
>
> are semantic patches or syntactic patches.  Are the sub-statements
>
> of the deviate-stmt fully processed in the scope of the deviation module
>
> or in the scope of the target module? In this example, is the type-stmt
>
> resolved in A or dev-A?
>
>
>
> Similar issues for deviating a default for an identityref.
>
>
>
>
>
>   module A {
>
>     namespace "...";
>
>     prefix a;
>
>     // no imports!
>
>
>
>     leaf foo {
>
>        type string;
>
>      }
>
>
>
>     leaf bar {
>
>        type string;
>
>      }
>
>
>
>     leaf baz {
>
>        type string;
>
>      }
>
>   }
>
>
>
>   module A-dev {
>
>     ...
>
>     import A { prefix a; }
>
>     import C { prefix c; }
>
>     import ietf-interfaces { prefix if; }
>
>
>
>     // variant 1: inline leafref but module A does not import path module
>
>     deviation /a:foo {
>
>        deviate replace {
>
>           type leafref {
>
>                base /c:modules/c:module/c:name;
>
>            }
>
>         }
>
>      }
>
>
>
>
>
>    // variant 2: imported typedef but module A does not import it
>
>     deviation /a:bar {
>
>        deviate replace {
>
>           type if:interface-ref;
>
>         }
>
>      }
>
>
>
>
>
>     // variant 3: local typedef but module A cannot import it (circular
> imports)
>
>     typedef mystring {
>
>         type string { length "1..10"; }
>
>     }
>
>
>
>     deviation /a:baz {
>
>        deviate replace {
>
>           type mystring;
>
>         }
>
>      }
>
>   }
>
>
>
>
>
> Andy
>
>
>
>
>
> _______________________________________________
>
> netmod mailing list
>
> [email protected]
>
> https://www.ietf.org/mailman/listinfo/netmod
>
>
>
> --
>
> Balazs Lengyel                       Ericsson Hungary Ltd.
>
> Senior Specialist
>
> Mobile: +36-70-330-7909              email: [email protected]
>
>
>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to