Return-Path: <ietf.dmytro@shytyi.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id 67DD01200FD;
 Tue, 22 Oct 2019 14:42:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
 header.d=shytyi.net
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xcB2eN7Ydy4P; Tue, 22 Oct 2019 14:42:55 -0700 (PDT)
Received: from sender11-of-o52.zoho.eu (sender11-of-o52.zoho.eu
 [185.20.211.238])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 17C4F1200FB;
 Tue, 22 Oct 2019 14:42:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1571780564; cv=none; d=zohomail.eu; s=zohoarc; 
 b=a6JaiEfemg/3/NGoXkeYVQYy82brBT3p3z6Qr92e2U/er27uhouctxsHHoi1tFe98EO6V2ScEQKRS7mAjeDJMuQ2gRORn+Rwnkx8k49hwpt5i4opkfrUG1Kj+9wlwP3qJ/SX8FPQ03w72hK3wgFhFYeLgixF7SCphlGcYYjwiAA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1571780564;
 h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results;
 bh=TyG/7D5qQrFVqbQMa0eaha7R9/P0Zf6TUAr7hQWaNMU=; 
 b=KS7tE2P9DwLAQOhivSyhpBuAZ8ZmXDDWiRoh4YdiklYZKrB+DWCqTL4ykZqLwOCes4e3HFoREhB2i9kT7rDTm6iJlvhsEumvJ3HnPtef0e/A5lxiCoOPMRxQDIqcjdL+rSIvVXh8Hn1HStNelZ1O/h8UecbROVeUKUILLLJBU48=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=shytyi.net;
 spf=pass  smtp.mailfrom=ietf.dmytro@shytyi.net;
 dmarc=pass header.from=<ietf.dmytro@shytyi.net>
 header.from=<ietf.dmytro@shytyi.net>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1571780564; 
 s=hs; d=shytyi.net; i=ietf.dmytro@shytyi.net;
 h=Date:From:To:Cc:Message-Id:In-Reply-To:References:Subject:MIME-Version:Content-Type;
 l=42859; bh=TyG/7D5qQrFVqbQMa0eaha7R9/P0Zf6TUAr7hQWaNMU=;
 b=HibSrmT/c5GrPWiR9EJYQh6qh71tfOujfHDs7Ej27SQ7WPc9z8p56so+p0s2nKmC
 GhDQA2zzq3hsn5qj7spPTzmD8rEnROEv3f78R75h9HO7XhCa75ZYhlMFh4tfXz+M+0m
 uKdwr8yDGLQ6WSM9807Vdy+x3Obxj8SJLajxgnMU=
Received: from mail.zoho.eu by mx.zoho.eu
 with SMTP id 1571780564112127.56383192439819;
 Tue, 22 Oct 2019 23:42:44 +0200 (CEST)
Date: Tue, 22 Oct 2019 23:42:44 +0200
From: Dmytro Shytyi <ietf.dmytro@shytyi.net>
To: =?UTF-8?Q?=22Sch=C3=B6nw=C3=A4lder=2C_J=C3=BCrgen=22?=
 <J.Schoenwaelder@jacobs-university.de>
Cc: "Martin Bjorklund" <mbj@tail-f.com>, "netmod" <netmod@ietf.org>,
 "opsawg" <opsawg@ietf.org>
Message-Id: <16df56c1488.12bf5b05d97805.101466112881248875@shytyi.net>
In-Reply-To: <20191022204302.5me6qb65f3zkrqad@anna.jacobs.jacobs-university.de>
References: <8736fmtk3d.fsf@nic.cz>
 <20191021.134014.40553165389352172.mbj@tail-f.com>
 <039001d588c2$bb3d7e20$4001a8c0@gateway.2wire.net>
 <20191022.133131.983827662033885262.mbj@tail-f.com>
 <16df50844b1.bbb67c6096091.5644334168758722892@shytyi.net>
 <20191022200554.dt6x57eksvqbvngj@anna.jacobs.jacobs-university.de>
 <16df527b509.f1eff96d96574.7542135600963858099@shytyi.net>
 <20191022204302.5me6qb65f3zkrqad@anna.jacobs.jacobs-university.de>
MIME-Version: 1.0
Content-Type: multipart/alternative; 
 boundary="----=_Part_275998_583245835.1571780564105"
X-Priority: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/O83ltT8DCB063rDFOUu__Re910g>
Subject: Re: [netmod] [OPSAWG]  draft-shytyi-opsawg-vysm-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>,
 <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>,
 <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Oct 2019 21:42:58 -0000

------=_Part_275998_583245835.1571780564105
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello,





>[since you sent the same email to two WGs, I have added both to Cc in=C2=
=A0

>this reply. i don't think we should have parallell discussions in=C2=A0

>different MLs]=C2=A0



