Re: [Detnet] Changes of <draft-ietf-detnet-yang-18.txt> last call
Florian Kauer <florian.kauer@linutronix.de> Thu, 25 January 2024 18:27 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 3F3F3C14F6F4; Thu, 25 Jan 2024 10:27:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.406
X-Spam-Level:
X-Spam-Status: No, score=-4.406 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_BLOCKED=0.001, 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="MDV83mNc"; dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=linutronix.de header.b="cULGCFM/"
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 HaEqN-rlSOWB; Thu, 25 Jan 2024 10:27:11 -0800 (PST)
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (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 00F22C14F6B2; Thu, 25 Jan 2024 10:27:10 -0800 (PST)
Message-ID: <46e61063-6e89-4e95-985f-f55fbc64b852@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1706207228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc: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=N4yfcxkwiU6NGCZAmiHxq95rjNPC96f8JszU8qheXVk=; b=MDV83mNczCUy9GQN7JEWy3878LHm08MvioJWnuzXuLs7d+zIFlrwiPNjdUIWhrZ87nu6CW m0Fk23GAHGP+LK0nVlYMKJPxDIzjB1RUpJxADfD6GsfGddMODXDfG2Pi6i50JtVvgtE3BJ KvNuuFicZwuYfInNYiY8IkWHWrxyl15fDMJhWBdqkZrla0uikwjC7dxbugfgkfp107Q+dY L6yGGBpbI3vTVcFcbXagmXGIQzu5sPun265B3scZXMvAtACoHPzpZvywp+T+ADswWY9E/n xvzRBAHs3wE4o0BDfh1pt1LWeKMgbRt7xnEyxw/rUtss4A8Dl+iMt5yimeZ2pg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1706207228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc: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=N4yfcxkwiU6NGCZAmiHxq95rjNPC96f8JszU8qheXVk=; b=cULGCFM/CiC5q8g7CWv7ylot55oXxgLAFW2aB3zitL3gyNfbLPK9d2ra7V+7hQprfFfy/r HR30PxQIqXk/D7DA==
Date: Thu, 25 Jan 2024 19:27:07 +0100
MIME-Version: 1.0
Content-Language: en-US
To: Don Fedyk <dfedyk@labn.net>, John Scudder <jgs@juniper.net>
Cc: "draft-ietf-detnet-yang@ietf.org" <draft-ietf-detnet-yang@ietf.org>, "detnet@ietf.org" <detnet@ietf.org>
References: <PH7PR14MB53680967B965EA595EA1D9AFBB712@PH7PR14MB5368.namprd14.prod.outlook.com> <4CC58BA3-F3F6-42E6-9D83-AF47A2DE1B06@juniper.net> <PH7PR14MB5368AAD925436BC82009366EBB7A2@PH7PR14MB5368.namprd14.prod.outlook.com>
From: Florian Kauer <florian.kauer@linutronix.de>
Autocrypt: addr=florian.kauer@linutronix.de; keydata= xsFNBGO+z80BEADOSjQNIrfbQ28vjDMvs/YD/z0WA/iJNaD9JQDXNcUBDV1q+1kwfgg5Cc7f rZvbEeQrO7tJ+pqKLpdKq6QMcUW+aEilXBDZ708/4hEbb4qiRl29CYtFf8kx4qC+Hs8Eo1s3 kkbtg/T4fmQ+DKLBOLdVWB88w6j/aqi66r5j3w9rMCaSp0eg7zG3s/dW3pRwvEsb+Dj7ai2P J1pGgAMKtEJC6jB+rE17wWK1ISUum22u17MKSnsGOAjhWDGiAoG5zx36Qy5+Ig+UwIyYjIvZ lKd8N0K35/wyQaLS9Jva0puYtbyMEQxZAVEHptH1BDd8fMKD/n03GTarXRcsMgvlkZk1ikbq TL9fe2u9iBI861ATZ4VwXs48encOl3gIkqQ/lZbCo8QRj7pOdvOkx/Vn20yz809TTmRxCxL1 kdSbHROfEmUCAQdYSLUUfPYctCIajan/zif/W3HZKJJ3ZTbxdsYonLF9+DSlkFU+BSL147in tDJ83vqqPSuLqgKIdh2E/ac2Hrua0n80ySiTf7qDwfOrB8Z2JNgl1DlYLbLAguZJ4d608yQZ Tidmu22QopA47oQhpathwDpEczpuBBosbytpIG7cNvn98JnEgWAwRk0Ygv9qhUa/Py4AcYG8 3VEkoTZ9VNSP1ObMxcraF+KH5YYkR6Rd2ykmTulh4FqrvyOyMwARAQABzStGbG9yaWFuIEth dWVyIDxmbG9yaWFuLmthdWVyQGxpbnV0cm9uaXguZGU+wsGUBBMBCgA+FiEE8X2LVBM8IilJ PmSgtZdt1lJRlE4FAmO+z80CGwMFCQPCZwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ tZdt1lJRlE41Kw/9EMsgm3D6a4a8J4iKw5UGyDu31LbVW83PKIZ8lALdtzNuT/1Q85IKc7lT +hFtYYLos05tjo0lQ2SCf5qRP7FY/hGnk+1Hqnog9eloG+Eh522iojId2rPL4I9w0XvlN4Mm BleqCvBn3YPVGW0kxJXTwZDRQfReVLeFSKTvXwWYJYrvleF2Cgyom/tcNrugHJfVPOYOe/qN NpiIawhF8Q/9YnGeW0FydhrIB+A4jJvuk36mt6/D/Mqj7kbYp0vGYXmt7lbp/n8luApzNwbZ gJzMa+a8l2+5b+95zaJMcxYSP9M26uS5khTCWDs9PcasFB9IfU0uHAhIPxV6SNVXK1A0R8VY 2gxtprowtbnWBCIRh2xJls6sOUn4EJH0S0/tlTM/wOH2n3wrKqhz+8gQF5hj3f8P5B5UL/05 uhZg3zyeTFhQl2zqaD+a1KI4Dm0vf1SfnCpsvJvimfWoyRgMnSuosN+JC2b9LuR7Leq3g0lC okVY6546ccr7i4YaGKcdQX8/+0tFECNlhKPjR3ycQXToCquzkuMuHW/5ugmcFaebAOZ1nPT8 v/IdeuephUj4Xa8GUHmly/t44k1SH8xh2GHYAav43Yo7an2eJwBhRx+4vJioFK134fFTzBET DelXAoM5z9A21h1ZTEHHxro2DLbmzEmfDf97Hjhvwytupf1fHwbOwU0EY77PzQEQANDDECcC GPzSBAbMY56gUC7pLSy4+2KSRWS4cz3fNb6HHEmdSvhu+oq0zxm3Q04eJO2Mcu5DfTWEng+d u2rxRAGqDu/b/EVC0AbQLuDL2kvnO5LOVR9JPcyrsTGyrfq84QspY/KzTZaWkDbTX2G3yLmz AJs19LyehFC3kfSyQBcsvPR3fb/gcuU+fYhJiAFrHERovnSCA/owKRrY4aBzp7OGJQ2VzjbT g81rWnJY2WJGSzu5QPbU4n/KT+/NrkNQ91/Qsi8BfHmg4R1qdX7vNkMKWACttQKHm38EdwaH cX4hzYXad0GKzX219qeExt83dSiYmzLO8+ErJcCQPMIHViLMlLQVmY3u7QLE2OTHw51BRyhl i3Yjeqwzh5ScIOX3Fdhlb18S2kPZQZ/rRUkrcMUXa/AAyKEGFZWZhpVBTHSn+tum7NlO/koh t4OKO84xkaoa+weYUTqid86nIGOfsgUOZ192MANK/JggQiFJTJ2BMw/p3hxihwC1LUsdXgqD NHewjqJhiTjLxC6ER0LdrTURG4MS2tk5WjRgpAaAbKViXLM/nQ7CVlkyzJsdTbiLflyaHHs2 s18O+jiXDGyQQBP5teBuYFZ3j5EB2O+UVbQMBHoeZJQrtKgxHyyj9K0h7Ln/ItTB3vA9IRKW ogvwdJFhrSZBwoz+KQoz3+jo+PcBABEBAAHCwXwEGAEKACYWIQTxfYtUEzwiKUk+ZKC1l23W UlGUTgUCY77PzQIbDAUJA8JnAAAKCRC1l23WUlGUTq6wD/4zGODDbQIcrF5Z12Cv7CL2Qubb 4PnZDIo4WNVmm7u+lOXciEVd0Z7zZNZBClvCx2AHDJyPE8/ExqX83gdCliA2eaH2qPla1mJk iF6U0rDGGF5O+07yQReCL2CXtGjLsmcvYnwVvB5o70dqI/hGm1EKj1uzKRGZSe6ECencCIQ4 2bY8CMp+H5xoETgCw90FLEryr+3qnL0PEfWXdogP4g+IQ9wSFA3ls4+4xn6+thpWNhVxEv/l gEAES2S7LhgDQUiRLusrVlqPqlpQ51J3hky56x5p5ems42vRUh6ID/0mMgZQd+0BPgJpkovs QoaQAqP2O8xQjKdL+YDibmAPhboO1wSoy0YxxIKElx2UReanVc06ue22v0NRZhQwP9z27wwE Bp9OJFE0PKOM5Sd5AjHRAUoFfMvGSd8i0e3QRQHEcGH1A9geAzY+aw7xk8I2CUryjAiu7Ccd I6tCUxSf29+rP4TKP+akaDnjnpSPwkZKhPjjEjPDs9UCEwW3pKW/DtIMMVBVKNKb5Qnbt02Z Ek1lmEFP3jEuAyLtZ7ESmq+Lae5V2CXQ121fLwAAFfuaDYJ4/y4Dl1yyfvNIIgoUEbcyGqEv KJGED0XKgdRE7uMZ4gnmBjh4IpY6a2sATFuBiulI/lOKp43mwVUGsPxdVfkN/RRbFW7iEx63 ugsSqUGtSA==
In-Reply-To: <PH7PR14MB5368AAD925436BC82009366EBB7A2@PH7PR14MB5368.namprd14.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/OoWOqnfDbTqOmRBrZIMQQvTLn9s>
Subject: Re: [Detnet] Changes of <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: Thu, 25 Jan 2024 18:27:15 -0000
For me, everything looks great now, thanks a lot! I was not able to validate every potential combination that I had in mind yet, but that would anyway take forever... So please go ahead and thanks again for the discussion! Greetings, Florian On 25.01.24 19:13, Don Fedyk wrote: > I'm ready to upload. I will do it tomorrow or earlier if Florian agrees - giving one last chance for Florian to respond. > > Thanks > Don > > -----Original Message----- > From: John Scudder <jgs@juniper.net> > Sent: Thursday, January 25, 2024 1:11 PM > To: Don Fedyk <dfedyk@labn.net> > Cc: Florian Kauer <florian.kauer@linutronix.de>; draft-ietf-detnet-yang@ietf.org; detnet@ietf.org > Subject: Re: [Detnet] Changes of <draft-ietf-detnet-yang-18.txt> last call > > Hi Don, > > Thanks to you and Florian for all your efforts in working through Florian’s review. I don’t mean to rush you, but I’m wondering how long you intend to wait for review before publishing a new version. A week seems reasonable to me (and thanks to Reshad for the LGTM) but use your own judgement. > > Thanks, > > —John > >> On Jan 18, 2024, at 12:02 AM, Don Fedyk <dfedyk@labn.net> wrote: >> >> >> >> Hi >> Florian Kauer proposed 3 changes to the DetNet YANG. I’ve looked at them and they have a minimal impact. I propose accepting them (see below) . >> Here is the summary of the functional changes. I have pushed the full update to the GitHub. https://github.com/detnet-wg/draft-ietf-detnet-yang >> I have also pasted below a test example operational data on the changed items with same data (highlighting the changes). >> I have verified all examples in the draft appendix are unaffected by the changes and work before and after the change. >> >> For Brevity Only the functional changes and accompanying descriptions are here. See GitHub for full document you can diff between 18-19. >> >> 1st change remove choice operation type – This change is an optimization. Operation-type is a choice statement. There is no loss of function removing it. We had nested choice statements this flattens that logic. >> >> @@ -750,22 +750,18 @@ module ietf-detnet { >> description >> "These are the flow type next hop choices."; >> case ip { >> - choice operation-type { >> + description >> + "Use IP data plane for forwarding."; >> + leaf next-hop-address { >> + type inet:ip-address-no-zone; >> description >> - "This is the IP forwarding operation choices."; >> - case ip-forwarding { >> - leaf next-hop-address { >> - type inet:ip-address-no-zone; >> - description >> - "This is an IP address as a next hop."; >> - } >> - } >> - case mpls-over-ip-encapsulation { >> - uses ip-header; >> - } >> + "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; >> } >> } >> >> Second instance of 1st change. >> >> @@ -792,22 +788,18 @@ module ietf-detnet { >> description >> "These are the flow type next hop choices."; >> case ip { >> - choice operation-type { >> + description >> + "Use IP data plane for forwarding."; >> + leaf next-hop-address { >> + type inet:ip-address-no-zone; >> description >> - "These are the next hop choices."; >> - case ip-forwarding { >> - leaf next-hop-address { >> - type inet:ip-address-no-zone; >> - description >> - "This is an IP address as a next hop."; >> - } >> - } >> - case mpls-over-ip-encapsulation { >> - uses ip-header; >> - } >> + "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; >> } >> } >> >> 2nd change from an optional leaf of interface-ref to an optional leaf-list of interface-ref. The current YANG allowed zero or one interface per Application. Florian requested this be a list. This allows an application to have zero, one or a set of interfaces. >> This is the ingress followed by egress. (with some cleanup of description text.) >> @@ -1061,29 +1054,40 @@ module ietf-detnet { >> "RFC 9016 Sections >> 4.1, 5.8"; >> } >> - leaf interface { >> + leaf-list interface { >> type if:interface-ref; >> description >> - "Interface is used for any service type when >> - matching all flows to the interface."; >> + "Interface is optional for a service type. When >> + matching a flow to a single interface one >> + interface is specified. The list allows for >> + matching a subset of interfaces. When more >> + than one interfaces is specified, these >> + flows are simply aggregated and the service >> + sub-layer is unaware of the aggregation."; >> } >> uses data-flow-spec; >> } //End of app-ingress >> container egress { >> description >> - "Route's next-hop attribute."; >> + "Egress DetNet application flows or a compound flow."; >> uses data-flow-spec; >> choice application-type { >> description >> "This is the application type choices."; >> container ethernet { >> description >> - "This is TSN unaware traffic that maps to an >> + "This is Ethernet or TSN traffic that maps to an >> interface."; >> - leaf interface { >> + leaf-list interface { >> type if:interface-ref; >> description >> - "This is an Ethernet or TSN interfaces."; >> + "This is one or more Ethernet or TSN interfaces. >> + If multiple interfaces are specified, this >> + application flow is replicated to those >> + interfaces. DetNet application Flow filtering >> + applies to the whole list of interfaces. >> + For fine grain flow filtering, use a single >> + interface per application."; >> } >> } >> container ip-mpls { >> >> 3rd Change for a simple IP encapsulation of an Ethernet flow. The option to directly forward a service sub-layer flow to a forwarding sub-layer was missing. This is cleaner and aligns with other cases. >> >> @@ -1188,6 +1192,18 @@ module ietf-detnet { >> node or egress node."; >> uses detnet-flow-spec; >> } >> + container forwarding-sub-layer { >> + description >> + "This entry specifies one or more forwarding >> + sub-layers. No or minimal service sub-layer >> + encapsulation is allowed."; >> + leaf-list sub-layer { >> + type forwarding-sub-layer-ref; >> + config false; >> + description >> + "List of outgoing forwarding sub-layers."; >> + } >> + } >> } >> } >> container outgoing { >> >> >> Example of a TSN Ethernet flow arriving on two interfaces and encapsulated in DetNet IP UDP Unidirectional Ingress – followed by DetNet Decapsulation back to TSN on two interfaces with changes, >> In the example that follows the version 18 of the draft XML data validated against the version 19 YANG generated schema. >> The following is a version 19 example . >> >> Ingress TSN Application ->service sub-layer-> forwarding sub-layer (UDP) >> JSON: >> "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", /*Before change single ref */ >> "interface": [ /*"interface": "eth0", version 18*/ >> "eth0", >> "eth1" >> ], >> "tsn-app-flow": { >> "vlan-id": 10 >> } >> } >> } >> ] >> }, >> "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": { /* Option did not exist */ >> "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", /* No change with removal of choice. */ >> "dest-ip-address": "192.0.2.1", >> "protocol-next-header": 17, >> "dscp": 6, >> "source-port": 50000, >> "destination-port": 50001 >> } >> } >> } >> ] >> } >> } >> >> Forwarding Sub-layer -> Service Sub-layer -> Egress TSN Application interfaces. >> JSON: >> "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": { >> "tsn-app-flow": { >> "vlan-id": 10 >> }, >> "ethernet": { /* Before change single ref */ >> "interface": [ /* "interface": "eth0", version 18*/ >> "eth0", >> "eth1" >> ] >> } >> } >> } >> ] >> }, >> "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" >> ] >> } >> } >> } >> ] >> } >> }, >> >> Please comment. >> Thanks >> Don >> >> >> >> >> _______________________________________________ >> detnet mailing list >> detnet@ietf.org >> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/detnet__;!!NEt6yMaO-gk!EeAepDoyrIRu7UqDYswDuZHaSM_eeao2iYy1MwdQ8Sc__tvlpoEAaW-j9x3hIo3LD0Q0oblYHGk$ >
- [Detnet] Changes of <draft-ietf-detnet-yang-18.tx… Don Fedyk
- Re: [Detnet] Changes of <draft-ietf-detnet-yang-1… Reshad Rahman
- Re: [Detnet] Changes of <draft-ietf-detnet-yang-1… John Scudder
- Re: [Detnet] Changes of <draft-ietf-detnet-yang-1… Don Fedyk
- Re: [Detnet] Changes of <draft-ietf-detnet-yang-1… Florian Kauer
- Re: [Detnet] Changes of <draft-ietf-detnet-yang-1… Gengxuesong (Geng Xuesong)