Re: [Detnet] Comparing DetNet YANG models - Application Part

"Gengxuesong (Geng Xuesong)" <gengxuesong@huawei.com> Tue, 14 April 2020 06:40 UTC

Return-Path: <gengxuesong@huawei.com>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D54743A0DCD; Mon, 13 Apr 2020 23:40:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 0QBZyodyIhzZ; Mon, 13 Apr 2020 23:40:38 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 0BB8E3A0DCE; Mon, 13 Apr 2020 23:40:38 -0700 (PDT)
Received: from lhreml709-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id B7F088EBF436722CFCE0; Tue, 14 Apr 2020 07:40:36 +0100 (IST)
Received: from dggeme754-chm.china.huawei.com (10.3.19.100) by lhreml709-cah.china.huawei.com (10.201.108.32) with Microsoft SMTP Server (TLS) id 14.3.487.0; Tue, 14 Apr 2020 07:40:35 +0100
Received: from dggeme752-chm.china.huawei.com (10.3.19.98) by dggeme754-chm.china.huawei.com (10.3.19.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Tue, 14 Apr 2020 14:40:33 +0800
Received: from dggeme752-chm.china.huawei.com ([10.6.80.76]) by dggeme752-chm.china.huawei.com ([10.6.80.76]) with mapi id 15.01.1713.004; Tue, 14 Apr 2020 14:40:33 +0800
From: "Gengxuesong (Geng Xuesong)" <gengxuesong@huawei.com>
To: Don Fedyk <dfedyk@labn.net>, 'DetNet WG' <detnet@ietf.org>
CC: Mach Chen <mach.chen@huawei.com>, 'Balázs Varga A' <balazs.a.varga@ericsson.com>, 'Janos Farkas' <Janos.Farkas@ericsson.com>, 'DetNet Chairs' <detnet-chairs@ietf.org>, "draft-ietf-detnet-yang@ietf.org" <draft-ietf-detnet-yang@ietf.org>, 'Lou Berger' <lberger@labn.net>, '유연철' <dbduscjf@etri.re.kr>
Thread-Topic: Comparing DetNet YANG models - Application Part
Thread-Index: AdYOisUw5pcJqro/S2OFApQ3oRpnXQCqgFgwADbxQ5A=
Date: Tue, 14 Apr 2020 06:40:33 +0000
Message-ID: <a9ade7390fa1414e939df380fa773462@huawei.com>
References: <001b01d60e8a$db981060$92c83120$@labn.net> <4fcaca6a792f484ea74ff37a9ad80a4d@huawei.com>
In-Reply-To: <4fcaca6a792f484ea74ff37a9ad80a4d@huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.108.203.104]
Content-Type: multipart/alternative; boundary="_000_a9ade7390fa1414e939df380fa773462huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/ARoSQKKEw8g31RtSEltfYrSox2Y>
Subject: Re: [Detnet] Comparing DetNet YANG models - Application Part
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Apr 2020 06:40:41 -0000

Hi WG,

In DetNet YANG Model Call meeting of yesterday,  we together further analyzed the difference between current two yang modules: one from the current draft,  and the other one from what Don has uploaded in github. Here are some conclusion which could also be treated as feedback of questions raised by Don’s previous email:

1.       It is still under discussion about what should be included in  DetNet “service sub-layer” instance, especially whether the parameters in service sub-layer encapsulation should be included, e.g. flow identification and sequence number, which could be included in service sub-layer or in forwarding sub-layer, together with all other encapsulation relevant parameters (The authors agree to go back to  the RFC8655 and try to figure out which one will be more propitiate based on the design of DetNet architecture)

2.       There are two options about how to organize the parameters inside each DetNet node (including edge node/relay node/transit node):

1)       current draft: there are in-segment and out-segment for each sub-layer in DetNet node

-          Edge node: application in-segment -> application out-segment -> forwarding in-segment->forwarding out-segment

-          Relay node: forwarding in-segment->forwarding out-segment->service in-segment->service out-segment->forwarding in-segment->forwarding out-segment

-          Transit node: forwarding in-segment->forwarding out-segment

2)       Don’s proposal: try to make it simple, and there is only one direction in each sub-layer

-          Edge node: [in: application flow, service sub-layer] [out: forwarding sub-layer]

-          Relay node: [in: service sub-layer] [out: forwarding sub-layer]

-          Transit node: [out: forwarding sub-layer]
(The summary above is based on my understanding. If there is anything wrong, please correct me.)
The discussion will be continued in the next call meeting. If anyone in WG is interested in DetNet YANG Model are welcome to join us.