Dmytro Shytyi <mailto:ietf.dmytro@shytyi.net> wrote:=C2=A0

> Hello Jurgen,=C2=A0

>=C2=A0

>=C2=A0

>=C2=A0

> Thank you for your comment,=C2=A0

>=C2=A0

>=C2=A0

>=C2=A0

> Yeap I think it is a great idea to explain why do we need the adjustments=
=C2=A0 of RFC 8343 in the case of=C2=A0draft-shytyi-opsawg-vysm-04.=C2=A0

>=C2=A0

>=C2=A0

>=C2=A0

> What do you think about this:=C2=A0

>=C2=A0

> 1. uCPE phy interface has "vPorts" to witch "vLinks are=C2=A0

> assigned". "vLinks "connect" the phy interface with=C2=A0 "vPort" of=C2=
=A0

> vswitch. Thus we may add to the derieved from RFC 8343 module the=C2=A0

> list of "vPorts" for each phy interface.=C2=A0



>>You should use "augment" if you want to add additional nodes to an=C2=A0

>>existing module.=C2=A0



[Dmytro] Yes I agree, it is exatly what we did in the=C2=A0=C2=A0draft-shyt=
yi-opsawg-vysm-04. We augmented "vPorts" to the interfaces :)

The same "augment i think it could be appropriate to use in the derived mod=
ule from "ietf-interfaces" (RFC 8343) to agment the yang model "ietf-ucpe"



> example with 1 phy interface:=C2=A0

>=C2=A0

>=C2=A0

>=C2=A0

> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+-------------------------------------=C2=
=A0

>=C2=A0

> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 UCPE=C2=A0

>=C2=A0

> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 +---------=
---+=C2=A0

>=C2=A0

> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |------vPort 1---vlink---(vpo=
rt_sw)vswitch(vport_sw)--vlink---.....----WAN=C2=A0

>=C2=A0

> LAN----|=C2=A0 =C2=A0Phy=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=
------vPort 2=C2=A0

>=C2=A0

> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =
=C2=A0interface=C2=A0 =C2=A0 =C2=A0|=C2=A0

>=C2=A0

> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+-------------+=C2=A0

>=C2=A0

> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0

>=C2=A0

> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+-----------------------------------------=
-----=C2=A0

>=C2=A0

> 2. If we include the yang module from the RFC 8343 to the set of yang mod=
els by default it goes in the root of config mode. i.e:=C2=A0

>=C2=A0

> EXAMPLE:=C2=A0

>=C2=A0

> config t=C2=A0

>=C2=A0

> =C2=A0 =C2=A0 =C2=A0 interfaces interface....=C2=A0

>=C2=A0

>=C2=A0

>=C2=A0

> When we have a parent module we need to place the RFC 8343 module to unde=
r the parent module (like in the draft=C2=A0draft-shytyi-opsawg-vysm-04).=
=C2=A0=C2=A0





>Have you looked at the models in RFC 8529 and RFC 8530? Perhaps you=C2=A0

>can use them, rather than creating another special module for this=C2=A0

>particular use case?=C2=A0



[Dmytro] Thank you for this suggestion, @Martin.



I can imagine that we could=C2=A0 assing "ietf-interfaces" to VSI as descri=
bed in the RFC 8529. @Martin, looging the schema of yang models for rfc 852=
9(below) can we assign more than one (>1) LNE to the interface (both for rf=
c 8529 and 8530)?

In the uCPE usecase you may have multiple swithes assigned to the same port=
.



+--rw network-instances
        +--rw network-instance* [name]
           +--rw name           string
           +--rw enabled?       boolean
           +--rw description?   string
           +--rw (ni-type)?
           +--rw (root-type)
              +--:(vrf-root)
              |  +--mp vrf-root
              +--:(vsi-root)
              |  +--mp vsi-root
              +--:(vv-root)
                 +--mp vv-root



   module: ietf-interfaces
      +--rw interfaces
      |  +--rw interface* [name]
      |     +--rw name                        string
      |     +--rw ip:ipv4!
      |     |  +--rw ip:enabled?                      boolean
      |     |  +--rw ip:forwarding?                   boolean
      |     |  +--rw ip:mtu?                          uint16
      |     |  +--rw ip:address* [ip]
      |     |  |  +--rw ip:ip               inet:ipv4-address-no-zone
      |     |  |  +--rw (ip:subnet)
      |     |  |     +--:(ip:prefix-length)
      |     |  |     |  +--rw ip:prefix-length?   uint8
      |     |  |     +--:(ip:netmask)
      |     |  |        +--rw ip:netmask?         yang:dotted-quad
      |     |  +--rw ip:neighbor* [ip]
      |     |  |  +--rw ip:ip                  inet:ipv4-address-no-zone
      |     |  |  +--rw ip:link-layer-address yang:phys-address
      |     |  +--rw ni:bind-network-instance-name?   string
      |     +--rw ni:bind-network-instance-name?   string




