Re: [MBONED] Continued Review of multicast-yang-model

"Holland, Jake" <jholland@akamai.com> Sat, 08 May 2021 23:12 UTC

Return-Path: <jholland@akamai.com>
X-Original-To: mboned@ietfa.amsl.com
Delivered-To: mboned@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD5B03A191B for <mboned@ietfa.amsl.com>; Sat, 8 May 2021 16:12:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, 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 (2048-bit key) header.d=akamai.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 2fcnyL0WCdwE for <mboned@ietfa.amsl.com>; Sat, 8 May 2021 16:12:23 -0700 (PDT)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (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 31E9D3A190C for <mboned@ietf.org>; Sat, 8 May 2021 16:12:23 -0700 (PDT)
Received: from pps.filterd (m0050093.ppops.net [127.0.0.1]) by m0050093.ppops.net-00190b01. (8.16.0.43/8.16.0.43) with SMTP id 148NA7WR003797; Sun, 9 May 2021 00:12:22 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=jan2016.eng; bh=Vg1V8IbqDapK+zRABNmXdzyOwFYB0HvBhimhvu/NBrk=; b=VoUzaaS1Q7rc4HZb0YlIpkEMuX/om+yqVepGiPyUFGi/sPlpQ/jeX/ZEEluVeaohj/MN 61wQr2KJeI0QpCSIRYn9EceGwTZtxE+DjnnxZ1LtT61QN5/4HO+SVZqw4oFBt9RSPvmx xFjDY9nwX9ow7Lcrzti5iKge6PyoJrD18N+8y3YNR9kRerfS9/ok/5CN3uP9/KYRQ8Q6 qrBAVYtgmPJs7rNE17ud3fBwV6T+DJxXKo0zdys78XWLoYG6/reDON0P3jREIJAg5y7s aZSAAjpEbbq46dMDvIZ/5yhmhMwPar198Uxri5SRS92Zdi4d4R7/xc3CNgUYsd9q1khd EQ==
Received: from prod-mail-ppoint8 (a72-247-45-34.deploy.static.akamaitechnologies.com [72.247.45.34] (may be forged)) by m0050093.ppops.net-00190b01. with ESMTP id 38dhwty2hv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 09 May 2021 00:12:21 +0100
Received: from pps.filterd (prod-mail-ppoint8.akamai.com [127.0.0.1]) by prod-mail-ppoint8.akamai.com (8.16.1.2/8.16.1.2) with SMTP id 148N4xIn019752; Sat, 8 May 2021 19:12:21 -0400
Received: from email.msg.corp.akamai.com ([172.27.165.115]) by prod-mail-ppoint8.akamai.com with ESMTP id 38dnyxpc0q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 08 May 2021 19:12:20 -0400
Received: from USTX2EX-DAG1MB4.msg.corp.akamai.com (172.27.165.122) by ustx2ex-dag1mb2.msg.corp.akamai.com (172.27.165.120) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 8 May 2021 18:12:19 -0500
Received: from USTX2EX-DAG1MB4.msg.corp.akamai.com ([172.27.165.122]) by ustx2ex-dag1mb4.msg.corp.akamai.com ([172.27.165.122]) with mapi id 15.00.1497.012; Sat, 8 May 2021 18:12:20 -0500
From: "Holland, Jake" <jholland@akamai.com>
To: "zhang.zheng@zte.com.cn" <zhang.zheng@zte.com.cn>
CC: "mboned@ietf.org" <mboned@ietf.org>
Thread-Topic: Continued Review of multicast-yang-model
Thread-Index: AQHXRF+Y5XAZEEuWekS7U+ig48h16g==
Date: Sat, 8 May 2021 23:12:19 +0000
Message-ID: <04BD6F4F-F19C-41A4-9F16-048C660293E0@akamai.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.48.21041102
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.27.164.43]
Content-Type: text/plain; charset="utf-8"
Content-ID: <150AB8E2BFA5E74BAC6EEC8A388F5D55@akamai.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-05-08_13:2021-05-06, 2021-05-08 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105080188
X-Proofpoint-GUID: D3-6W3ElWUlbzYrTImFhPlTrRIPT0bnr
X-Proofpoint-ORIG-GUID: D3-6W3ElWUlbzYrTImFhPlTrRIPT0bnr
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-05-08_13:2021-05-06, 2021-05-08 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 adultscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105080189
X-Agari-Authentication-Results: mx.akamai.com; spf=${SPFResult} (sender IP is 72.247.45.34) smtp.mailfrom=jholland@akamai.com smtp.helo=prod-mail-ppoint8
Archived-At: <https://mailarchive.ietf.org/arch/msg/mboned/pkkaQuDJcCYhAtXWEzadb812zQc>
Subject: Re: [MBONED] Continued Review of multicast-yang-model
X-BeenThere: mboned@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Mail List for the Mboned Working Group <mboned.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mboned>, <mailto:mboned-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mboned/>
List-Post: <mailto:mboned@ietf.org>
List-Help: <mailto:mboned-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mboned>, <mailto:mboned-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 08 May 2021 23:12:33 -0000

