Re: [Detnet] Discussion Item one <draft-ietf-detnet-yang-18.txt> last call
Florian Kauer <florian.kauer@linutronix.de> Fri, 12 January 2024 09:12 UTC
Return-Path: <florian.kauer@linutronix.de>
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 DC8EAC14F600; Fri, 12 Jan 2024 01:12:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.407
X-Spam-Level:
X-Spam-Status: No, score=-4.407 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=linutronix.de header.b="hLr/ckbw"; dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=linutronix.de header.b="JtAi7gSA"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lwQ2ZWLTBGGZ; Fri, 12 Jan 2024 01:12:07 -0800 (PST)
Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7EB7EC14F61A; Fri, 12 Jan 2024 01:12:07 -0800 (PST)
Message-ID: <edadacc1-16b8-476c-8bc8-59fa21d31f8f@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1705050726; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=T/2+iwhFDHrL59kNOMJFzx6alBQQzMdwuARXbYtV3kw=; b=hLr/ckbwXM/mX+KOaTz+89pt/+4KbNQ6AFO3o6g7WZ6kZpCSY1IJf8xQNO67Sxl0ajVU4N Vw6cBY4vmPDQHae/7vhCfj/ClW4MA9yoGMZjjwoWPhKv2K1RgxR2zaNKOb0aIaviACqx6+ LC6RSDrd0IC132cJjqTfaibVO0vCikVo+uPh2SGkxESRJssL8JI/GCDnPyN0jqDQUfZrkX 96vFmjZsecsBBSyXu0D8+mMT3nlpJ36GQGp0wZBs/jQuY/i1qye2Gcd7juQLWYEHeBgAsa cT9SCqw8U/9PwgE5k1LY9tVjfPTIM8AVKZsB2CPzps10UStH6nnF4UbZXCQo8A==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1705050726; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=T/2+iwhFDHrL59kNOMJFzx6alBQQzMdwuARXbYtV3kw=; b=JtAi7gSAFpEZqVWFXlpNpSUx36XbxKdPbEbldFI24aG9+sjua636sctPoWOEBbYKfITKXA zo6DkeuN9OH6o/AQ==
Date: Fri, 12 Jan 2024 10:12:02 +0100
MIME-Version: 1.0
Content-Language: en-US
To: Don Fedyk <dfedyk@labn.net>, "detnet@ietf.org" <detnet@ietf.org>, "draft-ietf-detnet-yang@ietf.org" <draft-ietf-detnet-yang@ietf.org>, DetNet Chairs <detnet-chairs@ietf.org>
References: <PH7PR14MB536846BD11778425B70557E5BB682@PH7PR14MB5368.namprd14.prod.outlook.com>
From: Florian Kauer <florian.kauer@linutronix.de>
Autocrypt: addr=florian.kauer@linutronix.de; keydata= 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 ugsSqUGtSA==
In-Reply-To: <PH7PR14MB536846BD11778425B70557E5BB682@PH7PR14MB5368.namprd14.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/IK-ipqIp-DK_1ZjsR9PDKQuYuLs>
Subject: Re: [Detnet] Discussion Item one <draft-ietf-detnet-yang-18.txt> last call
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 12 Jan 2024 09:12:11 -0000
Hi, these two changes would definitely improve the YANG model for IP data plane usage. Just one observation below with [FK]. Greetings, Florian On 11.01.24 20:43, Don Fedyk wrote: > Hi > There are two items that remain in the long discussion with Florian. > > This is the first point we need to resolve. DetNet Yang can be used for a wide variety of DetNet encapsulations. A configuration allows aggregation and disaggregation using IP and MPLS. Florian pointed out though that he was having difficulty with and L2 Application in a Detnet IP UDP encap. Below is an example. > > This is how you might config the incoming application to IP Detnet Flow. (This part required no change) > ... > "app-flows": { > "app-flow": [ > { > "name": "app-1", > "bidir-congruent": false, > "outgoing-service": "ssl-1", > "traffic-profile": "pf-1", > "ingress": { > "app-flow-status": "ietf-detnet:ready", > "interface": "eth0" > } > } > ] > }, > "service": { > "sub-layer": [ > { > "name": "ssl-1", > "service-rank": 10, > "traffic-profile": "pf-1", > "service-protection": { > "protection": "ordering", > "sequence-number-length": "short-sn" > }, > "operation": "initiation", > "incoming": { > "app-flow": { > "flow": [ > "app-1" > ] > } > }, > "outgoing": { > "forwarding-sub-layer": { > "service-outgoing": [ > { > "index": 1, > "sub-layer": [ > "fsl-1" > ] > } > ] > } > } > } > ] > }, > "forwarding": { > "sub-layer": [ > { > "name": "fsl-1", > "traffic-profile": "pf-4", > "incoming": { > "service-sub-layer": { > "sub-layer": [ > "ssl-1" > ] > } > }, > "outgoing": { > "interface": { > "src-ip-address": "192.0.2.8", > "dest-ip-address": "192.0.2.1", > "protocol-next-header": 17, > "dscp": 6, > "source-port": 50000, > "destination-port": 50001 [FK] What I am missing now here is a way to specify the next hop IP address. I think we need that regardless whether we add IP headers in the forwarding sub-layer or not. I would argue we do not need the operation-type anymore and can just do this: choice flow-type { description "These are the flow type next hop choices."; case ip { description "Use IP data plane for forwarding."; leaf next-hop-address { type inet:ip-address-no-zone; description "This is an IP address as a next hop."; } uses ip-header; } case mpls { description "Use MPLS data plane for forwarding."; uses rt-types:mpls-label-stack; } } > } > } > } > ] > } > }, > ... > > At the Egress you have the reverse. > The "+"s show a missing option when not adding a full service header. > Strictly speaking this option just adds clarity and symmetry with the ingress side config. Without the change you have a Service sublayer that has no specific reference to the forwarding sub layer. > > I think it is worth adding this. > > "app-flows": { > "app-flow": [ > { > "name": "app-1", > "bidir-congruent": false, > "incoming-service": "ssl-1", > "traffic-profile": "pf-1", > "ingress": { > "app-flow-status": "ietf-detnet:ready" > }, > "egress": { > "ethernet": { > "interface": "eth0" > } > } > } > ] > }, > "service": { > "sub-layer": [ > { > "name": "ssl-1", > "service-rank": 10, > "traffic-profile": "pf-1", > "service-protection": { > "protection": "ordering", > "sequence-number-length": "short-sn" > }, > "operation": "termination", > + "incoming": { > + "forwarding-sub-layer": { > + "sub-layer": [ > + "fsl-1" > + ] > + } > + }, > "outgoing": { > "app-flow": { > "flow": [ > "app-1" > ] > } > } > } > ] > }, > "forwarding": { > "sub-layer": [ > { > "name": "fsl-1", > "traffic-profile": "pf-4", > "incoming": { > "forwarding-id": { > "src-ip-prefix": "192.0.2.1/32", > "dest-ip-prefix": "192.0.2.8/32" > } > }, > "outgoing": { > "service-sub-layer": { > "sub-layer": [ > "ssl-1" > ] > } > } > } > ] > } > }, > > This requires a small addition to the YANG model. I > > @@ -1189,6 +1189,19 @@ module ietf-detnet { > node or egress node."; > uses detnet-flow-spec; > } > + container forwarding-sub-layer { > + description > + "This entry allows passing the packet directly to > + one or more forwarding sub-layers. This option may > + have no or minimal service sublayer encapsuation."; > + leaf-list sub-layer { > + type forwarding-sub-layer-ref; > + config false; > + description > + "List of incoming or outgoing forwarding sub-layers that > + have to aggregate or disaggregate."; > + } > + } > > While I was testing this, I noted that a container labeled mpls-over-ip-encapsulation is more appropriately labeled ip-encapsulation. I think this is more accurate - it has no impact on any yang data and minimal yang/tree change. > > @@ -760,7 +760,7 @@ module ietf-detnet { > "This is an IP address as a next hop."; > } > } > - case mpls-over-ip-encapsulation { > + case ip-encapsulation { > uses ip-header; > } > } > @@ -802,7 +802,7 @@ module ietf-detnet { > "This is an IP address as a next hop."; > } > } > - case mpls-over-ip-encapsulation { > + case ip-encapsulation { > uses ip-header; > } > } > > I need co-authors to speak up and consensus this a good idea. > > Thanks > > Don Fedyk