/martin=C2=A0










On Tue, Oct 22, 2019 at 10:28:03PM +0200, Dmytro Shytyi wrote:=20
>=20
> Cut and paste to change the 'nesting' is _not_ proper usage of=20
> YANG. The value of YANG is that objects with the same semantics are=20
> predictable, this gives you interoperability. By copying modules to=20
> other places (and tweaking semantics), you break the interoperability=20
> promise.=20
>=20
> /js=20
>=20
>=20
> [Dmytro].=20
>=20
> I find the task much easier if we could just augment the interfaces modul=
e without changing it. I see it the next way . The "ietf-interfaces" yang m=
odule initially was created=C2=A0 for the config, when you have:=20
>=20
> config t=C2=A0=20
>=20
> =C2=A0 =C2=A0 =C2=A0 interfaces interface ...=20
>=20
> Here we have different condition of "nesting"... when module "ucpe-ietf-i=
nterfaces" (not "ietf-interfaces") shout augment another module ("ietf-ucpe=
")=20
>=20
>=20
>=20
> We augment vPorts to phy interfaces.=20
=20
>I do not understand your explanation. The ietf-interfaces hierarchy can=20
>be found on page 5 of RFC 8343. You can augment additional nodes into=20
>it.


[Dmytro] Yes=C2=A0 we can augment additional nodes into "ietf-interfaces" i=
t is what we do in the=C2=A0draft-shytyi-opsawg-vysm-04 :