Best Regards
Xuesong
From: Don Fedyk [mailto:dfedyk@labn.net]
Sent: Friday, April 10, 2020 12:21 AM
To: 'DetNet WG' <detnet@ietf.org<mailto:detnet@ietf.org>>
Cc: draft-ietf-detnet-yang@ietf.org<mailto:draft-ietf-detnet-yang@ietf.org>; 'DetNet Chairs' <detnet-chairs@ietf.org<mailto:detnet-chairs@ietf.org>>; 'Janos Farkas' <Janos.Farkas@ericsson.com<mailto:Janos.Farkas@ericsson.com>>; '유연철' <dbduscjf@etri.re.kr<mailto:dbduscjf@etri.re.kr>>; 'Lou Berger' <lberger@labn.net<mailto:lberger@labn.net>>; 'Balázs Varga A' <balazs.a.varga@ericsson.com<mailto:balazs.a.varga@ericsson.com>>; Mach Chen <mach.chen@huawei.com<mailto:mach.chen@huawei.com>>
Subject: Comparing DetNet YANG models - Application Part

Hi

Here is some more details from my notes on the DetNet Applications YANG comparisons.

Differences between these YANG Models comparing the tree
1)      Current Detnet YANG Model ietf-detnet-config v5
2)      Prototype Detnet YANG proposed by me in Github repo.
https://github.com/detnet-wg/draft-ietf-detnet-yang/files/4250955/ietf-detnet-flow.tree.txt


It looks like the two trees have different starting assumptions.
Here is my starting Assumptions:

  *   Much of the YANG for DetNet exists and we are pulling together existing pieces.
The Detnet Architecture models the Application as a source and destination of traffic.

  *   My assumption is DetNET does not need to model the complete application – just the DetNet portion.
Consider a voice over IP application.  This is an application that receives voice data perhaps in analog or digital form.
There are parameters about encoding the voice, the service the control plane etc. that are external to DetNet.
The Voice application adds an IP header to the packet.
Another example would be a voice application that is on a remote node and now the IP arrives a the DetNet domain edges.
It is an application because it is using a non DetNET header (or a DetNet header form a different domain) .  This ignores interworking scenarios between DetNet domains. They are out of scope for now.
Given that what does and Application do? It identifies flows by labels. Then it assigns traffic parameters and forwards to the Service Sub layer.
On application ingress(in-segment).

Where the DetNet Application comes in:
At some point in the application there is an IP flow with certain bandwidth and delay characteristics for the voice packets.
This is the starting point for the DetNET application YANG.
A ingress stream of packet with a header and traffic characteristics.
(Also an egress stream of packets with the native header IP).
In other words the application may be the generator of traffic but the part DetNet needs to model already has a packet with a headers.
Similarly we never pull off the full header on egress even though a part of the application may well do this.
The egress just passes the packet back to the application.

Functionally the DetNet application portion is identifying flows to be carried by DetNet on ingress.
The flows arrive in a native format.
It is forwarding on those flow back to there native format.

Looking at the models:
For the model for 2.
On ingress I match on Flow model parameters (IP and MPLS)  (Ethernet was intentionally not in my models but would be added one we agree).
And there are traffic parameters that are configured for this flow.
In the model I currently call both of these interfaces. I’m assuming some could be internal interfaces and others are physical interfaces or virtual interfacing on physical ports.
On egress from the application there is nothing to do but follow the next hop base on the native header.
An Egress packet arriving from the service-sub layer is now the original packet header because the service and forwarding sub-layer have terminated and we have the packet as it was formatted by the far end applications.

Comparing Model 1) on Application ingress
Application IP matching In-segment.
In 2 )I reused RFC 8519 as a matching input.  (Not all fields are used just those mentioned in Detnet Flow Document)
In 1 )there are parts of RFC 8519 but it seems to jump to ports without discriminating on protocol (TCP-UDP)
There are also fields that go beyond the flow model. It also seems to be tied right into the application

Application MPLS header
On application ingress(in-segment)
In1 There is a stack from RFC 8294 in the non-platform label space and only a single label under the platform label space.
In 2) I reused RFC 8294 MPLS label stack under the interface or platform label space.

On application egress (out-segment)
In 2) We have an egress next hop.  This the application address space IP or MPLS.
This is straight from a routed next hop.
The forwarding sublayer has remove any DetNet sublayer header form this domain.

In 1) I think there is a lot that does not need to be there.
To me it looks like the model assumes it was the whole application. (It it’s trying to adjust packet headers)
It has a Detnet header – the application should not see a Detnet header It should not see layers.
It has refences to the service and forwarding sub-layers. -Why?

Some Specific Items
In 2) I use an Application name and added  AppID  to application (serviceID)s .  My feeling was although any application can uniquely identified by name a system generated ID would be useful.  However that we can pulled the AppID and leave it to vendors.  The flow document uses identifier.

In 2) the term TSN is used. We agreed on the call it should be Ethernet.

Please feel free to comment.  We can go over these points in the  next call.
Cheers
Don