Hi Sandy,

From: "zhang.zheng@zte.com.cn" <zhang.zheng@zte.com.cn>
> Date: Sat,2021-05-08 at 1:49 AM
>
> 2.
> In 3.2/3.3, the multicast-keys list seems to be a problem, especially with
> respect to vni-type and vni-value, because there's only 3 possibilities for
> virtual-type (vxlan, nvgre, and geneve), but a value is required in order
> to have it as a key.  Likewise, I'm not sure the vpn-rd and vni-value make
> sense for all (S,G)s, do these have a value?  (What about in a traditional
> PIM network?)
>
> Would it make sense to use a type that permits these to be blank where
> appropriate?
> Sandy> Yes. If these keys are not used, it can be set to blank or zero.

OK, thanks.  I think in that case something in the doc needs to explain
the semantics of setting these values to values that indicate "unused",
because I don't think it's obvious that 0 is meant to be an invalid
vni-value for all virtual-types, and if it's intended that virtual-type
be possible to have set to a value indicating "not using any", it
probably needs a "none" value or something in the enumeration.  (I think
because it's part of the key in the list, an entry that leaves it unset
would get an error, and it's not at all clear to me which of vxlan, nvgre,
or geneve should be used if my network has none of those.)

> 4.
> In section 3.3, there are a lot of grammar problems.  I'll list some of
> them here, do you need text suggestions for these?
> Sandy> Much appreciate if you make some suggestion for these. :-)

I think I'm going to defer that for a later version of the draft after
I understand a little more about it, since for some of these I'm not
quite sure what the text means to say.  But I'll try to keep it in mind
as guidance for next time.

> 5.
> In section 3.3, I was confused by this bit:
>
>    ... One or
>    several transport technologies could be defined at the same time.
> 
> What does it mean if several transport technologies are defined at
> the same time, are those for redundant paths or something?
>
> Likewise this about the underlay:
>
>     ... One or several underlay
>    technologies could be defined at the same time if there is protective
>    requirement.
>
> By "protective environment" do you mean a redundant setup that can
> forward the traffic through multiple paths?  (And if so, what if the
> redundant paths use the same type of underlay?  Or if not, what does
> it mean?)
> Sandy> Yes. But I am not sure if these usage is existed actually. Do you think it's better to only keep one for it?

I think I like the idea of being able to express that there is
redundancy in the underlay and/or the overlay, that seems like a
helpful feature to support. 

But I think if you want to support it, the semantics probably have
to be clearer than just allowing multiple values of different types
to co-exist, the way it is now.  I think it's possible for instance
to have a backup path that uses multiple different OSPF underlay
instances, and I'm not sure why that would get a different treatment
than having one path using ISIS and another path using OSPF.

Maybe put only one overlay and only one underlay in a container,
and then have those inside a list?  (Maybe the list could be named
something like "transport-networks" or "paths" or something?). Or
maybe it makes more sense to have a list of underlays and a list of
overlays that refer to the underlays they can operate over?  (And
then the typical case is just one, but anything can be expressed.)

If that's the use case it also might make sense to specify something
like "active/passive" enum mentioning the intended usage?  Or a list
of active path references?  Just an idea.

Anyway, I'm not completely sure whether it's needed, since I think
there's still some things about how this model is used and what the
expected effects are for the network, but I can imagine that having
a preconfigured active/passive redundancy setup could make a
difference in failover convergence time that might be important for
some use cases, so I guess if the details of the protocols used in
the underlay and overlay are necessary in this model, it seems like
it would also be a good idea to allow for configuring the failover.

But it also might be possible to do that with a separate controller
instance that's configured as passive, and have only one underlay
and only one overlay at the model layer.

I'm not sure which way is best, I think it probably depends on
some details of how this should be used that I'm not sure I fully
understand yet.  But my rough guess is that of those 2 options, it's
better to represent multiple backup path options as a list of multiple
objects that each use a single unambiguous way to define the config,
rather than the current structure that allows multiple overlays and
underlays, but only of different types with no hints about what's
primary or backup and whether it's active and whether different
overlays (if multiple ones are configured) are running on all or
only some of the different underlays (if multiple ones are configured),
which seems to add a lot of confusing options that are legal configs.

Anyway, I hope those comments have some useful food for thought, and
I'll try to give this another look at in a later version.  I'll be
especially interested to see the examples and the descriptions of
how they affect the network when applied to the server.

Thanks and regards,
Jake