Re: [netmod] [Teas] Key collision between configured and ephemeral list entries

tom petch <ietfc@btconnect.com> Sun, 02 June 2019 11:09 UTC

Return-Path: <ietfc@btconnect.com>
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 7EFD912011C; Sun, 2 Jun 2019 04:09:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.247
X-Spam-Level:
X-Spam-Status: No, score=0.247 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RATWARE_MS_HASH=2.148, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
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 tx-UVfsYiT41; Sun, 2 Jun 2019 04:09:30 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80139.outbound.protection.outlook.com [40.107.8.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4295812007A; Sun, 2 Jun 2019 04:09:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector1-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QteWwPgBmNM6+QncibmAMT6T5JLVyOD+GgEBzhxwHSs=; b=n/Tm3RnYOUZJLwS/MH+aaJsarAkkr96+5kUnhzb+b7S/kmgrmOLdQUhmSrhVG0ptMhZp0W7ESrzO5CW6XI17fvWTv7WdRyxnm4VOofrBVsM+ma9Sv8KJIHNOsr68vaF4XAz/lMuprgsSpImzIikzRo252/oE/Ry7R1UjZjP2VwY=
Received: from VI1PR07MB3118.eurprd07.prod.outlook.com (10.175.242.156) by VI1PR07MB1040.eurprd07.prod.outlook.com (10.161.111.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.4; Sun, 2 Jun 2019 11:09:27 +0000
Received: from VI1PR07MB3118.eurprd07.prod.outlook.com ([fe80::7537:44ee:88c1:dd6d]) by VI1PR07MB3118.eurprd07.prod.outlook.com ([fe80::7537:44ee:88c1:dd6d%7]) with mapi id 15.20.1965.010; Sun, 2 Jun 2019 11:09:26 +0000
From: tom petch <ietfc@btconnect.com>
To: Italo Busi <Italo.Busi@huawei.com>, Tarek Saad <tsaad.net@gmail.com>, "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>
CC: "teas@ietf.org" <teas@ietf.org>
Thread-Topic: [Teas] [netmod] Key collision between configured and ephemeral list entries
Thread-Index: AQHVFfphMHsTseJ1T0S+porZBJo1ZA==
Date: Sun, 2 Jun 2019 11:09:26 +0000
Message-ID: <028b01d51933$1015fa80$4001a8c0@gateway.2wire.net>
References: <91E3A1BD737FDF4FA14118387FF6766B2774D314@lhreml504-mbs> <017f01d515f9$d0c662c0$4001a8c0@gateway.2wire.net> <91E3A1BD737FDF4FA14118387FF6766B2774DF6C@lhreml504-mbs> <062401d5160d$a568ea80$4001a8c0@gateway.2wire.net> <BYAPR11MB26314CD2365C6AEC39E696EDB51F0@BYAPR11MB2631.namprd11.prod.outlook.com> <BL0PR06MB4321DA01042ECAAD88E8420AFC1F0@BL0PR06MB4321.namprd06.prod.outlook.com> <91E3A1BD737FDF4FA14118387FF6766B2774E51F@lhreml504-mbs>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: LO2P265CA0043.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:61::31) To VI1PR07MB3118.eurprd07.prod.outlook.com (2603:10a6:802:20::28)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: Microsoft Outlook Express 6.00.2800.1106
x-originating-ip: [86.139.215.234]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f6f1a9a6-c818-4a7f-cb12-08d6e74ac69d
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:VI1PR07MB1040;
x-ms-traffictypediagnostic: VI1PR07MB1040:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <VI1PR07MB1040CC55404298221C169085A01B0@VI1PR07MB1040.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 005671E15D
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(346002)(366004)(136003)(39860400002)(396003)(13464003)(199004)(189003)(966005)(6436002)(81166006)(8936002)(81156014)(50226002)(256004)(25786009)(64756008)(478600001)(14444005)(6486002)(61296003)(14496001)(5024004)(71190400001)(7736002)(4326008)(9686003)(71200400001)(6512007)(6306002)(305945005)(110136005)(1556002)(4720700003)(229853002)(6246003)(44736005)(53936002)(186003)(486006)(14454004)(476003)(66066001)(62236002)(84392002)(446003)(2906002)(26005)(66446008)(44716002)(68736007)(73956011)(66946007)(66476007)(6506007)(81686011)(81816011)(102836004)(99286004)(2501003)(3846002)(316002)(76176011)(53546011)(6116002)(386003)(66556008)(8676002)(66574012)(52116002)(86362001)(5660300002)(74416001)(7726001); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR07MB1040; H:VI1PR07MB3118.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: lsCd6Jf+1B5gPkVdFIYMMgt8Pzz9iSEbGLDbsPoIAVK2GhP75u2CgG+7pbsTg4Gpe1j12H11bKGjtvEjZSXLX2nsbDbcrnzw10bhtDlngSaY8ViCzUPGMM9DTUh3CB9k3WmFku69cf4pQXUukfTpJ1irfA7ePIhEytjCqSdWhKWlg9MGe69BnNYGAcfg6uVa0eyVJNfnj6nv2FDshOKj7fhdJUQchTJ+Q/gBurAoQbDgDufh9qbh2HsJwOzIyCX55beDW8kDBZJcbxYakil8ozkfDwWcdG/sI52xW24ANxkab9a1QngzYCymPJjxTZJK6SCdw2ELP7POAZqkh9tjxiSWyY6LqHXzy+aGuB3FnQ9XDitryBLE0WIiR4eYuvWT3zqbsNN8Dnr+ClhLeYZQ86sRXYCV5aOHLJ4NmZXSZQ4=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DDD5C9328001374BA8664E5156D797EB@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6f1a9a6-c818-4a7f-cb12-08d6e74ac69d
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2019 11:09:26.8458 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ietfc@btconnect.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB1040
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/pZ-sOBGQhwNNyDQAW6MNqNJgTv8>
Subject: Re: [netmod] [Teas] Key collision between configured and ephemeral list entries
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: Sun, 02 Jun 2019 11:09:34 -0000

----- Original Message -----
From: "Italo Busi" <Italo.Busi@huawei.com>;
Sent: Wednesday, May 29, 2019 7:00 PM

> Rob, Tarek,
>
> Thanks for following-up this discussion
>
> I like the suggestion to use a prefix string: those who prefers using
one character (e.g., '#') could use a single character string
>
> Regarding the configuration, one possible issue that just jumped into
my mind is what happens when the prefix is (re-)configured by the client
after some ephemeral tunnels have been created ...

Many years ago, there was a similar discussion about interface names
which never really got resolved but which was a factor in driving NMDA.
Some boxes create their own interface names, others have interface names
configured; and with interfaces, there was a need to use a match of the
identifier to add configured attributes to a entry that the box had
created but to create a new entry if there was not a match.  Roll on
multiple datastores.

Which makes me ask; which datastores are we talking about? I know where
entries configured via NETCONF will go but which datastores will hold
the details of these ephemeral tunnels? Needs clarifying IMHO.

Tom Petch

> An alternative solution could be to let the server decide which prefix
to use (server implementation issue) and to provide a read-only YANG
leaf to report this information to the client, such that the client
knows it could not use this prefix for the configured tunnels
>
> My 2 cents
>
> Italo
>
> -----Original Message-----
> From: Tarek Saad [mailto:tsaad.net@gmail.com]
> Sent: mercoledì 29 maggio 2019 17:22
> To: Rob Wilton (rwilton) <rwilton@cisco.com>;; tom petch
<ietfc@btconnect.com>;; Italo Busi <Italo.Busi@huawei.com>;;
netmod@ietf.org
> Cc: teas@ietf.org
> Subject: Re: [Teas] [netmod] Key collision between configured and
ephemeral list entries
>
> Hi Rob,
>
> Inline..
>
> On 5/29/19, 9:05 AM, "Teas on behalf of Rob Wilton (rwilton)"
<teas-bounces@ietf.org on behalf of rwilton@cisco.com>; wrote:
>
>     Are these ephemeral tunnels created and named by the device
itself?
> [TS]: yes, some of those are auto-created by the device (e.g.
triggered by some local event).
>
>     Possibly using a human readable prefix (or suffix) might be better
than using a symbol.
>
>     E.g. perhaps a prefix of "sys-" as an abbreviation for system.
> [TS]: I tend to agree here. I had suggested making this prefix
configurable - not sure if this brings more trouble.
>
> [TS]: On a similar note, on the controller, some tunnels from
different ingress routers will be reported up to the controller. One way
to avoid collision of same tunnel name existing on multiple ingress
devices, we thought of is for that controller to (automatically) append
the ingress router name (or IP address) before consuming the reported
tunnel into the controller tunnel list. Thoughts?
>
> Regards,
> Tarek
>
>     Thanks,
>     Rob
>
>     -----Original Message-----
>     From: Teas <teas-bounces@ietf.org>; On Behalf Of tom petch
>     Sent: 29 May 2019 12:04
>     To: Italo Busi <Italo.Busi@huawei.com>;; netmod@ietf.org
>     Cc: teas@ietf.org
>     Subject: Re: [Teas] [netmod] Key collision between configured and
ephemeral list entries
>
>
>     ----- Original Message -----
>     From: "Italo Busi" <Italo.Busi@huawei.com>;
>     Sent: Wednesday, May 29, 2019 11:02 AM
>
>     Hi Tom,
>
>     Thanks for your reply
>
>     It seems to me that the text you have quoted is from:
>     https://tools.ietf.org/html/rfc7950#section-6.2
>
>     If I can understand correctly, especially for section 6.2.1, this
constraints does not apply to name attributes whose syntax is defined as
a string and used as key of a list, such as the tunnel list defined in
the TE YANG model:
>
>          |  +--rw tunnel* [name]
>          |  |  +--ro operational-state?                  identityref
>          |  |  +--rw name                                string
>
>     My understanding is that a tunnel list entry with a name starting
with '#' can exist in a YANG DS
>
>     <tp>
>
>     Italo
>
>     Ah yes, my misunderstanding.  'string' type is a bit more flexible
i.e.
>
>        The string built-in type represents human-readable strings in
YANG.
>        Legal characters are the Unicode and ISO/IEC 10646 [ISO.10646]
>        characters, including tab, carriage return, and line feed but
>        excluding the other C0 control characters, the surrogate
blocks, and
>        the noncharacters.
>
>     Plenty of scope there!
>
>
>     If this approach is taken, then I agree that hash is a good choice
as it stands out, unlike, say, underscore which vanishes in the line of
text.
>
>     Tom Petch
>
>     Thanks, Italo
>
>     -----Original Message-----
>     From: tom petch [mailto:ietfc@btconnect.com]
>     Sent: mercoledì 29 maggio 2019 10:42
>     To: Italo Busi <Italo.Busi@huawei.com>;; netmod@ietf.org
>     Cc: teas@ietf.org
>     Subject: Re: [netmod] Key collision between configured and
ephemeral list entries
>
>     <inline>
>
>     Tom Petch
>
>     ----- Original Message -----
>     From: "Italo Busi" <Italo.Busi@huawei.com>;
>     To: <netmod@ietf.org>;
>     Cc: <teas@ietf.org>;
>     Sent: Monday, May 27, 2019 2:16 PM
>     Subject: [netmod] Key collision between configured and ephemeral
list entries
>
>
>     On Friday within the TEAS WG, we have discussed an issue which
seems generic and therefore agreed to ask for guidelines to the Netmod
WG
>
>     In the TE YANG model we have defined a tunnel list with a name
attribute used as a key:
>
>          |  +--rw tunnel* [name]
>          |  |  +--ro operational-state?                  identityref
>          |  |  +--rw name                                string
>
>     See: https://tools.ietf.org/html/draft-ietf-teas-yang-te-21
>
>     The issue we are facing is how to avoid name collision between
configured and ephemeral tunnels. In other words, the issue we are
trying to address is how to avoid the client to assign to a configured
tunnel a name which have been already assigned by the server to another
ephemeral tunnel and vice-versa, in particular considering NMDA rules
>
>     We believe that the issue is generic and apply to any configured
and ephemeral list entries
>
>     Has this issue been already discussed/resolved in Netmod WG?
>
>     If not, what is the Netmod WG opinion/suggestion? We are currently
considering the following option:
>
>        Use a special character for ephemeral names - e.g. such names
always are prepended by special character "#"
>        Make the special character changeable by configuration - the
default can be "#" and user can change if they desire..
>
>     <tp>
>
>     If this is to conform with YANG 1.1, RFC7950, then the constraint
is
>
>        Identifiers are used to identify different kinds of YANG items
by
>        name.  Each identifier starts with an uppercase or lowercase
ASCII
>        letter or an underscore character, followed by zero or more
ASCII
>        letters, digits, underscore characters, hyphens, and dots.
>
>
>     No # (hash) anywhere so I suspect that a lot of tooling will fail
in an unpredictable way if it encounters an illegal character in an
identifier.
>
>     Tom Petch
>
>
>     Thanks, Italo
>
>     Italo Busi
>     Principal Optical Transport Network Research Engineer Huawei
Technologies Co., Ltd.
>     Tel : +39 345 4721946
>     Email : italo.busi@huawei.com
>     [cid:image002.png@01D5149F.354EF420]
>
>     This e-mail and its attachments contain confidential information
from HUAWEI, which is intended only for the person or entity whose
address is listed above. Any use of the information contained herein in
any way (including, but not limited to, total or partial disclosure,
reproduction, or dissemination) by persons other than the intended
>     recipient(s) is prohibited. If you receive this e-mail in error,
please notify the sender by phone or email immediately and delete it!
>
>     From: Tarek Saad [mailto:tsaad.net@gmail.com]
>     Sent: venerdì 24 maggio 2019 23:13
>     To: Igor Bryskin <Igor.Bryskin@huawei.com>;; Rakesh Gandhi
<rgandhi@cisco.com>;; Xufeng <xufeng.liu.ietf@gmail.com>;; Vishnu Pavan
Beeram <vbeeram@juniper.net>;; Italo Busi <Italo.Busi@huawei.com>;
>     Cc: teas@ietf.org
>     Subject: Discussion on modelling container TE tunnels in YANG
>
>     The team on "to" list met to discuss this subject topic. Notes
from today's discussion (please add if I missed):
>
>     Name collision between configured and ephemeral tunnels:
>       This is a generic problem in NMDA.
>       How to handle collisions between configured and ephemeral (or
>     auto-created) objects of a list, if the list uses the object
(string
>     based) name as the key?
>       Both configured and ephemeral can have the same object name but
they are different objects - how to avoid such collision.
>      Proposed solution:
>        Option 1:
>        Use a special character for ephemeral names - e.g. such names
always are prepended by special character "#"
>        Make the special character changeable by configuration - the
default can be "#" and user can change if they desire..
>       Others?
>     AI (Italo): to send email to netmod group.
>
>     Container TE tunnels discussion:
>     -          Container tunnels are grouping of tunnels between same
2
>     endpoints to share incoming traffic towards the egress
>     -          Member tunnels of a container tunnel can be
>     auto-created/deleted on-demand and controlled by thresholds
specified under the container
>     -          Some attributes may apply on the container tunnel and
>     inherited down to member tunnels of the container
>     -          Q: Should model allow member tunnel to override
inherited
>     attributes from container tunnel?
>     -          Q: Should all auto-created member tunnels of a
container have
>     the same prefix/suffix - i..e prefix/suffix can be configurable
>
>     Regards,
>     Tarek
>
>
>
>
>
>
>     ------------------------------------------------------------------
------
>     --------
>
>
>     > _______________________________________________
>     > netmod mailing list
>     > netmod@ietf.org
>     > https://www.ietf.org/mailman/listinfo/netmod
>     >
>
>     _______________________________________________
>     Teas mailing list
>     Teas@ietf.org
>     https://www.ietf.org/mailman/listinfo/teas
>
>     _______________________________________________
>     Teas mailing list
>     Teas@ietf.org
>     https://www.ietf.org/mailman/listinfo/teas
>
>