[CCAMP] Discussion on Flex-E YANG model structure [was RE: CCAMP Digest, Vol 139, Issue 5]

"Rob Wilton (rwilton)" <rwilton@cisco.com> Fri, 13 December 2019 17:36 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: ccamp@ietfa.amsl.com
Delivered-To: ccamp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66FBE120041 for <ccamp@ietfa.amsl.com>; Fri, 13 Dec 2019 09:36:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 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, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=XinasBJ+; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=IuHGovsg
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 doKTwXw5ORNL for <ccamp@ietfa.amsl.com>; Fri, 13 Dec 2019 09:36:00 -0800 (PST)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 72460120013 for <ccamp@ietf.org>; Fri, 13 Dec 2019 09:36:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=66492; q=dns/txt; s=iport; t=1576258560; x=1577468160; h=from:to:cc:subject:date:message-id:mime-version; bh=WlpuMRkUnskn7ERGoiSsSlTDvRqGhV4MTvfQ/SnOAGs=; b=XinasBJ+xUfvlAzKf2ARN42DhaymH9NF4iLcKFbLMATn/5Q31N6Tfo92 UzRJba3r1YbyPrwqp5hECyjo+Ibkgs0n4b38j84EoiZdkrRKIkNQE5joB 0TwGS56SFctYa9XCpWjF7Ft/FANx4Xeve1Kz7+KqEKlsrrmmJAi1Mpbi6 0=;
IronPort-PHdr: 9a23:qk1g+BY9wuD0wag9pMOT8cP/LSx94ef9IxIV55w7irlHbqWk+dH4MVfC4el20gebRp3VvvRDjeee87vtX2AN+96giDgDa9QNMn1NksAKh0olCc+BB1f8KavwcC0+AMNEfFRk5Hq8d0NSHZW2ag==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BkCACey/Nd/4oNJK1lHAEBAQEBBwEBEQEEBAEBgX6BHC8kLAVsWCAECyoKg3mDRgOLDZpkgUKBEANUCQEBAQwBARgBCgoCAQGEQAIXgXgkOBMCAw0BAQQBAQECAQUEbYULCCQBC4VeAQEBAQQBEAgJChMBAQwZBwQCBQERAQYTBAEBDRQBBgMCBCUKARQJCQEEDgUIFQQBgwGBeU0DLgECDJEzkGQCgTiIYXWBMoJ+AQEFhQ8YghcDBoE2hX+GGRqBQT+BWIFOUGyCZAEBAhqBFAESASErCYJaMoIsjTFBA4I+hVUkiTWOKXIKgjAEhySOd4JCh3aQD45MiE6RdwIEAgQFAg4BAQWBaSIqPXFwFRohgmxQERSLA4IPOIM7hRSFP3QBgSeLaA0XB4EEAYEPAQE
X-IronPort-AV: E=Sophos;i="5.69,309,1571702400"; d="scan'208,217";a="392414006"
Received: from alln-core-5.cisco.com ([173.36.13.138]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 13 Dec 2019 17:35:59 +0000
Received: from XCH-ALN-006.cisco.com (xch-aln-006.cisco.com [173.36.7.16]) by alln-core-5.cisco.com (8.15.2/8.15.2) with ESMTPS id xBDHZwOa003977 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 13 Dec 2019 17:35:59 GMT
Received: from xhs-aln-003.cisco.com (173.37.135.120) by XCH-ALN-006.cisco.com (173.36.7.16) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 13 Dec 2019 11:35:58 -0600
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by xhs-aln-003.cisco.com (173.37.135.120) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 13 Dec 2019 11:35:57 -0600
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 13 Dec 2019 11:35:57 -0600
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qn0DnP4BZUBTNfDXYgMwl36HhMIAZLsJ1d0WKma/TJg8AM/VPEktsSI4RSxuC4zd2oTsX8kbGsWsr63Jl1vG4n8big+EGnhWX9dOxfzxeU2xfd8WXiy2pQD3GXx34+6kq8eNAh3NrZu73nMz38ddoqM8R+fcaYuZUXoM2Mqca5q2iUc4ZPdJQHIfV+l5bgJ/brsDwYcaEuzOnwPHlDf603fj0Skd0P3LsuOAgBf/dbOOMtbRL2NXSyskrLiHIAnxQ2K2uGUg55LaEryH7GuS4FGzpZB80Yr2j8muS1Y/k+UH6DgoG0Ic0rJXYCfGBJic9vd2JCD06MK5NIYaQ4ey6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WlpuMRkUnskn7ERGoiSsSlTDvRqGhV4MTvfQ/SnOAGs=; b=T7vrkAxsjONtxqBcPl33LaOm23rTSF4laLCyXnHLvrRqB6aeP4u/Du7Dj1Vi1150z0H+LeoSSSVVSIkCqRX1QYhJvTYL8UhCbNYCWyjF9m7nWnvNR/oi52rxFLqfFp7cB/HefUbUQfudfpMthWGL+4tPtinZvUmiiUwEye5s5+PQ0v1RWyAWcYKR9wZxjeeyPUbd6Zx/CuP5IgCpY1LpLemzz0OQwNygT5lSL6lyry+6OCkMpssVHCZElKsoqAzJPvHE3Lw65W+23ckO1WExKKaDL58stavSjjc3OsBXoILO3Xlmx0ARgXQPrrUPPeKgjOwe294oDVoTYhMzFEQ/fg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WlpuMRkUnskn7ERGoiSsSlTDvRqGhV4MTvfQ/SnOAGs=; b=IuHGovsguJ54Is/4C7bVvn5Shtq3GWnybAt1TYfiW46jUFqYVtlv1y5ntpqel25ljhhgEyf6qnN0fhVv1HROVZ1HKhmbqczX6XSllf69WWUFQV8Fq1QW1eJzU2qEMQfqT/0Et9HGljhPTDZl7css9YAUi9T2T+LuUTvfVrfzwqE=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (52.135.38.209) by MN2PR11MB4269.namprd11.prod.outlook.com (52.135.38.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.18; Fri, 13 Dec 2019 17:35:56 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::8106:b538:2920:a44f]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::8106:b538:2920:a44f%5]) with mapi id 15.20.2538.017; Fri, 13 Dec 2019 17:35:56 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "niu.xiaobing@zte.com.cn" <niu.xiaobing@zte.com.cn>
CC: "ccamp@ietf.org" <ccamp@ietf.org>
Thread-Topic: Discussion on Flex-E YANG model structure [was RE: [CCAMP] CCAMP Digest, Vol 139, Issue 5]
Thread-Index: AdWx16QCbB/CvC//SgygoGaEVR4TXw==
Date: Fri, 13 Dec 2019 17:35:56 +0000
Message-ID: <MN2PR11MB43664E89B17AE25175EC060BB5540@MN2PR11MB4366.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com;
x-originating-ip: [173.38.220.62]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1ec3317e-fd74-4960-3be7-08d77ff2e939
x-ms-traffictypediagnostic: MN2PR11MB4269:
x-microsoft-antispam-prvs: <MN2PR11MB42695EB87A816EEC8D4A7747B5540@MN2PR11MB4269.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0250B840C1
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(136003)(376002)(396003)(39860400002)(346002)(18543002)(10533003)(51444003)(199004)(189003)(27574002)(51914003)(55016002)(81156014)(26005)(4326008)(76116006)(66446008)(9686003)(86362001)(966005)(30864003)(66946007)(64756008)(66556008)(33656002)(478600001)(66476007)(71200400001)(6916009)(53546011)(316002)(52536014)(8936002)(9326002)(7696005)(5660300002)(2906002)(8676002)(6506007)(81166006)(186003); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4269; H:MN2PR11MB4366.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 6j5/nMjikwN6I53XWPmNKe4Vv4JptNa9eOl8/zvfIIyFs3N7j26iul6GzncDg1xy9r5BKEq4mc3r9CFrD2Svpkk+w918gy+lvk4Tehia9XVAUXTBvwHZa69wwX0X7RStz/+n0uQCvYFPr/+xWMGClkeLWP9itzX5f39VK4hH4thWGxUn07S+hazMavOt/FowTfNKPyCFXnob4BB55m9wXqv/KbGBCMkodh4r4lTlHWmhE3k61wHILCWJcmCAOi+bNrxR7uSvs7HAbJo09LVnY2PfkXnsBk48vINfc35I8ZPP7jcCqFpkNO6lGaQPga8+WzZuY0RVRc7ThVNn/H85cUPtOtWph633ppAdqcQPaJ2MZQr0xdX/wiaj45GH9UDoExfqB7np0qzLZLz3i/urVEMvJk/b3lf/8QsI/hwxxFSWwBQijTsuiE1l0FjVjUctAEu0ZqtuD1Ryzj7S2AxtIUvvqRxD/ESbXBUD35pXtvZk4KIEAbRbi13GLenblQKxrhoHPEq4HJ1MxKy3BWq2Iy+/RkrGnaOS3g3pQR2gqZ8ILCxEKjQKakzpFxATbz43utiZ5TQzUXuObLv+2PeEIXm8CoIogv9ak/jxsGt0pDkMdEsDKmoi/7T4y07mg3tP
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_MN2PR11MB43664E89B17AE25175EC060BB5540MN2PR11MB4366namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ec3317e-fd74-4960-3be7-08d77ff2e939
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2019 17:35:56.5171 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /1LI4M/KVBx3FmlSp6lxVLfRG394picRB97+VBf3Qiifg2+ogJHvs9Lzu9+zITR/C2ToKC7vpwLIRPhNMPkDcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4269
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.16, xch-aln-006.cisco.com
X-Outbound-Node: alln-core-5.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/ccamp/Ujh-V-ZahSmYPf_OegElNKN_zVY>
Subject: [CCAMP] Discussion on Flex-E YANG model structure [was RE: CCAMP Digest, Vol 139, Issue 5]
X-BeenThere: ccamp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion list for the CCAMP working group <ccamp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ccamp>, <mailto:ccamp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ccamp/>
List-Post: <mailto:ccamp@ietf.org>
List-Help: <mailto:ccamp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ccamp>, <mailto:ccamp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Dec 2019 17:36:05 -0000

