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

Kent Watsen <kent+ietf@watsen.net> Tue, 25 April 2023 11:52 UTC

Return-Path: <01000187b8421975-108a6801-0ab0-4c40-8df9-46702a08d602-000000@amazonses.watsen.net>
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 D94EAC14CE31 for <netmod@ietfa.amsl.com>; Tue, 25 Apr 2023 04:52:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.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 kQP8bdnyTZEd for <netmod@ietfa.amsl.com>; Tue, 25 Apr 2023 04:52:34 -0700 (PDT)
Received: from a8-88.smtp-out.amazonses.com (a8-88.smtp-out.amazonses.com [54.240.8.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 23C0EC151542 for <netmod@ietf.org>; Tue, 25 Apr 2023 04:52:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1682423553; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:Feedback-ID; bh=aL+kNIL3+4WLvHEj5pKhl8KPJi/6TBCfDfc5FN3A/C8=; b=WBbgZDCgd+1p/NUmdzWG3nVL2dy8lmusSTX8CR9ZhXdPkA9LQf3PbmWMiMfJhBDo Stx3d4SlQb2rdV9NqXSxu4kWPAV9/byrLSSg/N6ssdXwFrj9G1z2LFvZRNOO2gN7cnd DDNlr2pyRH3rQ8lWDIA84mJN8x8eUVY6Q33im1DE=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
From: Kent Watsen <kent+ietf@watsen.net>
In-Reply-To: <20230425095020.areq7etekgquaqyi@anna>
Date: Tue, 25 Apr 2023 11:52:32 +0000
Cc: "maqiufang (A)" <maqiufang1=40huawei.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "Jan Lindblad (jlindbla)" <jlindbla@cisco.com>
Content-Transfer-Encoding: quoted-printable
Message-ID: <01000187b8421975-108a6801-0ab0-4c40-8df9-46702a08d602-000000@email.amazonses.com>
References: <59DAD4D3-754D-41E1-A4D4-0CA8FEA263F1@cisco.com> <BY5PR11MB41964C481FCE2619020F1D7AB5929@BY5PR11MB4196.namprd11.prod.outlook.com> <010001874900b5fd-f56744b5-974d-40b2-8177-221a23de41ca-000000@email.amazonses.com> <BY5PR11MB419677D444D44125DD69C91CB5909@BY5PR11MB4196.namprd11.prod.outlook.com> <0100018752302133-19bdf548-f01c-4b78-931e-6be80ec494fa-000000@email.amazonses.com> <b8e370d2ad5042c99c6f0d98345d3c5b@huawei.com> <C2D8A539-4AF9-44FA-92E8-9A9DC6CE7971@cisco.com> <d37925b807604b76b92cbf2f32341dab@huawei.com> <01000187ae695684-69ae4a4b-eeb9-4827-8b65-ff590ed52db7-000000@email.amazonses.com> <793be10da43c4958aa7565dd8c29f16c@huawei.com> <20230425095020.areq7etekgquaqyi@anna>
To: Jürgen Schönwälder <jschoenwaelder@constructor.university>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
X-SES-Outgoing: 2023.04.25-54.240.8.88
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/UF6yZ8ydH6RJe0dRwDgh2Htw39g>
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: Tue, 25 Apr 2023 11:52:35 -0000

Hi Jürgen,

> My assumption so far is that an interface configuration is matched
> against hardware and it is applied if there is matching hardware. In
> other words, if an edit makes the interface configuration not match
> the hardware anymore, then the config is simply not applied anymore
> and the interface is left unconfigured. (The same would happen if you
> replace an interface with another that does not match the current
> config.) The idea that an interface configuration becomes partly
> immutable once it is applied to a matching physical interface is not
> really reflecting how I understand the design of N/Y.

My understanding is the same, so I assume there's a nuance in the detail.
Let's use this example:

  list interface {
    key name;
    immutable true;  // the whole 'interface' object is immutable
    leaf name {
      ...
    }
    leaf description {
      Immutable false;  // client may provide a description
      ...
    }
    leaf mac-addr {      // H/W provided.  Normally CF, but for some reason is
      mandatory true;   // promoted to CT (for a 'must' or 'when' expression?)
      ...                         // Please don't nitpick the validity of the example, I could 
    }                             // construct a similar example using built-in certs or keys.
  }

Now say the client preconfigures:

  {
    "name": "sd3"
    "description": "uplink to closet-3",
    "mac-addr": "000000" // real address unknown, so a fake one used
  }

Now the card is inserted and "sd3" appears as:

  {
    "name": "sd3"
    "mac-addr": "1234567"
  }

The merge fails because the client's mac-addr doesn't match the real one?

Ideally the immutable nodes (other than the keys) would NOT have to appear
in <running>, but they do because "mandatory true"?


> Also the notion
> of immutable data in candidate, which is rather a scratchpad to
> assemble bigger changes, seems odd to me.

I had a similar reaction but, if <candidate> can be validated, doesn't it follow
that the immutable nodes need to be copied into it as well?


> /js

K.