augment "/ietf-nfv:ucpe/ietf-if:interfaces/ietf-if:interface" {
       list ports {
         key "port";
         leaf port {
           type string;
           description
             "Name of the connector";
         }



We wold like to have this:

module: ietf-ucpe
+--rw ietf-ucpe:ucpe* [name]
   +--rw ietf-ucpe:Name              string
   |
   +--rw ucpe-if:interfaces

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ....





> >Cut and paste to change the 'nesting' is _not_ proper usage of=20
>=20
> YANG.=20
>=20
> [Dmytro]=20
>=20
> If I understood correctly I can't just derive the parts from the exisitin=
g module=C2=A0 (by referencing them) to the new module.=20
>=20
=20
I have no idea what you mean with "(by referencing them) to the new=20
module". You can of course refer to definitions in ietf-interfaces.=20
=20
> So I have two questions:=20
>=20
> If i cant derive the parts from existing module while creating a new, how=
 to address this issue(when we want "ucpe-ietf-interfaces" to augment "ietf=
-ucpe"). Could you suggest something?=20
>I likely do not understand but you can of course augment=20
>ietf-interfaces with additional nodes that refer to ietf-ucpe=20
>definitions if that is what you are looking for.


[Dmytro] Yes we can augment the "ietf-interfaces" with new modules. Hovewer=
 in the=C2=A0draft-shytyi-opsawg-vysm-04 we are looking to augment module "=
ietf-ucpe" with modified "ietf-interfaces".=C2=A0 Example

SCHEME #1

module: ietf-ucpe
+--rw ietf-ucpe:ucpe* [name]
   +--rw ietf-ucpe:Name              string
   |
   +--rw ucpe-if:interfaces

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ....



To have a result similar to the scheme#1 (above) we derived the "ietf-inter=
faces" to "ietf-ucpe-interfaces". And "ietf-ucpe-interfaces" was modified (=
ex. with augment statement,etc..):

module ietf-ucpe-interfaces {
         import ietf-ucpe { prefix ietf-vysm; }
         ...
         augment "/ietf-vysm:ucpe"{
               container interfaces {
                     description "Interface parameters.";
                     list interface {
                     ...
                     }
         }
   }



If i cant derive the parts from existing module (ietf-interfaces) while cre=
ating a new("ietf-ucpe-interfaces) how we can get the result similar to sch=
eme#1?

Could you suggest something?=20
=20
> So the=C2=A0 here I have a question: How we will resolve the leafref in t=
he=C2=A0draft-shytyi-opsawg-vysm-04. if we will not do the augmentation of =
"ietf-ucpe" in the ""ucpe-ietf-interfaces?=20
>=20
> augment "/ietf-nfv:ucpe/ietf-if:interfaces/ietf-if:interface" {=20
>        list ports {=20
>          key "port";=20
>          leaf port {=20
>            type string;=20
>            description=20
>              "Name of the connector";=20
>          }=20
>          leaf link {=20
>            type leafref {=20
>              path "../../../../ietf-nfv:links/ietf-nfv:link";=20
>            }=20
>            description=20
>              "Link that is connected to the port=20
>               via connector";=20
>          }=20
>          description=20
>            "Set of the connectors the physical=20
>             interface has";=20
>        }=20
>        description=20
>          "ucpe ports of the interface";=20
>      }=20
>    }=20
=20
>I think it is possible to have a path contraint on a leafref that=20
>refers to definitions in other modules (see the ABNF definition=20
>path-arg which resolves to absolute-path and relative-path and=20
>descendant-path and in there you find node-identifier which can carry=20
>an optional prefix that allows to refer to definitions in other=20
>namespaces).=20




/js=20
=20
--=20
Juergen Schoenwaelder           Jacobs University Bremen gGmbH=20
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany=20
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
------=_Part_275998_583245835.1571780564105
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>=
<meta content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type"></h=
ead><body ><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif=
; font-size: 10pt;"><div>Hello,<br></div><div><br></div><div><br></div><div=
><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><s=
pan class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" styl=
e=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;[s=
ince you sent the same email to two WGs, I have added both to Cc in<span>&n=
bsp;</span></span></span></span></span><br></div><div><span class=3D"highli=
ght" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" s=
tyle=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"=
><span class=3D"size" style=3D"font-size:14px">&gt;this reply. i don't thin=
k we should have parallell discussions in<span>&nbsp;</span></span></span><=
/span></span><br></div><div><span class=3D"highlight" style=3D"background-c=
olor:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)=
"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" styl=
e=3D"font-size:14px">&gt;different MLs]<span>&nbsp;</span></span></span></s=
pan></span><br></div><div><br></div><div><span class=3D"highlight" style=3D=
"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color=
:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=
=3D"size" style=3D"font-size:14px">Dmytro Shytyi &lt;</span></span></span><=
/span><a href=3D"mailto:ietf.dmytro@shytyi.net" target=3D"_blank" style=3D"=
color: rgb(89, 143, 222); cursor: pointer; font-family: Lato; font-size: 14=
px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: =
normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: s=
tart; text-indent: 0px; text-transform: none; white-space: normal; widows: =
2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb=
(255, 255, 255);">ietf.dmytro@shytyi.net</a><span class=3D"highlight" style=
=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"co=
lor:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span cla=
ss=3D"size" style=3D"font-size:14px">&gt; wrote:<span>&nbsp;</span></span><=
/span></span></span><br></div><div><span class=3D"highlight" style=3D"backg=
round-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0=
, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"siz=
e" style=3D"font-size:14px">&gt; Hello Jurgen,<span>&nbsp;</span></span></s=
pan></span></span><br></div><div><span class=3D"highlight" style=3D"backgro=
und-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, =
0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size"=
 style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span></span></spa=
n><br></div><div><span class=3D"highlight" style=3D"background-color:rgb(25=
5, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span cla=
ss=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-s=
ize:14px">&gt;<span>&nbsp;</span></span></span></span></span><br></div><div=
><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><s=
pan class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" styl=
e=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<s=
pan>&nbsp;</span></span></span></span></span><br></div><div><span class=3D"=
highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"col=
our" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family=
:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; Thank you for you=
r comment,<span>&nbsp;</span></span></span></span></span><br></div><div><sp=
an class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span =
class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D=
"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<span>=
&nbsp;</span></span></span></span></span><br></div><div><span class=3D"high=
light" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour"=
 style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lat=
o"><span class=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</span></s=
pan></span></span></span><br></div><div><span class=3D"highlight" style=3D"=
background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:=
rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=
=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span></s=
pan></span><br></div><div><span class=3D"highlight" style=3D"background-col=
or:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">=
<span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=
=3D"font-size:14px">&gt; Yeap I think it is a great idea to explain why do =
we need the adjustments&nbsp; of RFC 8343 in the case of&nbsp;draft-shytyi-=
opsawg-vysm-04.<span>&nbsp;</span></span></span></span></span><br></div><di=
v><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><=
span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" sty=
le=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<=
span>&nbsp;</span></span></span></span></span><br></div><div><span class=3D=
"highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"co=
lour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-famil=
y:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</spa=
n></span></span></span></span><br></div><div><span class=3D"highlight" styl=
e=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"c=
olor:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span cl=
ass=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span>=
</span></span><br></div><div><span class=3D"highlight" style=3D"background-=
color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0=
)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" sty=
le=3D"font-size:14px">&gt; What do you think about this:<span>&nbsp;</span>=
</span></span></span></span><br></div><div><span class=3D"highlight" style=
=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"co=
lor:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span cla=
ss=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span><=
/span></span><br></div><div><span class=3D"highlight" style=3D"background-c=
olor:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)=
"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" styl=
e=3D"font-size:14px">&gt; 1. uCPE phy interface has "vPorts" to witch "vLin=
ks are<span>&nbsp;</span></span></span></span></span><br></div><div><span c=
lass=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span clas=
s=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"fon=
t-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; assigned"=
. "vLinks "connect" the phy interface with&nbsp; "vPort" of<span>&nbsp;</sp=
an></span></span></span></span><br></div><div><span class=3D"highlight" sty=
le=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"=
color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span c=
lass=3D"size" style=3D"font-size:14px">&gt; vswitch. Thus we may add to the=
 derieved from RFC 8343 module the<span>&nbsp;</span></span></span></span><=