Hi Xiaobing,

Thanks for the comments.  I’ve changed the title to make it clearer as to what is being discussed.

Please see [RW2] inline …

From: CCAMP <ccamp-bounces@ietf.org> On Behalf Of niu.xiaobing@zte.com.cn
Sent: 13 December 2019 09:37
To: ccamp-request@ietf.org
Cc: ccamp@ietf.org
Subject: Re: [CCAMP] CCAMP Digest, Vol 139, Issue 5


hi, Rob

Please see the lines with [Xiaobing].

Re: [CCAMP] Thoughts on Flex-E YANG models

"Rob Wilton (rwilton)" <rwilton@cisco.com<mailto:rwilton@cisco.com>> Mon, 09 December 2019 15:46 UTCShow header<https://mailarchive.ietf.org/arch/search/?q=xiaobing>

Hi Qilei,



Thanks for your comments.  Please see inline …



From: wang.qilei@zte.com.cn<mailto:wang.qilei@zte.com.cn> <wang.qilei@zte.com.cn><mailto:wang.qilei@zte.com.cn%3e>;

Sent: 09 December 2019 13:08

To: Rob Wilton (rwilton) <rwilton@cisco.com><mailto:rwilton@cisco.com%3e>;; jiangyuanlong@huawei.com<mailto:jiangyuanlong@huawei.com>Cc: ccamp@ietf.org<mailto:ccamp@ietf.org>Subject: Re:[CCAMP] Thoughts on Flex-E YANG models





