Subject: [Netconf] with-defaults.yang

From: Andy Bierman <[email-masked]>
Date: Tue, 24 Feb 2009 10:24:45 -0800

Hi,

I think the attached YANG module is closer to the syntax
that Phil and others expected for the <with-defaults> leaf,
than the current draft.

I prefer that the new leaf be defined in one specific
XML namespace.  The text about "if no namespace is used,
then the agent MUST accept it anyway" contradicts the
XML standard, which NETCONF must follow. (2.5, para 4)

Andy

module with-defaults {

    namespace "TBD-by-IANA-with-defaults";
    prefix "wd";

    import netconf {
        prefix nc;
    }

    organization
        "Network Configuration Working Group";

    contact
     "WG Web:   <http://tools.ietf.org/wg/netconf/>
      WG List:  <mailto:[email-masked]>

      WG Chair: Bert Wijnen
                <mailto:[email-masked]>

      WG Chair: Mehmet Ersue
                <mailto:[email-masked]>

      Editor:   Andy Bierman
                <mailto:[email-masked]>

      Editor:   Balazs Lengyel
                <mailto:[email-masked]>";

    description
        "YANG version of with-defaults data model.";

    revision 2009-02-24 {
        description "Initial version.";
    }

    grouping WithDefaults {
       leaf with-defaults {
         description 
           "With default agent behavior:
             - false: default data SHOULD NOT be returned.
             -  true: all default data MUST be returned.
            If not present, then the 'with-defaults' behavior
            is implementation-dependent.";
          type boolean;
       }
    }

    augment "/nc:get/nc:input" {
      uses WithDefaults;
    }

    augment "/nc:get-config/nc:input" {
      uses WithDefaults;
    }

    augment "/nc:copy-config/nc:input" {
      uses WithDefaults;
    }

}

---

From: Phil Shafer <[email-masked]>
Date: Tue, 24 Feb 2009 13:55:43 -0500

>    augment "/nc:copy-config/nc:input" {

Does this conflict with the existing NETCONF idea that copy-config
does a higher-level datastore-oriented copy, rather than one that
inspects the configuration nodes?  I can't find this idea called
out strongly enough in the RFC to matter, but I recall the idea was
that copy-config did a copy without regard for the content.  Does
this idea still exist?

Thanks,
 Phil

---

From: Andy Bierman <[email-masked]>
Date: Tue, 24 Feb 2009 11:24:42 -0800

> that copy-config did a copy without regard for the content.  Does

AFAIK, the only mandatory copy-config operation is
from <running/> to <startup/>, if :startup is supported.
I think with-defaults applies in that situation.

I agree with you (in this case and in general)
that 'feature-creep' seems to occur to NETCONF sometimes.
It was never the intent the the target of a <copy-config>
be a standard database, in any other use case except :startup.
Without :url or :startup capabilities, there is nothing
mandatory to support for <copy-config>.

Andy

---

From: Balazs Lengyel <[email-masked]>
Date: Thu, 26 Feb 2009 09:51:43 +0100

Hello Andy,

> XML standard, which NETCONF must follow. (2.5, para 4)

BALAZS: OK I will remove the sentence "if no namespace ..."
Otherwise I think your YANG is the same as what the current text and the XSD describe. Do you 
see any difference?

We could include the YANG as a non-normative appendix. The reason I would rather not do this is 
that there is no official/semi-official YAM for the Netconf XSD.

Balazs

---

From: Balazs Lengyel <[email-masked]>
Date: Thu, 26 Feb 2009 09:53:40 +0100

Hello Phil,
Could you please give some examples where the datastore oriented and the node-inspecting 
copy-configs would lead to different results?
Balazs

---

From: Andy Bierman <[email-masked]>
Date: Thu, 26 Feb 2009 10:46:33 -0800

Balazs Lengyel wrote:
> Otherwise I think your YANG is the same as what the current text and the 
> XSD describe. Do you see any difference?
> 

no, that is it.

> We could include the YANG as a non-normative appendix. The reason I 
> would rather not do this is that there is no official/semi-official YAM 
> for the Netconf XSD.
> 

The syntax specification is problematic either way.

The NETCONF XSD does not support the additions needed,
so it must be edited, which has to wait for 4741-bis.

The netconf.yang module is non-normative, but so
is with-defaults.yang, so that's OK.  But
it doesn't help, because a normative syntax is
still needed.  I do not want the with-defaults RFC
cut-and-pasting the entire NETCONF XSD to add a leaf in 3 places.

This issue (adding parameters to existing operations)
is likely to keep coming up over the years so I suggest
the WG figures out a way to deal with it.

Andy