/span><br></div><div><span class=3D"highlight" style=3D"background-color:rg=
b(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span=
 class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"fo=
nt-size:14px">&gt; list of "vPorts" for each phy interface.<span>&nbsp;</sp=
an></span></span></span></span><br></div><div><br></div><div><span class=3D=
"highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"co=
lour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-famil=
y:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;&gt;You should us=
e "augment" if you want to add additional nodes to an<span>&nbsp;</span></s=
pan></span></span></span><br></div><div><span class=3D"highlight" style=3D"=
background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:=
rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=
=3D"size" style=3D"font-size:14px">&gt;&gt;existing module.<span>&nbsp;</sp=
an></span></span></span></span><br></div><div><br></div><div>[Dmytro] Yes I=
 agree, it is exatly what we did in the&nbsp;&nbsp;draft-shytyi-opsawg-vysm=
-04. We augmented "vPorts" to the interfaces :)<br></div><div>The same "aug=
ment i think it could be appropriate to use in the derived module from "iet=
f-interfaces" (RFC 8343) to agment the yang model "ietf-ucpe"<br></div><div=
><br></div><div><span class=3D"highlight" style=3D"background-color:rgb(255=
, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span clas=
s=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-si=
ze:14px">&gt; example with 1 phy interface:<span>&nbsp;</span></span></span=
></span></span><br></div><div><span class=3D"highlight" style=3D"background=
-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, =
0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" st=
yle=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span></span></span><=
br></div><div><span class=3D"highlight" style=3D"background-color:rgb(255, =
255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=
=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-siz=
e:14px">&gt;<span>&nbsp;</span></span></span></span></span><br></div><div><=
span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><spa=
n class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=
=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<sp=
an>&nbsp;</span></span></span></span></span><br></div><div><span class=3D"h=
ighlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colo=
ur" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:=
Lato"><span class=3D"size" style=3D"font-size:14px">&gt; &nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;+-------------------------------------<span>&nbsp;</span></span=
></span></span></span><br></div><div><span class=3D"highlight" style=3D"bac=
kground-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb=
(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"s=
ize" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span></span><=
/span><br></div><div><span class=3D"highlight" style=3D"background-color:rg=
b(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span=
 class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"fo=
nt-size:14px">&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; UCPE<span>&nbsp;</span></span></span>=
</span></span><br></div><div><span class=3D"highlight" style=3D"background-=
color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0=
)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" sty=
le=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span></span></span><b=
r></div><div><span class=3D"highlight" style=3D"background-color:rgb(255, 2=
55, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=
=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-siz=
e:14px">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 +------------+<span>&nbsp;</span></span></span></span></span><br></div><di=
v><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><=
span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" sty=
le=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<=
span>&nbsp;</span></span></span></span></span><br></div><div><span class=3D=
"highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"co=
lour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-famil=
y:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; &nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; |------vPort 1---vlink---(vport_sw)vswitch(vport=
_sw)--vlink---.....----WAN<span>&nbsp;</span></span></span></span></span><b=
r></div><div><span class=3D"highlight" style=3D"background-color:rgb(255, 2=
55, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=
=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-siz=
e:14px">&gt;<span>&nbsp;</span></span></span></span></span><br></div><div><=
span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><spa=
n class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=
=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; LA=
N----|&nbsp; &nbsp;Phy&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|----=
--vPort 2<span>&nbsp;</span></span></span></span></span><br></div><div><spa=
n class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span c=
lass=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"=
font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<span>&=
nbsp;</span></span></span></span></span><br></div><div><span class=3D"highl=
ight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato=
"><span class=3D"size" style=3D"font-size:14px">&gt; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp;interface&nbsp; &nbs=
p; &nbsp;|<span>&nbsp;</span></span></span></span></span><br></div><div><sp=
an class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span =
class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D=
"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<span>=
&nbsp;</span></span></span></span></span><br></div><div><span class=3D"high=
light" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour"=
 style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lat=
o"><span class=3D"size" style=3D"font-size:14px">&gt; &nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;+-------------+<span>&nbsp;</span></span></span></span></span><=
br></div><div><span class=3D"highlight" style=3D"background-color:rgb(255, =
255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=
=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-siz=
e:14px">&gt;<span>&nbsp;</span></span></span></span></span><br></div><div><=
span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><spa=
n class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=
=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; &n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; |<span>&nbsp;</span></span></span></span></span><br></div><div=
><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><s=
pan class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" styl=
e=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<s=
pan>&nbsp;</span></span></span></span></span><br></div><div><span class=3D"=
highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"col=
our" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family=
:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;+----------------------------------------------<span>&nbsp;</s=
pan></span></span></span></span><br></div><div><span class=3D"highlight" st=
yle=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D=
"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></spa=
n></span></span><br></div><div><span class=3D"highlight" style=3D"backgroun=
d-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0,=
 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" s=
tyle=3D"font-size:14px">&gt; 2. If we include the yang module from the RFC =
8343 to the set of yang models by default it goes in the root of config mod=
e. i.e:<span>&nbsp;</span></span></span></span></span><br></div><div><span =
class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span cla=
ss=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"fo=
nt-family:Lato"><span class=3D"size" style=3D"font-size:14px">&gt;<span>&nb=
sp;</span></span></span></span></span><br></div><div><span class=3D"highlig=
ht" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" st=
yle=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato">=
<span class=3D"size" style=3D"font-size:14px">&gt; EXAMPLE:<span>&nbsp;</sp=
an></span></span></span></span><br></div><div><span class=3D"highlight" sty=
le=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"=
color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span c=
lass=3D"size" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span=
></span></span><br></div><div><span class=3D"highlight" style=3D"background=
-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, =
0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" st=
yle=3D"font-size:14px">&gt; config t<span>&nbsp;</span></span></span></span=
></span><br></div><div><span class=3D"highlight" style=3D"background-color:=
rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><sp=
an class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"=
font-size:14px">&gt;<span>&nbsp;</span></span></span></span></span><br></di=
v><div><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 25=
5)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font=
" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">=
&gt; &nbsp; &nbsp; &nbsp; interfaces interface....<span>&nbsp;</span></span=
></span></span></span><br></div><div><span class=3D"highlight" style=3D"bac=
kground-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb=
(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"s=
ize" style=3D"font-size:14px">&gt;<span>&nbsp;</span></span></span></span><=
/span><br></div><div><span class=3D"highlight" style=3D"background-color:rg=
b(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span=
 class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"fo=
nt-size:14px">&gt;<span>&nbsp;</span></span></span></span></span><br></div>=
<div><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)=
"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" =
style=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&g=
t;<span>&nbsp;</span></span></span></span></span><br></div><div><span class=
=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D=
"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-fa=
mily:Lato"><span class=3D"size" style=3D"font-size:14px">&gt; When we have =
a parent module we need to place the RFC 8343 module to under the parent mo=
dule (like in the draft&nbsp;draft-shytyi-opsawg-vysm-04).&nbsp;<span>&nbsp=
;</span></span></span></span></span><br></div><div><br></div><div><br></div=
><div><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255=
)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font"=
 style=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">&=
