[Detnet] Discussion Item one <draft-ietf-detnet-yang-18.txt> last call

Don Fedyk <dfedyk@labn.net> Thu, 11 January 2024 19:43 UTC

Return-Path: <dfedyk@labn.net>
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 98C12C14F6FF; Thu, 11 Jan 2024 11:43:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=labn.onmicrosoft.com
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 FtcGhK0mDwV8; Thu, 11 Jan 2024 11:43:34 -0800 (PST)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2094.outbound.protection.outlook.com [40.107.244.94]) (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 2B22FC14F6FD; Thu, 11 Jan 2024 11:43:33 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XKOhm7jidxORPkFTiieX9ctKK1qFeLYSyjMQp/sT66sbxv6z8e/s4nW/YyARnuHiY7OXBNN/pa2Z5DYA5BeLrcdK/Ai4PbIpOrWUT6GJMLz2cuiDHkA37bNSKqQzi9KpYvalpKeC+Di3pDz3HQOfycXC8zf76UrzHf1NLe3NMcTrPkUwsrEN2nK/gBoDHiSuwStRz8OFwzHfKv/kvUCRprTEIorsGP3HblWjz0kiu+VOPuoY4chG07tQKT9n//uDX5P05XVruQaffI393xP5aW8d3dut0AyjxR0o1IdfvP90itd0N1eIoSO0EoV2WjRYwb2wckoH3ya9E0iNVamaZg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DdLR96ORC/tlTJY29Daqp/rDaPuv+T6xlowUW5TaUJc=; b=n+NJ1MNKNWzT8+5U8qipVsUgL8RTnbUdxH0CJIQ6hAYKfgVlIrxd1yqklO6S9JZgh1Rxuvnv2uwHy1cIt/V9mpO8DxJPzUtk4Q6EpXmMKntpnLCfdynG+YuxQ/VeKFyqRXlOkmEE60vpSbHqTx2qENTn5tY6Yb0DnqOENvRgVcohOyfPxZ/jl0C2F9ydui5OvwqJ8OMkGPGg+kKwtZzWIaxaB7R6HopAJgkyQklHd3odsvOTN+xjatmKEh995LZ102WYyKCvwG4kJVdjIvSeNyEdPGIQvqsVLyz9elBXIKO/H1XI1Q/SQyroXclo4mpyNOgG5RWb/IKCAr0lnL7Ldg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=labn.net; dmarc=pass action=none header.from=labn.net; dkim=pass header.d=labn.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=labn.onmicrosoft.com; s=selector2-labn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DdLR96ORC/tlTJY29Daqp/rDaPuv+T6xlowUW5TaUJc=; b=GsCvDjvvZzym0f67JqX6HZQjJIpJZOMJornp6Y12kZ+eJwZeHO47FfA8wmFqBYxVaz6CdXMXSwoVzu9GlV1/SKvNrLS7pkA1ntcL6RWvGLP4e+u2bgPqVt+h/50z50B0NxHewH/mqCyb5DugLFVOZrxIP4ByZO1xq6Upo8e2HFg=
Received: from PH7PR14MB5368.namprd14.prod.outlook.com (2603:10b6:510:133::11) by CO6PR14MB4291.namprd14.prod.outlook.com (2603:10b6:5:340::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.25; Thu, 11 Jan 2024 19:43:30 +0000
Received: from PH7PR14MB5368.namprd14.prod.outlook.com ([fe80::2f3d:1744:a1b5:8c4c]) by PH7PR14MB5368.namprd14.prod.outlook.com ([fe80::2f3d:1744:a1b5:8c4c%4]) with mapi id 15.20.7181.015; Thu, 11 Jan 2024 19:43:28 +0000
From: Don Fedyk <dfedyk@labn.net>
To: "detnet@ietf.org" <detnet@ietf.org>, Florian Kauer <florian.kauer@linutronix.de>, "draft-ietf-detnet-yang@ietf.org" <draft-ietf-detnet-yang@ietf.org>, DetNet Chairs <detnet-chairs@ietf.org>
Thread-Topic: Discussion Item one <draft-ietf-detnet-yang-18.txt> last call
Thread-Index: AdpEw/q5Fam29NlBRKiZkwaNuCIyQA==
Date: Thu, 11 Jan 2024 19:43:28 +0000
Message-ID: <PH7PR14MB536846BD11778425B70557E5BB682@PH7PR14MB5368.namprd14.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=labn.net;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH7PR14MB5368:EE_|CO6PR14MB4291:EE_
x-ms-office365-filtering-correlation-id: 7a8e9633-0d68-4361-396e-08dc12dd958f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: iCCjXUEuw0yqDDkrs1OuaoFkt2OkPEyBHIn2eucidexVZPcFMAi1QNh4Cp5UAeg4OsU3ec2NT9keD91KMHInziJTFwGi4BA6mM2hYGlJa1zYWFdPyELOG0tt9OZZlRRDjNqSe9eUnftFKZDeoKIxefIYq3le68hGRztywPyCeMk3COzaiRHsaKMQEZdlVhtiLxnAUC9EVYqI1lrJXJYgHpePxHdOIPxfbfh0V3VK5oE69ajHEQXEmISh0yrhac3QTLW7QqP9p6a+aWJ6A6KHqNqnvaLPkfpDgzhWWqr1YIWA6ig7VODyPTgs6/otWBTjiKSSbizoXJPbabZRPoTmG7ALrn9/PNQBliunNdRYwiB5z7tXuAFBCWsuoE7YBjs74Np1wRMSuTc6jQ/v24CyjioWjzQ6+i8hC5diLEOj8rqcvNcFLrGxYsxBe6gHbEWn4HKnjm/hfBVGzA1G0ttRZdkRHApVL7XAu6h7pOyBIHYrp/yjMe/KNM0Sbp3Hmy1V5PCwISFBAyuaKh63Z0pTgpDuEX3jHHoDP5zX+WWcS/M27pYOey/Y5WUz8ilM94esTla354atJm7thaze5iqh2LjkAFu6Ys+F4v9jiIHWoxBIITngyYALg8Qp2jdLr+ev
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR14MB5368.namprd14.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39830400003)(366004)(376002)(396003)(136003)(346002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(55016003)(41300700001)(33656002)(86362001)(110136005)(38070700009)(2906002)(122000001)(38100700002)(71200400001)(83380400001)(478600001)(66446008)(26005)(7696005)(66476007)(6506007)(9686003)(52536014)(316002)(66946007)(76116006)(66556008)(64756008)(5660300002)(8936002)(8676002)(450100002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 5YHttlWvi3HhfpD6ymgFnzwkB+jDfpwCkWZBwsGnrDwzVnusI0AHiaGO1q53xT0VKCZP70O0ERTytckwjTq8CA9ywNcfTzkWgYa4fRQ2TNRFkxm95DQx0KkhvPYnrlr0N4Txbb1d4jtyYaOmx9KTbEbAnYw0hR1cK7ccSUfGuHd/pHBAIC95K3Q8tcEePo+wTIuOekcnPF6KiTkhIUNNOOHh36xrkFNnSufI9IdgbM3oxfklfeAKzCOnnCkitriSqKINiBpQ7C9WJqAOaJnlZ1OdykPFEluNkOyTU5REEgrjvNJXu5edZutN0UL7ssTrxxSJOyphe3E0wvTPpp//nOVmIqzzj0ng3ABsAGD0RuH1mvSoFTcVI/j15LAgFHhQn4CeBGeobK6zGTw3ZM58YhV7nCPAcQSdsesYheKYGTSjyBWPe+9nsO6u6UI/DV39s4/vbVF/JkDIbVugiUy1WZdOE9MHudK+Eo1846rsdXsiKTihe7PYFGupQywq7HI7o1+d0AciGcwIpIux3IB5M/q9SbV85gk1nkJPDxN0J4N8WNMUB4JIM/Xx3gmBMgXEW/t+fcv5D/E6wYvWBq47YykPzLp3GMQGjaW1euD3q6ExxaTpRMG0Q8tDG1gqL9+s8UkZ9AaB9G2XRiP2L9A2H7+DCzMI3sE4TA1SmD3RBuFLiCLTyb5dJviuoKJsQbPaXFMlyi0ky803PfWt416WBSzPoLldcsu8MO6+gsNIqXrOQZ30GDsYz2D5gs6hW9bHz5hLFMIu4/Ux4xvzb63L7AWOBCjhOFtDzzJHUdyTjm85orhC7VQFstk+3SN6TEh13Clh2zK0nxM/BLRC7ebztn8ncH/2plLD0kKA2kopXCZbiZDtYmKgjiBARHQ1+n78uxcsBlQA5Ut3JQhSfUeFaq8q5C/8ljBn7Er+p7ktHkhs7KDG0lXTSFU40fn9TcpAT2sYlr+m0ocZ7iAjQd/HKIje0t98Nb4UPYHDNNhXQiXbhQD9hFNecZxde7kKxBriRyynJO3AG75ad+YzuoexIamAaqxUyy1yTe/5/diF2gazgpwqMGCYJVSgQVRFK2Uk7fArjWx4TTNctrNJbJcIeR8eF1rM/Bl/9I2ULZ8sKFmcXX1aDaDndGmuS1H2cunpqZ8Y64UlkQ5hVJN3gnFEXgY2AD9AxNaezqZ/qxrCCk4VqDeUYlP9TOng8xUZRM03qYxSCAEUWNEgaSOEzpf2Q3DYdywgyw+kac26tOU7KbqGTn9cghoD9AOmcI1jlxfqCbuL7U4XM6Y0ekJStZSi2IwC9BGI20ejikd8mkkLQ52/3SbqjGP7Vm3zgQWQZXqI5JfXzty5uvNFuBANwq2nLgQlFVbQtMcnZ26S+RuxCij7dH3R+DQVQdX0Gw2b59b3WeluvTuuFZcwc0m04DhFqaHp8+fAwi7o43l3znyNlBmZ462KmUOTFz8MqOY7aOWWiCdYPBqIqu/hnUONPhIBOgTK/Z6Qvhaljpl1f7d2VdCmbA9qojtjyfSPWTX5THGApE6Hgw0jjcrnKyqFmhDAv+zgUQ2P6fDs/lownDvOd7VMCtKEmvv8XgAHkeMewOst
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: labn.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH7PR14MB5368.namprd14.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a8e9633-0d68-4361-396e-08dc12dd958f
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2024 19:43:28.5769 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: eb60ac54-2184-4344-9b60-40c8b2b72561
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ja02TYe6TZzIs6D+pWqmdDrJ1ZOPkGzWovmukY1ACciRWKSdh2GlyU72Jy23mncM8PNaKz3qxMYETj+0GlhyJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR14MB4291
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/fLv297Y_MtT9kJOX-VIGv4wo7wU>
Subject: [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: Thu, 11 Jan 2024 19:43:36 -0000

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
            }
          }
        }
      ]
    }
  },
 ... 

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