Re: [CCAMP] Comments on draft-jiang-ccamp-flexe-ifmps & draft-jiang-ccamp-flexe-yang

Jiangyuanlong <> Thu, 21 November 2019 08:16 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 45A4B120864 for <>; Thu, 21 Nov 2019 00:16:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ddXqWBL6L3ub for <>; Thu, 21 Nov 2019 00:15:59 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1B86412085E for <>; Thu, 21 Nov 2019 00:15:59 -0800 (PST)
Received: from (unknown []) by Forcepoint Email with ESMTP id 42A1F9DAAC1B3C432651 for <>; Thu, 21 Nov 2019 08:15:57 +0000 (GMT)
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 21 Nov 2019 08:15:56 +0000
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Nov 2019 08:15:55 +0000
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Thu, 21 Nov 2019 08:15:55 +0000
Received: from ([]) by ([]) with mapi id 14.03.0439.000; Thu, 21 Nov 2019 16:15:42 +0800
From: Jiangyuanlong <>
To: "" <>, "" <>
Thread-Topic: [CCAMP] Comments on draft-jiang-ccamp-flexe-ifmps & draft-jiang-ccamp-flexe-yang
Thread-Index: AQHVoAzNJi5ZvVnHsU+FewCv8ORV8qeVJBOQ
Date: Thu, 21 Nov 2019 08:15:42 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
x-originating-ip: []
Content-Type: multipart/related; boundary="_004_3B0A1BED22CAD649A1B3E97BE5DDD68BD378F50Adggeml512mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <>
Subject: Re: [CCAMP] Comments on draft-jiang-ccamp-flexe-ifmps & draft-jiang-ccamp-flexe-yang
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion list for the CCAMP working group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 21 Nov 2019 08:16:04 -0000

Hi Qilei,

Thank you much for all the comments, please see my replies inline.


From: CCAMP [] On Behalf Of
Sent: Thursday, November 21, 2019 9:41 AM
Subject: [CCAMP] Comments on draft-jiang-ccamp-flexe-ifmps & draft-jiang-ccamp-flexe-yang

Dear Authors,

Personally speaking, I think there are some drawbacks in your model.

[Jiang] Would appreciate much if you can provide a similar table as we provided in slide 15 & 16 of slides-106-ccamp-7-yang-data-model-for-flexe-interface-management-01.

The model should be comprehensive to support the configuring of any types FlexE capable functions/devices. For the control/management modelling work, we should not assume to much about the implementing of devices. The data model should be able to be applied in different cases. We should avoid the developing of the vendor specific model. The model we are developing should be capable of being applied to various kinds of device.

[Jiang] Agreed, and that is our intent.

The draft-xiaobn-ccamp-flexe-yang-mod is progressing towards this direction.

Comments on some PS in your slides:

PS2:Slot-status should be enumerated

Comments: I agree with this, but I suspect whether the model in draft-jiang can deal with every cases. According to the description in FlexE IA, Usually, the unavailable slots are placed at the end of each relevant sub-calendar (the highest numbered slots). Could you please give some clarification that whether your model support the unavailable slot distributed over several sub-calendars, i.e., FlexE instance? In draft-xiaobn-ccamp-flexe-yang-mod, it can be well dealt with by indicating the unavaile slots number on different instances.

[Jiang] Definitely, unavailable slots can be marked in flexe-slot-status (a leaf of calendar-slot-list) in our model. Actually, this model provides a clear status indication of {used, unused, unavailable} for each slot. On the contrary, in your model, unused slots are not in bookkeeping, thus unused slots can only be determined after traversing all the flexe-clients (deduct the used slots for each client from the overall calendar slots) which is not efficient.

PS3: how to configure FlexE? only PHY, FlexE group, FlexE client, slot mapping are mentioned in your draft.

Comments: the figure on page 4 of your slides is not from the latest version of FLEXE IA. The latest version replace the FlexE PHY number with FlexE instance number. In OIF FLEXE IA and ITU-T G.8023 Amd1, the descritpion explicitly tell that the allocation and verification of slots are done at instance level. Why does your model just manipulate at PHY level and not align with FLEXE IA and G.8023 Amd1?

draft-xiaobn-ccamp-flexe-yang-mod aligns with FLEXE IA and G.8023 Amd1 well.

[Jiang] slide 10 in slides-106-ccamp-7-yang-data-model-for-flexe-interface-management-01 answers this question. It seems your model cannot align with FlexE 1.0 & FlexE 1.1, as FlexE instance was first introduced in FlexE 2.0. Furthermore, exposing all management information defined in G.8023 Amd1 as you proposed is discouraged even in ITU-T SG15.

PS4: implement overhead information or not?

• A negotiation protocol between calendars is introduced

• CCA, CCB, CC, CR, CA should be data plane internal artifacts, NOT necessary to be exposed

Comments: for the first item, the negotiation protocol is not clear.

I can not find any description about this in FlexE data plane documents. Currently, only static and master/slave are described in the data plane documents, which are relevant to the negotiation between source and destination devices. It would be better to align with data plane. It is not a good idea to invent new technology for this, as this will bring confusion.

[Jiang] As we already replied on the site, it is just an introduction of OIF defined overhead for calendar switching, see FlexE 2.0 and 2.1. There is nothing to be invented.

For the second item, I would say CC, CR and CA is data plane internal artifacts, but for CCA and CCB, it's not. Example below:

Please see the two figures below. For the first case, controller is responsible for deciding the initial A or B calendar configuration installed on the data plane devices; for the second case, the device is responsible for deciding A or B calendar configuration. It looks your model can only deal with the second case by assuming these calendar configuration functions implemented on the device. This is dangeous way for modelling work. The model should be comprehensive, and could deal with all kinds of devices. draft-xiaobn-ccamp-flexe-yang-mod could be applied in all the cases mentioned above.

[Jiang] IMO, both case 1 and case 2 as you describe are optional solutions. Under what circumstance that a controller needs to know details of CCA & CCB (maybe quite a large table as each slot needs an item respectively) and configure both of them will be a more valid use case (in our analysis, writing to CCA & CCB at the same time will cause loss of traffic on all the FlexE clients, thus should best be avoided). As an optional solution for your case 1, a controller/NMS can provide a single initial calendar configuration for the device, and the device then installs them on calendar A directly (in initiation as you says). If there is any device which happens to be switched to CCB, it must be capable to be initialized to CCA or switched back to CCA by an RPC command, that will be much simpler compared with managing both CCA & CCB on the controller/NMS as your model suggested (while also taking the risk in loss of traffic on all existing FlexE clients).


PS6: support of bidirectional transport or not

• FlexE links are all bidirectional symmetric links so far

• Unidirectional parameters Tx/Rx should NOT be considered till the real use case

Comments: Please think about the case that the slots allocated for bidirectional transport are asymmetric.

We authors from talked about this. I also confirmed this with FlexE IA editor Steve Trowbridge.

[Jiang] transport network is typically bidirectional asymmetric, even in future if asymmetric bandwidth is needed like in PON network, the module can be easily augmented to add RX attributes (IMHO, we don’t see such a need yet).

The FlexE yang model draft from you is based on the problem statement draft, so the above issues exist in the yang model as well.