gt;Have you looked at the models in RFC 8529 and RFC 8530? Perhaps you<span=
>&nbsp;</span></span></span></span></span><br></div><div><span class=3D"hig=
hlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour=
" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:La=
to"><span class=3D"size" style=3D"font-size:14px">&gt;can use them, rather =
than creating another special module for this<span>&nbsp;</span></span></sp=
an></span></span><br></div><div><span class=3D"highlight" style=3D"backgrou=
nd-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0=
, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" =
style=3D"font-size:14px">&gt;particular use case?<span>&nbsp;</span></span>=
</span></span></span><br></div><div><br></div><div>[Dmytro] Thank you for t=
his suggestion, @Martin.<br></div><div><br></div><div>I can imagine that we=
 could&nbsp; assing "ietf-interfaces" to VSI as described in the RFC 8529. =
@Martin, looging the schema of yang models for rfc 8529(below) can we assig=
n more than one (&gt;1) LNE to the interface (both for rfc 8529 and 8530)?<=
br></div><div>In the uCPE usecase you may have multiple swithes assigned to=
 the same port.<br></div><div><br></div><pre class=3D"newpage" style=3D"fon=
t-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page;=
 color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; f=
ont-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans=
: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: i=
nitial; text-decoration-color: initial;">+--rw network-instances
        +--rw network-instance* [name]
           +--rw name           string
           +--rw enabled?       boolean
           +--rw description?   string
           +--rw (ni-type)?
           +--rw (root-type)
              +--:(vrf-root)
              |  +--mp vrf-root
              +--:(vsi-root)
              |  +--mp vsi-root
              +--:(vv-root)
                 +--mp vv-root<br></pre><div><br></div><pre style=3D"font-s=