Hi,







Sorry for the late reply.



We have reviewed the discussion about FlexE yang model in the maillist.



Thanks a lot for your reference FlexE-yang model, which helps understand the FlexE group, FlexE clients, slots and so on. Evenmore, some comments help for understanding the FlexE requirements, agreements/disagreements in the models.



Some differences in the models could be traced back to the differences in the respectively proposed requirements, for example, whether supports unidirectional FlexE client, whether FlexE instance should be considered in the model, etc. Maybe it's better to consider more application situations to understand the requirements, while not simplifying the requirements and hurrying to a concise model, which could not be applicable in some valuable situations.



[RW]



For me, the requirement of a standards based YANG model is to provide a configuration and operational YANG model that provides a clean and simple manageability interface for the OIF FlexE 2.0 IA.  At this stage I think that it should focus on doing the basic stuff well, but hopefully in a way that is extensible for vendor additions or future evolution of the standard.



I don’t think the model should be trying to go beyond the IA, assuming that vendors may/will augment the standards based YANG model with vendor specific extensions and options.



[xiaobing] Mostly Agree. When moving to the basic model, requirements clearly expressed in FlexE IAs should be considered while not leaving some alone, such as FlexE instance, bidirectional and uni-directional client flow, flexible CA replying mechanism.

[RW2]

I probably agree, but will need to understand the details of the specific options.  The key is that model covers the basic stuff well/easily, and the more advance stuff in a way that isn’t too complex.  YANG if-feature statements can also help here.  However, I think that if we can all reach agreement on the structure first, then we can move on to discussing some of the specific config.







For the proposed skeleton model, we still have some different understanding about the relationship between FlexE client and FlexE group in the model. According to the description in FlexE-IA, the FlexE group and FlexE client could be configured separately, e.g., a new FlexE client does not need to be configured simultaneously with the FlexE group, it may not be flexible to use one FlexE group construct to include the list of FlexE client information.



[RW]



I’m not sure that the OIF IA is particularly specific on this, and one option might be to ask the OIF WG for clarification here.



However, from my reading of the spec, I see the document referring to adding and removing client interfaces to a FlexE group, but I see no mention of moving client interfaces from one FlexE group to another.  In addition, I don’t see any information specifying that client-ids must be unique across all groups on the FlexE shim, and I think that would be a requirement to really allow client interfaces to move to different FlexE groups.



So, my interpretation of the spec is that client-ids in the calendar are logically specific to a particular flex-e group, but equally the spec states that clients may use any value for clients except 0 and 65535.  Some implementations might be more restricted in what values that could use, which could potentially be expressed as a YANG ‘must’ statement that requires client-ids to be unique on a device.



In terms of configuration dependency, similar to Italo’s comments, it is possible to configure a group with clients, but no bonded-phys and add them later.  Given that management clients can choose an arbitrary group-id, this doesn’t seem to be particular restrictive.
[Xiaobing] It’s reasonable to confine Client Numbers to a specific FlexE group and not need to be unique across all groups, so a client can be referenced with ‘Flexe group + client Number’. When the client is not determined which one FlexE group it will be configured into, the client can be bonded to the FlexE group (id=0) temporally.

[RW2]

Okay.  So, am I right in understanding that you okay with that aspect of the structure that I proposed?





In addition, there may exist another example that the switching of the carrier of FlexE client from one Group to another, in this case, change of the bonding relationship should be supported. In summary, from our understanding, decoupling the relationship between FlexE group and FlexE client would bring more flexibility.



[RW]



Yes, I completely agree that what you propose is more flexible, but is an increase in complexity by decoupling the client interfaces from the FlexE group.  It would also seem to have the potential to make deployment much harder.  E.g. what if a device had 100+ bonded connections to 100 devices.  Do we really want to require the client interface number to be unique across all flex-e groups?  What if those 100 devices have further flex-e connections to other devices?  I think that allowing the flex-e client number to be scoped outside of a flexE group will end up making the model much more difficult to manage and deploy across the network.
[Xiaobing] The FlexE Client Number should be unique in a FlexE group.
But I think that what you want to achieve could potentially be modelled completely outside of FlexE.  I.e. define a virtual Ethernet interface that can be bound to an underlying Ethernet interface (perhaps restricted to a FlexE client interface types if you wish). The model could then allow the binding from the virtual Ethernet interface to be moved to other FlexE client interfaces dynamically.  But I would recommend modelling this entirely separately from a base FlexE model.



[Xiaobing] Yeah. That’s our model intended to express. A client could be seen as a virtual Ethernet interface using Client Name, and after adapting into the calendar slots, it could be indexed by a client Number in the FlexE group.  ‘Client Name’ is needed. I think this should be considered in the modeling because it can give a more clear view how the client flow is processed.

[RW2]

If I understand your thinking, then that might still work with the model that I proposed:





So, with this tree output:


module: ietf-if-flex-e
  augment /if:interfaces/if:interface:
    +--rw flex-e
       +--rw group-number              uint32
       +--rw more-group-config-here?   string
       +--rw bonded-phy* [name]
       |  +--rw name                           if:interface-ref
       |  +--rw phy-number?                    uint8
       |  +--rw more-bonded-phy-config-here?   string
       +--rw client-interface* [name]
          +--rw name                              if:interface-ref
          +--rw id?                               uint16
          +--rw more-flex-e-client-config-here?   string



Effectively the “client name” is the name of the interface bound to the flex-e group with a particular client id.  Some implementations might have restrictions on what format that interface name can take (e.g. perhaps the group number and client id have to be part of the interface name in a particular format), other implementations might be more flexible and allow any arbitrary interface name.



There is a binding from the flex-e group to the client-interfaces associated with that group.



But in your implementation, you could potentially allow the client interfaces to be accepted in configuration without them being bound to any flex-e group.   Other implementations might require that a client interface can only be configured if it has also been bound to a flex-e group in the configuration.  In both cases I think that the same data model works, the only difference is the validation constraints that are being imposed.



Do you think that this approach would work for you?



I.e. do you think that you could live with the structure proposed, or do you have further concerns that still need to be addressed.  If the authors can reach agreement on the structure then we could move on to discussing the specific configuration.







There is another issue that we want to bring up, which is whether we need to configure the FlexE group as one interface. We can discuss about this. From our understanding, usually, when an interface is needed, there should have some strong requirements. For example, Ethernet LAG, the reason that we think to configure it as an interface is some traffic need to be switched directly to this interface, and obviously, this interface should be able to effect the routing of the traffic. But for FlexE group interface, the only use of this interface is to put FlexE client over it, and this interface only exists in the Ethernet PCS module, which need not be seen by others, so we are not sure whether an interface for FlexE group is needed.



[RW]



This issue I have more sympathy for.  I also questioned in my mind whether modelling these as interfaces was the right thing to do, but in the end convinced myself that modelling them as interfaces is probably the better choice.



I completely agree that a FlexE group doesn’t directly carry client traffic (and hence in that way it is different from a LAG interface), but for me it still something that looks and feels like a L1 interface object, and I believe that many vendors have traditionally modelled similar things (e.g. OTN layers) as interfaces in MIBs.  E.g. I think that quite a lot of the interface types in iana-if-types.yang refer to lower layer interface objects that wouldn’t necessarily directly carry packets.



The other potential benefit of modelling them as interfaces is that I believe that the FlexE Shim is very tightly bound to the hardware.  E.g. all member of a FlexE group probably have to be on the same linecard, perhaps even the same NPU chip.  The use of interfaces, with an appropriate location specifier in the name may make it easier for clients to mentally associate a FlexE group to a particular hardware location.  Probably not a critical benefit, but helpful nevertheless.
[Xiaobing] It may be better to think that.



[RW2]

Thanks,

Rob



Thanks,

Rob


原始邮件
发件人:ccamp-request@ietf.org<mailto:ccamp-request@ietf.org> <ccamp-request@ietf.org<mailto:ccamp-request@ietf.org>>
收件人:ccamp@ietf.org<mailto:ccamp@ietf.org> <ccamp@ietf.org<mailto:ccamp@ietf.org>>;
日 期 :2019年12月09日 23:46
主 题 :CCAMP Digest, Vol 139, Issue 5
Send CCAMP mailing list submissions to
    ccamp@ietf.org<mailto:ccamp@ietf.org>

To subscribe or unsubscribe via the World Wide Web, visit
    https://www.ietf.org/mailman/listinfo/ccamp
or, via email, send a message with subject or body 'help' to
    ccamp-request@ietf.org<mailto:ccamp-request@ietf.org>

You can reach the person managing the list at
    ccamp-owner@ietf.org<mailto:ccamp-owner@ietf.org>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of CCAMP digest..."

Today's Topics:

   1. Re:  Thoughts on Flex-E YANG models (Rob Wilton (rwilton))

_______________________________________________
CCAMP mailing list
CCAMP@ietf.org<mailto:CCAMP@ietf.org>
https://www.ietf.org/mailman/listinfo/ccamp