Re: [netmod] Comments on draft-ma-netmod-immutable-flag-06

"Rob Wilton (rwilton)" <rwilton@cisco.com> Mon, 03 April 2023 14:55 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A9BD1C1522DB for <netmod@ietfa.amsl.com>; Mon, 3 Apr 2023 07:55:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -11.896
X-Spam-Level:
X-Spam-Status: No, score=-11.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIMWL_WL_MED=-0.001, 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_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b="GgdHGekL"; dkim=pass (1024-bit key) header.d=cisco.com header.b="jOQxb3Vh"
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 bR2T13PUuDUu for <netmod@ietfa.amsl.com>; Mon, 3 Apr 2023 07:55:52 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4E783C1524A3 for <netmod@ietf.org>; Mon, 3 Apr 2023 07:55:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18025; q=dns/txt; s=iport; t=1680533752; x=1681743352; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=mMmP8L0RruVRb2H61yDWE+puNdk4d9O+1igty99M33E=; b=GgdHGekLjNdCHYiBJsLqqmqM4E+8FnP/JPd0PYfx3T9RD+V83VgiuDpT zHWDSoEfoUzPO34761EOH56TGDhwoAWO8AgPpoE1nO0OUMYS8lS7r4zxS FuAFlHUKqiu+Mf8c57o9Rv91cxl3X6SrfCikbiwANsDIP+5IdI82pA6Q2 A=;
X-IPAS-Result: A0AZAADV5ypkmIsNJK1aHAEBAQEBAQcBARIBAQQEAQFAgTsHAQELAYFbUnMCWTtGiB4DhFBfiDEDkR6LEYEsFIERA1YPAQEBDQEBLgsLBAEBgVIBgm1GAoU7AiU0CQ4BAgQBAQEBAwIDAQEBAQEBAwEBBQEBAQIBBwQUAQEBAQEBAQEeGQUOECeFaA2GVQEBAQEDAQEQKAYBASwLAQsEAgEIEQEDAQEfECcLFwYIAgQBDQUIEgEHglwBglwDAQ+dLgGBPwKKIHiBNIEBgggBAQYEBJ8hAwaBQQGRNycbgUlEgViBZko3PoJiAQGBOA4CCRGEEoIuiXlFgR2CUosuCoE0dYEgDoE9gQQCCQIRa4EQCGaBe0ACDWQLDm+BSmNLgUc3A0QdQAMLOzo/NQYOIAUEVXYjJAUDCxUqRwQIOAYcNBECCA8SDwYmRA5CNzQTBlwBKQsOEQNNgUcEL0KBFgoCBAEmJJ0DAQgIAR48BgEHNgMKCRAEIgsCFBAZBwI5IB0qAw8RGAYBAQEDCgwbAwYLKQOSLxQmCY4xg0qdEYE2CoN8oSMWg32MZoZrkRJil3Agog8vBBgBhHgCBAIEBQIOAQEGgWM6gVtwFTuCZ1IZD4EbjG8WDA0Jg1CFFIpldTwCBwsBAQMJhkaCJgEmgVNeAQE
IronPort-PHdr: A9a23:vA8mqBMyycdOUr3Sy0Al6ncDWUAX0o4cdiYZ6Zsi3rRJdKnrv5HvJ 1fW6vgliljVFZ7a5PRJh6uz0ejgVGUM7IzHvCUEd5pBBBMAgN8dygonBsPNAEbnLfnsOio9G skKVFJs83yhd0ZPH8OrbFzJqXr05jkXSX3C
IronPort-Data: A9a23:sDznZKAehh9+EhVW/+Ljw5YqxClBgxIJ4kV8jS/XYbTApG9xhmAHm 2EeC2CCPfveNDemf4h2PNyy/UJTu5GBmtE3OVdlrnsFo1CmBibm6XV1Cm+qYkt+++WaFBoPA /02M4WGdIZuJpPljk/F3oLJ9RGQ7onVAOusYAL4EnopH1Q8FH960UsLd9MR2+aEv/DoW2thh vuqyyHvEAfNN+lcaz98Bwqr8XuDjdyq0N8qlgVWicNj4Dcyo0Io4Kc3fsldGZdXrr58RYZWT 86bpF2wE/iwEx0FUrtJmZ6jGqEGryK70QWm0hJrt6aebhdqoxwg6oofMcEgVnhquwiRte4s0 89unMnlIespFvWkdOU1Wh1cFWR1OrdLveGBKnmkusvVxErDG5fu66wxVwdtY8tBoaAuWjAmG f8wcFjhajiZmOOy3LW9YuJtnc8kasLsOevzv1k7nW2DUKl/HfgvRY3m9IFZ4jA9h/pqPt3ve dUmYDEyNjLfNkgn1lA/UcJiw7jAamPEWztVtFeSqYI27nTdigtr39DFOtPRc86RA8FYmEmJq 2bu8n74CQoBM9rZwj2Amlqpj/bOgC3yXo1LPL2l/+FngRuYwWl7IB8SVF23q/2w3xLmUNNEI EtS8S0rhaQ3/VagCNjwQxP+p2SL1iPwQPJZF+k8rQqK0KeRvUCSB3MPSXhKb9lOWNIKqSIC0 2+bp//NAAdTj4KoeU+F3InJtimREH1ARYMdXhMsQQwA6tjlhYg8iBPTU9pueJJZaPWpSVkcJ BjX9EADa6UvYd0jjP7ioA+a6964jt2YEFJkulS/sneNs1sRWWKzW2C/BbE3B954NoefRVSdu 35sdyO2s71SVc7leMBgvIww8FyB7vKBNnjXhkRiWsdn/DW28HnldodViN2fGKuLGphfEdMKS BaM0e+02HO1FCD2BUOQS9nsY/nGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhha c/HL572VipEVv8PIN+KqwE1jONDKscWmD27eHwH50/PPUe2PSTMEu5VbDNikMhps/3sTPrpH yZ3bpvWlEo3vBzWaSjM+olbNkERMXU+HvjLRz9/KIa+zv5dMDh5UZf5mOp5E6Q8xvg9vrmTp BmVBBQHoGcTcFWac21mnFg5NuO2NXu+xFpmVRER0aGAhyJ7P9vzvfpGLPPav9APrYRe8BK9d NFdE+3oPxiFYm2vF+g1BXUlkLFfSQ==
IronPort-HdrOrdr: A9a23:jHyB9avYqLB3Q+1B+qWcyQOS7skCwoMji2hC6mlwRA09TyXGra 6TdaUguiMc1gx8ZJh5o6H9BEGBKUmskaKdkrNhQotKOzOW9FdATbsSoLcKpgeAJ8SQzJ8k6U 4NSdkdNDS0NykGsS+Y2nj2Lz9D+qj9zEnAv463pB0BLXAIV0gj1XYCNu/xKDwQeOAyP+tBKH Pq3Lsgm9PPQwVzUu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmxxH4lIn1y6IZn1V KAvx3y562lvf3+4ATbzXXv45Nfn8ak4sdfBfaLltMeJlzX+0eVjcVaKv2/VQIO0aOSAWUR4Z zxStAbToBOAkbqDyKISN3Wqk7dOXgVmjnfIBSj8AXeSITCNUMH4ox69Ntkmt+z0Tt6gDm6u5 g7h15x/qAnfS/ojWDz4cPFWAptkVfxqX0+kfQLh3gaSocGbqRNxLZvtH+9Pa1wah4S0rpXWd VGHYXZ/rJbYFmaZ3fWsi1mx8GtRG06GlODTlIZssKY3jBKlDQhpnFojvA3jzMF7tYwWpNE7+ PLPuBhk6xPVNYfaeZ4CP0aScW6B2TRSVbHMX6UI17gCKYbUki94KLf8fEw/qWnaZYIxJw9lN DIV05Zr3c7fwb0BciHzPRwg2fwqaWGLEDQI+1llu1EU+fHNcnW2AW4OSITr/c=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.98,314,1673913600"; d="scan'208";a="38425714"
Received: from alln-core-6.cisco.com ([173.36.13.139]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 03 Apr 2023 14:55:50 +0000
Received: from mail.cisco.com (xfe-aln-004.cisco.com [173.37.135.124]) by alln-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 333EtoGc005606 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Mon, 3 Apr 2023 14:55:50 GMT
Received: from xfe-rtp-004.cisco.com (64.101.210.234) by xfe-aln-004.cisco.com (173.37.135.124) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Mon, 3 Apr 2023 09:55:50 -0500
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (64.101.32.56) by xfe-rtp-004.cisco.com (64.101.210.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25 via Frontend Transport; Mon, 3 Apr 2023 10:55:50 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kI90bkd5kWKoYJBLCn/3P4TWXb9H+EhCDvzTe1r8tuVz1RaBweNz5KZ74fhPoDUCELKv1yBR3FcMImgrU2Ic7Ju++2XtksNASbefnIw6Of3K1tBAcu9QVWWgmDMAVZoQfEDqOOnfyCdiZ1ASYsBTvlcRc03BGi/3EhFngLsYIMsgl8gKDlrKnBz0ycPfhJsIhrzEPa5oPgW24dybwggqRdAqSVN1+3skoFsqo/91VtNAy5a6rMwqT3OxTz6HZJaSVGcx/LbVJcOeVql5TEbFPt5tv+33jjKxy4JWChvMMyq88/XED+sVQzg2KXLWI3g82xOJjkz6AOvFouJqzGTVRg==
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=hHY3tE/bp6nTp6bS/u3pSlq0CAG3K/FNVIMM2Qoe0WM=; b=JrZCigimOVklAeVP8iVRcjGkYQbExTHPuwNhJaQyvKhs12VcJuMBk2Purzpv1az0DdBfPAp88tdxmSw+9Wy1+xGJdB/+X6b0928d2jhkxoDtlapnUb6q1VDzGO9PFbtDyQoom+yCJIxSr9TIN3JKL4HiuquEUaZn7JVZD4Gn5mUGEetyrlihvbmpGOJ65wEdyzBfDg03teFhcg+TBaeagZGStbTYoaP7Lu8Yl0I0iGV/QK1LW7M1j90JAAM6LWzuZuisyz6r/wFapaosmd2lbcXjJjp06ZmuN9w6UEBAaCEK2v6PFuJwS8ikjX3nWgsh/2Zh7NItLzmq6WPD6IKiDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hHY3tE/bp6nTp6bS/u3pSlq0CAG3K/FNVIMM2Qoe0WM=; b=jOQxb3VhJMO/WHjMo8gS0jeB5TvBpZmxWtEoAR+Vgf7XURJIEP91OsennVk7f3BrLlyhMNKVz3tMx4yHEfQd8D0hAr0ifFJpKyvwB7pCj4RmUSWIqScZRBFJcOgOb/puiPr/JB602piJXWz/m7aQpi6nFcCICajgUcWgb49DchQ=
Received: from BY5PR11MB4196.namprd11.prod.outlook.com (2603:10b6:a03:1ce::13) by PH7PR11MB5864.namprd11.prod.outlook.com (2603:10b6:510:136::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.29; Mon, 3 Apr 2023 14:55:48 +0000
Received: from BY5PR11MB4196.namprd11.prod.outlook.com ([fe80::4671:25af:94b6:7d36]) by BY5PR11MB4196.namprd11.prod.outlook.com ([fe80::4671:25af:94b6:7d36%6]) with mapi id 15.20.6254.033; Mon, 3 Apr 2023 14:55:48 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "Jan Lindblad (jlindbla)" <jlindbla=40cisco.com@dmarc.ietf.org>, "maqiufang (A)" <maqiufang1@huawei.com>, Balazs Lengyel <balazs.lengyel@ericsson.com>
CC: NETMOD Group <netmod@ietf.org>
Thread-Topic: Comments on draft-ma-netmod-immutable-flag-06
Thread-Index: AQHZY5/rnoEbFB29eUSkCppbFcSdG68ZbNSA
Date: Mon, 03 Apr 2023 14:55:48 +0000
Message-ID: <BY5PR11MB41964C481FCE2619020F1D7AB5929@BY5PR11MB4196.namprd11.prod.outlook.com>
References: <PAWPR07MB92743ED513FA25816935A0E3F0BA9@PAWPR07MB9274.eurprd07.prod.outlook.com> <F534A076-F959-4F03-9E23-6C80A4F0DC58@cisco.com> <ed2f5323329c4d05ab04c8d80866ab71@huawei.com> <59DAD4D3-754D-41E1-A4D4-0CA8FEA263F1@cisco.com>
In-Reply-To: <59DAD4D3-754D-41E1-A4D4-0CA8FEA263F1@cisco.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=cisco.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BY5PR11MB4196:EE_|PH7PR11MB5864:EE_
x-ms-office365-filtering-correlation-id: 66e4d6b1-ad05-491b-ba6c-08db345382a8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Ce5sgPAdNwGE2i6bRaXD9LMUWiQNNS542EWi13sCrGVBl/aV9laXS/HSQ8a8LnER1IX6ZaPi1qJY3oQ2q5elF2Wz7aMCGtNiPjlH57QdCKdKYP8bjLUYVMCQy9v4RNarQ0ip6qUXi1jvLsXvgrOI6ECUVtFi531ITL6wK3GziwBnsQRGD8BPReyHFB7NmXK6v3j9mJPWhr0wyvMObGgRL5779bl3DSqUOexGSGLG8r+518kqACjvJJZwQ9leIxM4EaCpPtmyQsSYF2V3HINePvoLCO+3xYMHmdIqHnjuAegNjkviVWXHjxbGOm7UyqxYSr9MKnWxyH2U82yodfhTR7RnPjZeMSX423s3Ftvn52cOyDpoCBdPccgem+dXRhxal69kYGzH19upkVJAPnu04oQk63KNCOukymjkYixPcAWbMBgezmpEf+nW8Qzc+SFKZ0Rv/g9EYAON7qvnowVZtx35FwMgdL6xezhlFk2IoB2Pz3nvnJ9yrpsPpC6si4djLK9LDecN8NGYdC0cnt9S0pMFExq7+Xx75JKu2e16T+ZTfnpzsvdXDgKzFdLmwmHRoC5nm1Gk0Q36vpbJOkRdb4OV2fUaVT36YebBYN7DZo0=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4196.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(396003)(376002)(136003)(346002)(39860400002)(451199021)(66899021)(4326008)(110136005)(66446008)(8676002)(66946007)(966005)(66476007)(64756008)(316002)(66556008)(76116006)(33656002)(6506007)(186003)(53546011)(83380400001)(38100700002)(122000001)(9686003)(8936002)(41300700001)(478600001)(71200400001)(7696005)(52536014)(5660300002)(86362001)(38070700005)(2906002)(30864003)(55016003); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: fK3JzXaqJHbcxDx7KjgTeg96JW7O1LfA4QMfs4mZKW99t+wAAaSu8FR80lFAXOOlurvrCeNO8xpio3fYilQCldcMbQZ8Y571VD2giSESkg7iU4q0qmL0zotwZ+BeicSn4ef0YRFLVh3ZVjw2b9Vh1jgPOdR5FE5fOC+V+ZRuzeI6ajIcFNmkTR7eBAZ3G5gOpp2PMDhoMWixDyC6WZvOR5Y9UsM6tydebv4HMGSCP9wfo8NhrQjZnIZctWQFxx8g/8zhBoPdxrQNR0Z2h/0yqSEGaRJtzHcahQ+9Vy1+2COzc+P9uYp2orshVMFl93BJHqPClftJhSWGeuoiy50KVrWW7mOzqm49f6qr+sHung72KL/Ju2Ioktv+8hQlz39zxnsl78T+CLOnDF458Zr5c9KsOfyTM7LxykHWcjWj6zHGOGtrEJU7GwHNFG6R0grR/u01/8bt5v6TsyGNUGnLGljsM2MzfchyL29AGvMNCIHlAwmtGOt7cLtBhUVpPhTPOh9Ui4s0J7wQUQkr7csmfXwCq+EvOj0/TYWe+3VvECvpsmtFwPmSoCXz+g9sdQWU2H/BEj87+MMo9E/pus3ZZHHq4bYVzwQJZrO8TmmgDqPcxn3bAU4kE6h67AynUu1uk398iciDoiXUueScBpA1o2t7bYWxirMAEZisI9HXJQ3lr0egteHuyP+iVyopWEbGsWP6qFHr9YjJgVfmhXLM81CysB5D7w+H57JvLDgaPKaFeCOEhY8k3X/TrS8oLPWmdkliY4ssDHLVJOrifSUpRoJoJ7Xk9/ZT/eHiXLZsEgfs8jj/7NNbT6CYIPvZZGBN38XlQE/Qw0imi2NE0HNjcfi9Pb7BvY8WE4yx2j5YAieNwGa72BV9X1T3+/5t5KosPl1ULlqhCh93JMa83kAl8fhQmtsT2FZL8cLpgwwV6BHfMq7dhHengAQqFTyHmkkZ6pWSjEEXpgkS87tu1my+uWansd5EwWLEFW003eD+fRobr24Jlfz5G3Hd+qnR8HdGWUYP7fJ2eHkw5Z1MTprIwYUuM64HbVLcmsVixp4OE51PMr3OUntlC81uCHb1lFph5Bxk5YjrzYwqCkkKrftpaymnTvsp+MpK9eRfSO1TKk2UN/4rOcR4fxSqk5IehaDDC8fTS5fofpM+E9AKrmG+LSNtrHmp/45DSJWqTl1rQiNYiyHaF1vBefG8YnfYlXG5cw2kGCMhRf5gQ5y0ITUiiDt5mFBGIoq271OOmR4z+Ts+saBGtiwTN48QNPW73xdWC4rygLQNKDCvAXhKF2kS572pHC5m40juXE2Olan2dd59x5Ez7Rc69NUh9rjXdBeTHjRuzLIE1p+W4s7C/Q4hqjkdXyI7FPs6fMMBYYeBw3XlrQ9zXdUCaydszED6ryqtwIi6lQDPUShSvsBy6mdgIXUexojCO8PtMr2k/PjgG0ZcbvTjloZag6KrUTWoHC4B8kGQKwHu9S5LqHjGy1GMPJVyh90lyIBvagbOH1F+AME1fEA7kBRMXRY8fGbgQ0AfwF3pLykwLszcjKcTBq0Ztoyf6EtbGBdKUDnbBwCEBtpMUhddcSL+R8H0CQ1EeCaD3CwYmBJrqoY+R+lKCdabJQW0Wsz+14nbdtkwp0mdQzk=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4196.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66e4d6b1-ad05-491b-ba6c-08db345382a8
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2023 14:55:48.2036 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sKu0rWBwSSADkpVGADDyhCTYebfsKc6TtFfRXSJ4ZQAU7MLoqEN/ZqiT7fSJQrSga1pCm4WgP4EyCaBOEyVQ0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB5864
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.135.124, xfe-aln-004.cisco.com
X-Outbound-Node: alln-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/YrzazMU73NjvPCJYG9Bva6V15N4>
Subject: Re: [netmod] Comments on draft-ma-netmod-immutable-flag-06
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 03 Apr 2023 14:55:57 -0000

Hi, 

I think that we need to be careful here.  In summary, I agree with a lot of the concerns flagged by Jan, both in ensuring that we don't break existing NETCONF*/YANG configuration paradigms (*, by NETCONF, I mean NETCONF or RESTCONF), but also the approach of considering the best long-term solution to each of the specific requirements.

Fundamentally, I generally interpret this draft as saying:  NETCONF/YANG doesn't really match the existing management model/API in 3GPP and hence we want to make non-backwards compatible changes to NETCONF/YANG to match the 3GPP semantics.

Currently in the network management space, this is a strong desire for configuration to be intent driven, where it should be possible, in a single external transaction to move from any one valid configuration to another valid configuration.  E.g., some clients always make any configuration change as a full commit replace and leave it to the device to calculate the actual configuration change delta that needs to be processed (including deleting and recreating objects if that is needed).  E.g., some of our customers really dislike it whenever we force them to split a config-updates into two separate transactions because it increases the complexity of the orchestration - we end up getting bug reports for these sorts of issues and aim to remove them.  So, I think that I am fairly strongly opposed to adding an annotation to YANG that would mandate this transaction breaking behaviour - it seems to be going in the wrong direction of travel for automation.

In terms of a liaison response, I would suggest that we acknowledge the request from 3GPP and indicate that we are investigating approaches to address the requirements raised, but we need to determine if there are ways that these requirements can be met without breaking the core tenets of the NETCONF/YANG configuration architecture.  E.g., some parts of the approach described here will mean that existing management clients, that are compatible with NETCONF/YANG, will not directly work with servers implementing this change.  Similarly, some of the language is effectively forcing breaking changes onto NETCONF/YANG service implementations (e.g., text in the document like "When present, it indicates that data nodes based on the parent statement are not allowed to be added, removed or updated except according to the exceptions argument. Any such write attempt will be rejected by the server.").

Further, I wonder if there are enough issues here to warrant having a dedicated interim to discuss this.  I seem to recall the NETMOD chairs suggesting an interim on one topic in the recent NETMOD session, but don't recall whether it was for this one - sorry!

A few thoughts on the current draft:

- Handling of capabilities is an important topic, and has comes up recently in several places, this topic alone might be worth some time being spent on it.  Having an annotation to indicate capabilities information may be useful, but possibly this should be an entirely separate annotation to indicate what it is, or perhaps putting capabilities are put under a /capabilities root container would be sufficient.

- In terms of properties that cannot be changed once written, I would rather see this issue framed more in the direction of it just being extra documentation written in a machine-readable way.  Specifically, using the annotation to give an indication that servers MAY reject requests to create/delete, or change, the configuration, but not requiring that they do so.  I.e., at the data model level, I don't think that we should preclude servers being able to handle this is in a more client friendly way (e.g., by breaking a single client transaction up into multiple internal transactional changes where needed).

- For any immutable related metadata annotations, I think that this additional metadata should only be returned to clients when explicit requested via a separate RPC parameter, and I think that the draft needs to add text for protocol capabilities used to indicate whether this new option is supported (e.g., along the lines of RFC 6243, with-defaults).

Regards,
Rob

// All comments without an AD hat on.


> -----Original Message-----
> From: netmod <netmod-bounces@ietf.org> On Behalf Of Jan Lindblad (jlindbla)
> Sent: 31 March 2023 08:11
> To: maqiufang (A) <maqiufang1@huawei.com>; Balazs Lengyel
> <balazs.lengyel@ericsson.com>
> Cc: NETMOD Group <netmod@ietf.org>
> Subject: [netmod] Comments on draft-ma-netmod-immutable-flag-06
> 
> Quifang,
> 
> Thank you for the excellent presentations at the NETMOD session today. I
> understand how and why the immutability topic is important to 3GPP, and
> several other IETF liaised organizations, and I certainly think we should respond
> to their liaison inquiry in a timely manner.
> 
> In my opinion, that response should be along the lines that we understand and
> support the use cases as put forward in the liaison statement. We should say
> that NETMOD is working on a solution which provides an operationally useful
> way of handling all the use cases without changing the fundamental properties
> of the existing management protocols and modeling standards.
> 
> Going a level deeper into what that solution should look like, I have read the
> latest immutable draft, draft-ma-netmod-immutable-flag-06. It lists six use
> cases, which I think are the key to resolving this. I think our liaison response
> should focus on them. I noted that UC5 is qualitatively very different from how
> it was in -05.
> 
> In the below, I first discuss why immutable is not already part of
> NETCONF/RESTCONF/.../YANG (will call this XC/Y), then go through each of the
> use cases. At the end, I also have a few comments about the proposed YANG
> constructs. In order to write the liaison response, I think getting our minds into
> agreement about the approach to the use cases is the important thing, and
> probably also enough. The exact YANG expression may be agreed later, after
> responding to the liaison statement.
> 
> 
> As emphasized in the draft, a NETCONF server can reject any configuration
> attempt at any time for any reason. So by this logic, what the immutable draft
> proposes is "nothing new", it's just documenting some of the cases in which
> such a rejection will happen. This is true, but by this reasoning there is no limit
> to what sort of rules could be added to XC/Y. Just because there is a possibility
> to reject for any reason doesn't mean that you can impose any set of additional
> rules on top of YANG and still call it YANG.
> 
> Servers often call upon the possibility to "randomly" reject when they are
> running out of memory. Or when certain instances (e.g. mgmt interface) are
> being deleted, but simply has to be in the config at all times. This is fine, since
> few operators desire configs that exceed the available memory (and it is
> generally hard to predict+describe exactly when that happens) or removes the
> mgmt interface. The problems arise when operators want to go live with a
> config that is fundamentally valid, but the server rejects *at this time* due to
> some settings in the current configuration.
> 
> Such constraints were (are) common in the CLI and SNMP world, and for good
> reason in their usage context. Servers are being nice when they protect
> operators from goofing. But to apply those same safeguards in a high level
> automation context is not a good idea, since it complicates, slows or prevents
> core automation use cases. For example, if the "safeguards" require a
> transaction to be split into two transactions, the solution is no longer
> transactional, and something has been fundamentally lost. The good news is
> that I think there are good solutions to the six use cases that preserve the
> fundamental properties of our management protocols.
> 
> 
> The immutable-flag draft often refers to "problems" where constructs are not
> allowed in YANG. Here's a typical example:
> 
>    However, this is not possible as 'supported-timer-values' must be
>    read-only thus config=false while 'interface-timer' must be writable
>    thus config=true.  According to the rules of YANG it is not allowed
>    to put a constraint between config true and false schema nodes.
> 
> This text seems to forget that these YANG rules, e.g. the rule that you cannot
> have config true objects below or otherwise depending on a config false one,
> were a super-conscious choice made when designing YANG. The SNMP world
> "transient configuration" gave operators a lot of gray hairs, so was given as a
> requirement to the NETCONF work to get rid of. So it was that such things are
> now very deliberately made impossible to model in YANG. The immutable draft
> is trying to reintroduce this (at least in some cases) in YANG. But if we change
> YANG to allow this sort of behavior in general, the additional value of XC/Y is
> lost, and we're back where we started (SNMP-level automation functionality)
> 20 years ago. Now with two competing, but equally useless configuration
> mechanisms.
> 
> In the routing domain, and in many others, it has proven possible to leave those
> old practices behind and build quite functional management interfaces even
> within the confines of current XC/Y rules. I am convinced that this is possible in
> the 5G world too. I am well aware of the traditions in the 3G/4G/5G world,
> where the immutable and other concepts were born long ago and are still
> considered core functionality today. I have helped many XC/Y server developing
> organizations to overcome these traditions, which used to be common
> everywhere where CLIs were used. By this experience, I know very well that
> this is not only possible, but has actually been done in numerous places, and
> across many server/device types.
> 
> 
> Now, let's review each of the use cases UC1-6 from the appendix A.
> 
> UC1. Modeling of server capabilities.
> 
> Draft example: System specific set of available timer values created by the
> system, that other parts of the configuration have to reference.
> 
> This is a common use case. I find it working pretty well without any extension
> stmt. As long as the supported values do not change (other than in sw upgrades,
> for example) I think it makes good sense to model them as config true in a
> separate part of the tree and simply refuse any changes to them. It would of
> course be fine if there was a YANG extension "immutable" that was placed at
> the root of the list to indicate to clients in the know that any attempts to make
> changes there would be refused.
> 
> 
> UC2. HW based auto-configuration - Interface Example
> 
> Draft example: Interface type, which is set by the system and cannot be
> changed by the client. Must be config true since other configs depends on the
> interface type.
> 
> This is also very common. That a server autodetects which interfaces are
> present at startup and fills them in is not a problem at all. Some servers allow
> clients to make changes to this data, such that it does not match HW, and when
> that happens, the configured device will be marked as operationally
> down/absent. This is the model I personally consider the most advanced and
> flexible. Other vendors refuse changes to the config that do not match the
> current HW, e.g. interface type or which interfaces are present. I think this
> works reasonably well today, but some sort of YANG extension to describe this
> case is ok.
> 
> 
> UC3. Predefined access control rules
> 
> Draft example: Factory predefined access control rule instances that cannot be
> deleted.
> 
> This is also quite common. That a server has some (factory default) instances in
> a list that cannot be deleted is not a big problem, and can be described with
> YANG must statements already today. Some instance metadata annotation to
> mark these entries is also acceptable, even if strictly not necessary.
> 
> 
> UC4. Declaring System defined configuration unchangeable
> 
> Draft example: System datastore content that is not modifiable by clients.
> 
> I find this similar to the previous use cases 1-3. Not a big problem in the field
> today, but some combination of YANG extension and metadata annotations to
> mark certain instances as always there is ok as long as the set of marked
> elements and instances remain more or less constant.
> 
> 
> UC5. Immutable BGP peer type
> 
> Draft example: Detected BGP neighbor peer-type
> 
> In the actual IETF BGP YANG model, the peer-type leaf is modeled as config
> false, which seems to make sense. If for some reason this needs to be modeled
> as config true, I think this use case becomes similar to UC2.
> 
> 
> UC6. Modeling existing data handling behavior in other standard organizations
> 
> For this use case, the draft does not really offer an example. The draft states
> that the immutable concept has been in use for a long time in many
> organizations, and that that is not likely to change. It is better to describe the
> truth about these systems than silently and "randomly" reject configurations.
> 
> I respect the traditions of these organizations, and I do not wish to impose the
> XC/Y traditions onto the large and complex designs they have built up over
> decades. But I think the XC/Y interface to those systems need to follow XC/Y
> rules and principles, and I claim from my experience that this is not particularly
> hard to do for a given XC/Y implementation.
> 
> 
> Bonus: UC7. Handling existing 3GPP objects with attributes marked immutable
> 
> A use case not mentioned among UC1-6, that I think will be relevant to 3GPP
> and others, is this: Say a 3GPP object has an attribute marked immutable,
> meaning that attribute cannot be changed once the object has been created.
> Then a NETCONF client comes around and specifically wants to change that
> attribute.
> 
> In my opinion the XC/Y server should then delete the object with the immutable
> attribute and recreate it with the client assigned new value. The NC client will
> not have to know anything about this (as expected by looking at the YANG
> model), and the existing 3GPP object implementation does not need to know
> anything about this either. It will keep implementing the traditional safeguards.
> The only component that will need a bit of work is the XC/Y server running in
> the 3GPP defined system. In this case I don't think any immutable extension is
> needed, since it is an implementation internal affair in the XC/Y server.
> 
> If the server chooses to instead reject the NC client's request, which it is
> allowed to do without disclosing any reasons therefore, the client will have to
> think about what to do. If there was an immutable extension statement
> explaining the situation in the YANG, and the client understands this extension,
> it could split the request into two transactions (one to delete, one to create
> anew). But this means the server is not transactional, and in my world that is a
> pretty weak server. Safeguards are great when interacting with humans, but
> when they get in the way of serious automation, I advise to remove them from
> the XC/Y interface, as described above. The market will make the final decision
> about what will be tolerated here. I am opposed to introducing an extension
> keyword for this use case. The -06 version of the immutable draft does not have
> this use case, so as far as I am aware nobody is currently suggesting this either.
> 
> 
> Finally, some detailed comments about the YANG module in this draft: It is
> short and sweet, just as it should be. The immutable extension takes an
> argument "exceptions". The naming of the extension in conjunction with the
> extension name itself is not ideal, I think, because of the way it reads in
> modules that use it. Say we have an immutable leaf that can never be updated
> or deleted. This leaf would have the extension "im:immutable create;". I
> believe many would read as "not possible to create". After the negative-feeling
> adjective"immutable" would it not feel more natural to list the operations that
> are disallowed? And what if no operations are allowed, should you write
> im:immutable ""; ? The extension requires an argument, so something is
> needed, according to the definition.
> 
> Or perhaps this extension statement should be changed to have no argument?
> Among the use case examples UC1-6 (or 7), I did not see any case that required
> the exception argument, so I wonder if it is really needed. As far as I could see
> in the use cases listed, all I think is needed are two things: one YANG extension
> "immutable" for saying the values on or below this schema element must
> match whatever the server considers to be appropriate. And one YANG
> metadata extension for saying this instance must always exist, but you may
> alter the contents within. If those two things are not enough, please either point
> to the use case that requires more, or add a use case to the collection to
> capture the need.
> 
> Best Regards,
> /jan
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod