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

"Jan Lindblad (jlindbla)" <jlindbla@cisco.com> Fri, 31 March 2023 07:11 UTC

Return-Path: <jlindbla@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 6284EC151B3C for <netmod@ietfa.amsl.com>; Fri, 31 Mar 2023 00:11:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -11.898
X-Spam-Level:
X-Spam-Status: No, score=-11.898 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_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b="JSriaain"; dkim=pass (1024-bit key) header.d=cisco.com header.b="UGHp2Lae"
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 h8SsCJOWUUYA for <netmod@ietfa.amsl.com>; Fri, 31 Mar 2023 00:11:12 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 32C33C14CE53 for <netmod@ietf.org>; Fri, 31 Mar 2023 00:11:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12654; q=dns/txt; s=iport; t=1680246672; x=1681456272; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=14coRrLgSBX7hKaVTOByaT97rIVtjLZBaf5KSwoU7C4=; b=JSriaainMtsf0/Ncv6bB262MErE5JuXp/C6qiROGeqDd955to+oRdCNE Mfg9+mCbycV0wOFQUlHfw1gfV2gBqxpbsuhPou58wE2u4zFgMVVySsINK KxRv8nnkErk1LBtX3Nz0IZ8hpigE7BtyM6AZveXn5qfvJCdz5MRUAzejG k=;
X-IPAS-Result: A0BbAgCwhiZkmIENJK1agQmBT4FcKihzUwgTKEaIHgOFL4gxkSCLEYEsgSUDVg8BAQENAQFEBAEBgVIBgzMChTkCJTQJDgECBAEBAQEDAgMBAQEBAQEDAQEFAQEBAgEHBBQBAQEBAQEBAR4ZBQ4QJ4VoDYZWAgEDEigGAQE3AQ8CAT4QMiUCBAENHwEHglwmgjcDAZ8lAYE/AoogeIE0gQGCCAEBBgQEglqcRwmBQZE4JxuBSUSBPByBZoQhAoE4EAmEI4IuiX6BXoJUiktgCoE0c4EgDkpzgQQCCQIRa4ESCGuBfEACDWQLDnGBSgKCaDcDCQMHBSwdQAMLGA0WOhMsNRQgBlhsLRISBQMLFSpHBAg5Bhs0EQIIDxIPLEQOQjc0EwZcASkLDhEDUEIZbASCCQoGASYknRMJCR48BgEHNhYUIg0UgVIDDxEYBgEBBAoMGwMGCykDknKOMaBZgTYKg3wFoQIELoN9jGaGa5ESYpdvIKIPLwQYTQGEKwIEAgQFAg4BAQaBYzqBW3AVOyoBgjw/ExkPgRuNEQ0Jg1CPeXU8AgcLAQEDCYZGgiYBJoFTXgEB
IronPort-PHdr: A9a23:MGWEJxauexcYp0Nh64NLCGb/LTAphN3EVzX9orIriLNLJ6Kk+Zmqf EnS/u5kg1KBW4LHo+lFhOzbv+GFOyQA7J+NvWpEfMlKUBkI2skTlhYrVciCD0CzJfX2bis8S cJFUlIt/3yyPUVPXsjkYFiHqXyp5jlUERL6ZmJI
IronPort-Data: A9a23:YAXjeq0vJkM4dVBRjPbD5eVxkn2cJEfYwER7XKvMYLTBsI5bpz0Bz 2NLDWCHO66JMzH9LowiYYrjp0wEuZKEyoA2HVNt3Hw8FHgiRegpqji6wuYcGwvIc6UvmWo+t 512huHodZxyFjmGzvuUGuCJQUNUjclkfZKhTr+UUsxNbVU8Enx50kk6w7dRbrNA2LBVPSvc4 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2yxH5OKkiyZSZdBMUdGX78tmSH I4vxJnhlo/QEoxE5tmNyt4XeWVSKlLe0JTnZnd+A8CfbhZ+SiMayqU3c9hHMl1s0Q6NxfF8l NRWpZy8cFJ8VkHMsLx1vxhwGiV6O+hN/6XKZCn5us2IxEqAeHzpqxlsJBhpZstDpKAuWicXr 61wxDMlNnhvg8q0xLO9RuNoj+woLdLgO8UUvXQIITTxXad5G8mdH/miCdlwzDI2qOFfAvLie tNIYxk+bhXyQzxSEwJCYH45tL742iagG9FCk3qTqLYy5GT7zQFt3v7qKtW9UtaDQcxHhQCcq 2TJ7mn9KhwANdeE0j2DtHmrg4fnmCriWZ8cHbu3r9ZqnVSMy21VAxoTPWZXutGwjkq4HtlYM UFRq2wlrLM58wqgSdyVswCETGCsph0QHPgLSPcBsjqJkIvZvweCFmgId2sUADA5j/MeSTsv3 16PutrmAz1zrbGYIU5xEJ/J9Vte3gBIdQc/iT84oRgtuIK6/d5u5v7bZpMyTvLk0oyd9STYn mjikcQou1kEYSfnPY2D51HBiD+woZ6houUduViLBj3NAu+UmOeYi2GA4Fzf67NLK5yUCwjHt 3kfkM/Y5+cLZX1sqMBvaLtVdF1Kz6/aWNE5vbKJN8J7n9hK0yX+Fb28GBkkeC9U3jw4UTHoe lTPngha+YVeOnCnBYcuPdLpUZxzlfOwS464PhwxUjaoSsUvHONg1HwwDXN8I0i2+KTRufhlY MzCIZrE4YgyWfQ4pNZJewvt+eZ7mn9hrY8ibZv61B+gmaGPf2KYTKxtDbd9Rr5R0U9wmy2Mq 4w3H5LTk313CbSiCgGJqtR7BQ5RchAG6WXe9pY/XvSdOTBvBGxJI6aXmdvNjaQ/wfQM/goJl 1ngMnJlJK3X2SedeVXQOio5OdsCn/9X9BoGAMDlBn7ws1BLXGplxP53m0cfFVX/yNFe8A==
IronPort-HdrOrdr: A9a23:Elhe3aMyvb/YKMBcT2P155DYdb4zR+YMi2TDiHoedfUFSKOlfp 6V8MjzjSWE9Ar4WBkb6LS90DHpewKSyXcH2/hvAV7EZniphILIFvAv0WKG+Vzd8kLFh5ZgPM tbAspD4ZjLfCVHZKXBkUiF+rQbsaK6GcmT7I+0pRoMPGJXguNbnn1E422gYypLrXx9dOME/e 2nl6x6TlSbCBEqR/X+IkNAc/nIptXNmp6jSwUBHQQb5A6Hii7twKLmEjCDty1uEw9n8PMHyy zoggb57qKsv7WQ0RnHzVLe6JxQhZ/I1sZDPsqRkcIYQw+cyTpAJb4RGYFqjgpF5N1H22xa1+ UkZC1Qefib3kmhO11dZyGdgjUIngxes0MKgmXo/0cL6faJNQ7STfAx3r6wtnDimhcdVBYW6t MQ44vRjeslMTrQ2Cv6/NTGTBdsiw69pmcji/caizhFXZIZc6I5l/1VwKvEeK1wbB4SxbpXWd WGNvusrMp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIhH901wua4VWt1B/a DJI65onLZBQosfar98Hv4IRY+yBnbWSRzBPWqOKRDsFb0BOXjKt5nriY9Frt2CadgN1t8/iZ 7BWFRXuSo7fF/vE9SH2NlR/hXEUAyGLELQIwFllu9EU5HHNc7W2He4OSITeuOb0oAiPvE=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.98,307,1673913600"; d="scan'208";a="89721644"
Received: from alln-core-9.cisco.com ([173.36.13.129]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 31 Mar 2023 07:11:10 +0000
Received: from mail.cisco.com (xfe-rtp-002.cisco.com [64.101.210.232]) by alln-core-9.cisco.com (8.15.2/8.15.2) with ESMTPS id 32V7B2qC027180 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Fri, 31 Mar 2023 07:11:09 GMT
Received: from xfe-aln-004.cisco.com (173.37.135.124) by xfe-rtp-002.cisco.com (64.101.210.232) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Fri, 31 Mar 2023 03:10:51 -0400
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (173.37.151.57) 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 via Frontend Transport; Fri, 31 Mar 2023 02:10:50 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MxY7iUN66K+gsz/iheJRu12+8lUS3xcYnF2iIb/UDcQSr/nmpHebmwBROn98WahCJMiXqo0gmNlpU/d2iMglHKwSQxWt9iQqnQy7qRVdYiumNzc3Rjz28NVcr58AOegDCjXZwlqhUUjM0NhoOWl9dWv1BIn1m1FJFAzuqvyUOTQ9KRHp36MaBRkCkA6w5Wbj2UAWVH38JAgNNczDtzGnFFY8mwZHM6Z1zMg+vxDShUpFe8sWHOIGcK48jUK6SOkbFhlVb/gPOUc4SjcDIkTq/vG5ZTtrJPMxZEIzINrW8jHNINfiqNbmFoy/P8SZXNThADA3pmE4kIDjrAxDGEN1oQ==
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=J+gXYzNMyQBtueTOgpFkZT5GflpYsPSSWETgRRCVzyE=; b=J2Dd9PU9rVxBDfPQT2+KT62U6lnTyCGeL7si/fGXB1PMoyqYYMSZCImJGY8fBKQnC+58/s0wknVi5diMsUZOpaENc6bgCU7mfzrzW2g0Bl+FAnnieyEMEB2EcPbzBetXBBkN52gbJF0z5KAjZBPipzFxbVpphdadXIVBwH65qaqOvWErWLZPtWGHdFGgro2tuS9TYrx3tmPllfpJQhJdP4vdStQzDXLPSe9XpZze2N15egVZXMkrLNK77/my3FzuuMbj8mgbYnHE2C5NwcYPrvIBZwSS02FlH3a68PvQVYmo05nXAlpwDWzcHGC9glduiYoiQmhVAIx4t9+lai5Ltw==
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=J+gXYzNMyQBtueTOgpFkZT5GflpYsPSSWETgRRCVzyE=; b=UGHp2LaeMcvVqYa21NA0SQW9uC5oibWGAgjrjHk5KTUEU/4BmMZYgugQvKfOrCuI5DP4guFmTxXmIUVM3f4mFfURVGvn05ga3FQOb6o47XgzSD5qEfgiMwUB2Wb0680hde1i9aK3TqUz59DQd52fakm5D8ixuvmlhekybfc06T4=
Received: from DM6PR11MB2841.namprd11.prod.outlook.com (2603:10b6:5:c8::32) by SJ1PR11MB6226.namprd11.prod.outlook.com (2603:10b6:a03:45b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.24; Fri, 31 Mar 2023 07:10:48 +0000
Received: from DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::f5ee:15d:ae80:4afa]) by DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::f5ee:15d:ae80:4afa%6]) with mapi id 15.20.6254.022; Fri, 31 Mar 2023 07:10:48 +0000
From: "Jan Lindblad (jlindbla)" <jlindbla@cisco.com>
To: "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/rnoEbFB29eUSkCppbFcSdGw==
Date: Fri, 31 Mar 2023 07:10:48 +0000
Message-ID: <59DAD4D3-754D-41E1-A4D4-0CA8FEA263F1@cisco.com>
References: <PAWPR07MB92743ED513FA25816935A0E3F0BA9@PAWPR07MB9274.eurprd07.prod.outlook.com> <F534A076-F959-4F03-9E23-6C80A4F0DC58@cisco.com> <ed2f5323329c4d05ab04c8d80866ab71@huawei.com>
In-Reply-To: <ed2f5323329c4d05ab04c8d80866ab71@huawei.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.2)
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: DM6PR11MB2841:EE_|SJ1PR11MB6226:EE_
x-ms-office365-filtering-correlation-id: a156bb25-ff0b-41cb-a3c5-08db31b70dc3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: J8r4GpPNt3MllBcUjDsrZbYcE+sCuBcGLeGgqA5mLyeM7Kcv+ytQdagb8EqCHlu69k+M6/axY5rdI/JIMSBoz2O58yx9JsXjsHZ+bqA5DW5AkWj9X39Ly3UN4qBG7jogjn1dllAz+9iC6Ax1VKUJ4MFRvgwlsVJmnXrD8mHeeuwHJyt3Vp6wJazRfthV/D2frkFR8dMxClaBITVCxIOav/k+RQvvkmokD0ae+SKoegNKEn4pZ/RQ+fAO+5QH6xIUYmd/FgTe5S6VLaav/rKCxnnGZl3MHObQQrktkoJKSE8Wb8EQq7Dbum6fv4zpbEdifjBdcn+nW1CoYW9mcvqTaqkRvN4CoUh4jyg0D6YINXTVnkt5UOlsamYHr+sD8nysDIfYBYmRUi3Ap6xfGvTUhvDWCldYIRTk5+PCZeKFlf6IKB0T79s5A8yRSqAWXrx9lIu9ktj3iupnXrBo0UN4jrqDgOwpgnuSQphxP4Y02jZgTYAoTjTCfKwmEx4g85kHkEe6KLeVvRbbW3g49/2BU08C/Ap4hD6p13OOFZWwZq6fQDlUyC6owC17B8RsDdUPXvU3603D1NaausZ9b1vCbntyhXpVFfzI1oQkMRHQwKUdzHNmrZclKC87V9Ni75xKIbOHZE0XlOpcmKB4xhzjCA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB2841.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(346002)(136003)(366004)(376002)(396003)(39860400002)(451199021)(83380400001)(2616005)(6506007)(6512007)(26005)(6486002)(71200400001)(478600001)(41300700001)(122000001)(110136005)(316002)(4326008)(76116006)(66946007)(66556008)(186003)(66476007)(66446008)(64756008)(8936002)(8676002)(5660300002)(38100700002)(91956017)(38070700005)(86362001)(2906002)(30864003)(33656002)(36756003)(66899021)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: oLzFZ/vYb+vMMJ1Y7eBZMEeqvG5eZHQB7x6mbX93uKm0lL8B1S+2hcBXCIRYL6DKlDB0BnJusuoZIAWhzDU1F5jKvrQj+DqXaub0VmQCyNex/84HShsEudZxgd8U6b5z0LVOmPDpJhPQc2ZPyjCRnIkUjXQLo5Lvyb0VRJuO/OTBN9sV5vnQXZc6m2QC3tNtSLs/Ni0bjkCdYk78ZZeUgcepMo2cfzUsjO7Zp9gRGltj6l7AcD+tR+gR5vA5G2VzhN80XhUb9sncQ6wlvfYgKCAlLOS+seOb6599ivLVj1IgwqLdoBvl53TB644BHDdQHGaG2e0UdUtOG6SJcHuG42usoYoCLlfPS57OBBZxbSeqO+qRQKgkQYgEIoQ0knLEKKl8W7SAkZ3TMzmsL8x4zPkXTdwMYMv8KCLK1PuvuMlVXcJXTgGCFmjHKfwu6A6cvmECVZNZaFo0JKweLXuHO+X5TfBQsdKBifygntSvT8M+k7qyiA0G/qSGbUDrB7PlqKcbm6Oa6oVJ88taWhiVqGw9uNFlmHmwA9vS+KeYkVNHaKmqi0doshBYenXXV7pnihiUCmcyVlBJT90i564K3YTqKzLUWhlOl6eFymQqtwX/ByjLsU9jlTLxiMd0coKL03Gzq9iyIzk7YbGWcoC/82TYNgJPDymFa6aoMJynHKliGULgHvS9aqpDRY7raEzEVU4u4SI2BoHfy9APJ8rJTJVpmJPpxXvBdZOTDlzM5hpdACiebFUZLSy/EZZFQrXnHB4xuhFRjzfiTblHPoG/qPfL7HomDNTclnDN6hwMBXy3dNBFiH/pw3CAnC6EPJXoktXePPGnWn0yfN/l1ghFYDjrE97xaAna7LNdOANRBYVlw5koMKUC101LTh8eS1VsME+pfmMeTEI6b3Ihe1zSX/SodbBsbqq07kYGrQQ+Y49sQntqymtapnp08sw7LAjVHGPRz27Xe/yJ1Vvlc5QR0YzBbZp9cJXKCbR7OVNF2oNZ94hGhN9qMbzW2kJRz0emI+rCkVfnl07sF3seMTAteudSCcrhk/HDTEpo0GYavNkLG0A4/S06SvrwAOGHY33UbWNPTEkDI+Ev0KTyOAC3DCFgL5lRiu81r9Bh5u7lddLL/+UudPhjT3TTX0HR2mEbiTbsX6LGOtcwJ7+05h7scl40cpDWGhwBVnvPezUt2zQ81U1uHUrfwp/A8ZfNXRkYTszFM3meqllAVqWcAZoo1cmrqtHqtIu6gftoWyMFRFc5VVVyHTP7PavUlMeMaIwCGhZaoHp1BWfDKV+SEI/opOa9p6VEcP9IMCnSDdXvADPPrNFpbqd3ZsBXd0hF6ttIX+1xoAe0QN1EetenJXws1AlxcWA/Nhl38t/2BScVRffshHTJ8C5WG8uuQC0l+Z+nT9popMZKtNTMo7m5NCJGzpyCTQOHYvL67Fs38LckJxEGE3Wj+VgRE0J9vqD8nnlSlW9Vb1pptDC0UPB5+DjxPPkNsviVnUP1Qlc9ZCXUulaEB2RuyLo2zuNegfnH/EVZMtxk9/RXPu6HxmdLvSszOFmmBVl6f2uNqWZgQv3zyjcWtxD/9BAR0TpxWVR5n1xr
Content-Type: text/plain; charset="us-ascii"
Content-ID: <48AAF7FADDC0B24D843B28DDAB5B8F5F@namprd11.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB2841.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a156bb25-ff0b-41cb-a3c5-08db31b70dc3
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2023 07:10:48.2562 (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: GOUwVp1+Aw9Aq1+uKsv13snmA342s6hFELh+os66dPE2et1JQf+eSN01qWVDQ4uEs5W6+Pg5Gq4/DmvNXT3VKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR11MB6226
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 64.101.210.232, xfe-rtp-002.cisco.com
X-Outbound-Node: alln-core-9.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/QmJGDSReIaAb0F_RanCCyovtO6s>
Subject: [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: Fri, 31 Mar 2023 07:11:16 -0000

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