ize: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page; co=
lor: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font=
-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2=
; text-align: start; text-indent: 0px; text-transform: none; widows: 2; wor=
d-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: init=
ial; text-decoration-color: initial;" class=3D"newpage">   module: ietf-int=
erfaces
      +--rw interfaces
      |  +--rw interface* [name]
      |     +--rw name                        string
      |     +--rw ip:ipv4!
      |     |  +--rw ip:enabled?                      boolean
      |     |  +--rw ip:forwarding?                   boolean
      |     |  +--rw ip:mtu?                          uint16
      |     |  +--rw ip:address* [ip]
      |     |  |  +--rw ip:ip               inet:ipv4-address-no-zone
      |     |  |  +--rw (ip:subnet)
      |     |  |     +--:(ip:prefix-length)
      |     |  |     |  +--rw ip:prefix-length?   uint8
      |     |  |     +--:(ip:netmask)
      |     |  |        +--rw ip:netmask?         yang:dotted-quad
      |     |  +--rw ip:neighbor* [ip]
      |     |  |  +--rw ip:ip                  inet:ipv4-address-no-zone
      |     |  |  +--rw ip:link-layer-address yang:phys-address
      |     |  +--rw ni:bind-network-instance-name?   string
      |     +--rw ni:bind-network-instance-name?   string
<br></pre><div><br></div><div><span class=3D"highlight" style=3D"background=
-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, =
0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" st=
yle=3D"font-size:14px">/martin<span>&nbsp;</span></span></span></span></spa=
n><br></div><div><br></div><div data-zbluepencil-ignore=3D"true" style=3D""=
 class=3D"zmail_extra"><div><br></div></div><div><br></div><div data-zbluep=
