Subject: [netmod] Adveritzing submodule in <hello>

From: Ram Polisetty Subbaiah <[email-masked]>
Date: Tue, 20 Oct 2020 11:55:11 +0000

Hi,

As per RFC 6020:

===
https://tools.ietf.org/html/rfc6020#section-5.6.4.1   Modules
   Servers indicate the names of supported modules via the <hello>
   message.  Module namespaces are encoded as the base URI in the
   capability string, and the module name is encoded as the "module"
   parameter to the base URI.

   A server MUST advertise all revisions of all modules it implements.

   For example, this <hello> message advertises one module "syslog".

   <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <capability>
       http://example.com/syslog?module=syslog&amp;revision=2008-04-01
     </capability>
   </hello>
===

My question is, if there are some submodules, should server advertise
the submodules also in <hello>?
If so, what is the defined format for advertising the same?

Thanks,
Ram

Juniper Business Use Only

---

From: Martin Björklund <[email-masked]>
Date: Tue, 20 Oct 2020 16:04:21 +0200 (CEST)

> the submodules also in <hello>?

No.

Note that module advertisement is done through YANG library in YANG
1.1 (RFC 7950).  Submodules are present in the YANG library (RFC
8525).

/martin

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

---

From: Ram Polisetty Subbaiah <[email-masked]>
Date: Tue, 20 Oct 2020 14:22:22 +0000

Thanks Martin,

One more follow up question:

If in case both Client and Server are compatible only with Yang 1.0, how client/server are supposed to
handle capabilities advertisement for submodules? By any chance is it a limitation in 1.0?

Thanks,
Ram

On 20/10/20, 7:34 PM, "Martin Björklund" <[email-masked]<mailto:[email-masked]>> wrote:

[External Email. Be cautious of content]

Ram Polisetty Subbaiah <ramas=[email-masked]<mailto:ramas=[email-masked]>> wrote:
Hi,

As per RFC 6020:

===
https://urldefense.com/v3/__https://tools.ietf.org/html/rfc6020*section-5.6.4.1__;Iw!!NEt6yMaO-gk!ViE3k69OOP_eUBbCYJQj30wOp5eFP5wV5Bex288dxmJ2T--9Z1TTLAk4tCUc3Q$<https://urldefense.com/v3/__https:/tools.ietf.org/html/rfc6020*section-5.6.4.1__;Iw!!NEt6yMaO-gk!ViE3k69OOP_eUBbCYJQj30wOp5eFP5wV5Bex288dxmJ2T--9Z1TTLAk4tCUc3Q$>    Modules

    <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
      <capability>
        https://urldefense.com/v3/__http://example.com/syslog?module=syslog&amp;revision=2008-04-01__;!!NEt6yMaO-gk!ViE3k69OOP_eUBbCYJQj30wOp5eFP5wV5Bex288dxmJ2T--9Z1TTLAmPyrVZPQ$<https://urldefense.com/v3/__http:/example.com/syslog?module=syslog&amp;revision=2008-04-01__;!!NEt6yMaO-gk!ViE3k69OOP_eUBbCYJQj30wOp5eFP5wV5Bex288dxmJ2T--9Z1TTLAmPyrVZPQ$>
      </capability>
    </hello>
===

No.

/martin

Thanks,
Ram

Juniper Business Use Only
_______________________________________________
netmod mailing list
[email-masked]<mailto:[email-masked]>
https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/netmod__;!!NEt6yMaO-gk!ViE3k69OOP_eUBbCYJQj30wOp5eFP5wV5Bex288dxmJ2T--9Z1TTLAlL7Ma5-A$<https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/netmod__;!!NEt6yMaO-gk!ViE3k69OOP_eUBbCYJQj30wOp5eFP5wV5Bex288dxmJ2T--9Z1TTLAlL7Ma5-A$>

---

From: Martin Björklund <[email-masked]>
Date: Tue, 20 Oct 2020 16:28:45 +0200 (CEST)

Hi,

> handle capabilities advertisement for submodules? By any chance is it

If the module uses include-by-revision (which it should ;-) then both
sides know which revisions of the submodules a given revision of the
module refers to.

In any case, a server that implements YANG 1 can implement YANG
library revision 2016-06-21, which includes info about the submodules.

/martin

> 
> Thanks,
> Ram
> 
> On 20/10/20, 7:34 PM, "Martin Björklund"
> <[email-masked]<mailto:[email-masked]>> wrote:
> 
> Ram Polisetty Subbaiah
> <ramas=[email-masked]<mailto:ramas=[email-masked]>>
> wrote:
> Hi,
> 
> As per RFC 6020:
> 
> ===

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Tue, 20 Oct 2020 18:49:30 +0200

> library revision 2016-06-21, which includes info about the submodules.

Perhaps a bit of extra information: The <hello> exchange can get very
long on systems that support many modules and not every client needs
the complete module list every time a connection is (re-)established.
This is why the recommendation is to use the YANG library wherever
possible, it scales better than the orignal <hello> exchange design
and it is more flexible.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>