encil-ignore=3D"true" style=3D"" class=3D"zmail_extra"><div><br></div><div>=
On Tue, Oct 22, 2019 at 10:28:03PM +0200, Dmytro Shytyi wrote: <br>&gt; <br=
>&gt; Cut and paste to change the 'nesting' is _not_ proper usage of <br>&g=
t; YANG. The value of YANG is that objects with the same semantics are <br>=
&gt; predictable, this gives you interoperability. By copying modules to <b=
r>&gt; other places (and tweaking semantics), you break the interoperabilit=
y <br>&gt; promise. <br>&gt; <br>&gt; /js <br>&gt; <br>&gt; <br>&gt; [Dmytr=
o]. <br>&gt; <br>&gt; I find the task much easier if we could just augment =
the interfaces module without changing it. I see it the next way . The "iet=
f-interfaces" yang module initially was created&nbsp; for the config, when =
you have: <br>&gt; <br>&gt; config t&nbsp; <br>&gt; <br>&gt; &nbsp; &nbsp; =
&nbsp; interfaces interface ... <br>&gt; <br>&gt; Here we have different co=
ndition of "nesting"... when module "ucpe-ietf-interfaces" (not "ietf-inter=
faces") shout augment another module ("ietf-ucpe") <br>&gt; <br>&gt; <br>&g=
t; <br>&gt; We augment vPorts to phy interfaces. <br> <br>&gt;I do not unde=
rstand your explanation. The ietf-interfaces hierarchy can <br>&gt;be found=
 on page 5 of RFC 8343. You can augment additional nodes into <br>&gt;it.</=
div><div><br></div><div>[Dmytro] Yes&nbsp; we can augment additional nodes =
into "ietf-interfaces" it is what we do in the&nbsp;draft-shytyi-opsawg-vys=
m-04 :<br></div></div><pre style=3D"color: rgb(0, 0, 0); font-style: normal=
; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 4=
00; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px=
; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-w=
idth: 0px; text-decoration-style: initial; text-decoration-color: initial; =
overflow-wrap: break-word; white-space: pre-wrap;">augment "/ietf-nfv:ucpe/=
<b>i</b><b>etf-if:interfaces/ietf-if:interface"</b> {
       list ports {
         key "port";
         leaf port {
           type string;
           description
             "Name of the connector";
         }<br></pre><div><br></div><div>We wold like to have this:<br></div=
><pre style=3D"color: rgb(0, 0, 0); font-style: normal; font-variant-ligatu=
res: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: n=
ormal; orphans: 2; text-align: start; text-indent: 0px; text-transform: non=
e; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decor=
ation-style: initial; text-decoration-color: initial; overflow-wrap: break-=
word; white-space: pre-wrap;">module: ietf-ucpe
+--rw ietf-ucpe:ucpe* [name]
   +--rw ietf-ucpe:Name              string
   |
   +--rw ucpe-if:interfaces<br></pre><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; ....<br></div><div><br></div><div data-zbluepencil-ignore=3D"true"=
 style=3D"" class=3D"zmail_extra"><div><br><br>&gt; &gt;Cut and paste to ch=
ange the 'nesting' is _not_ proper usage of <br>&gt; <br>&gt; YANG. <br>&gt=
; <br>&gt; [Dmytro] <br>&gt; <br>&gt; If I understood correctly I can't jus=
t derive the parts from the exisiting module&nbsp; (by referencing them) to=
 the new module. <br>&gt; <br> <br>I have no idea what you mean with "(by r=
eferencing them) to the new <br>module". You can of course refer to definit=
ions in ietf-interfaces. <br> <br>&gt; So I have two questions: <br>&gt; <b=
r>&gt; If i cant derive the parts from existing module while creating a new=
, how to address this issue(when we want "ucpe-ietf-interfaces" to augment =
"ietf-ucpe"). Could you suggest something? <br>&gt;I likely do not understa=
nd but you can of course augment <br>&gt;ietf-interfaces with additional no=
des that refer to ietf-ucpe <br>&gt;definitions if that is what you are loo=
king for.</div><div><br></div><div>[Dmytro] Yes we can augment the "ietf-in=
terfaces" with new modules. Hovewer in the&nbsp;draft-shytyi-opsawg-vysm-04=
 we are looking to augment module "ietf-ucpe" with modified "ietf-interface=
s".&nbsp; Example<br></div><div>SCHEME #1</div></div><pre style=3D"color: r=
gb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font-varia=
nt-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text=
-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spac=
ing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; t=
ext-decoration-color: initial; overflow-wrap: break-word; white-space: pre-=
wrap;">module: ietf-ucpe
+--rw ietf-ucpe:ucpe* [name]
   +--rw ietf-ucpe:Name              string
   |
   +--rw ucpe-if:interfaces<br></pre><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; ....<br></div><div><br></div><div>To have a result similar to the =
scheme#1 (above) we derived the "ietf-interfaces" to "ietf-ucpe-interfaces"=
. And "ietf-ucpe-interfaces" was modified (ex. with augment statement,etc..=
):<br></div><pre style=3D"color: rgb(0, 0, 0); font-style: normal; font-var=
iant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter=
-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-tra=
nsform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;=
 text-decoration-style: initial; text-decoration-color: initial; overflow-w=
rap: break-word; white-space: pre-wrap;">module ietf-ucpe-interfaces {
         import ietf-ucpe { prefix ietf-vysm; }
         ...
         augment "/ietf-vysm:ucpe"{
               container interfaces {
                     description "Interface parameters.";
                     list interface {
                     ...
                     }
         }
   }<br></pre><div><br></div><div class=3D"zmail_extra" style=3D"" data-zbl=
uepencil-ignore=3D"true"><div>If i cant derive the parts from existing modu=
le (ietf-interfaces) while creating a new("ietf-ucpe-interfaces) how we can=
 get the result similar to scheme#1?<br></div><div>Could you suggest someth=
ing? <br> <br>&gt; So the&nbsp; here I have a question: How we will resolve=
 the leafref in the&nbsp;draft-shytyi-opsawg-vysm-04. if we will not do the=
 augmentation of "ietf-ucpe" in the ""ucpe-ietf-interfaces? <br>&gt; <br>&g=
t; augment "/ietf-nfv:ucpe/ietf-if:interfaces/ietf-if:interface" { <br>&gt;=
        list ports { <br>&gt;          key "port"; <br>&gt;          leaf p=
ort { <br>&gt;            type string; <br>&gt;            description <br>=
&gt;              "Name of the connector"; <br>&gt;          } <br>&gt;    =
      leaf link { <br>&gt;            type leafref { <br>&gt;              =
path "../../../../ietf-nfv:links/ietf-nfv:link"; <br>&gt;            } <br>=
&gt;            description <br>&gt;              "Link that is connected t=
o the port <br>&gt;               via connector"; <br>&gt;          } <br>&=
gt;          description <br>&gt;            "Set of the connectors the phy=
sical <br>&gt;             interface has"; <br>&gt;        } <br>&gt;      =
  description <br>&gt;          "ucpe ports of the interface"; <br>&gt;    =
  } <br>&gt;    } <br> <br>&gt;I think it is possible to have a path contra=
int on a leafref that <br>&gt;refers to definitions in other modules (see t=
he ABNF definition <br>&gt;path-arg which resolves to absolute-path and rel=
ative-path and <br>&gt;descendant-path and in there you find node-identifie=
r which can carry <br>&gt;an optional prefix that allows to refer to defini=
tions in other <br>&gt;namespaces). <br></div><div><br></div><div><br>/js <=
br> <br>-- <br>Juergen Schoenwaelder           Jacobs University Bremen gGm=
bH <br>Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germa=
ny <br>Fax:   +49 421 200 3103         &lt;<a target=3D"_blank" href=3D"htt=
ps://www.jacobs-university.de/">https://www.jacobs-university.de/</a>&gt; <=
br></div></div><div><br></div></div><br></body></html>
------=_Part_275998_583245835.1571780564105--



