[netmod] Alarm Threshold type modelling for DWDM-IF

Roberto Manzotti <manzoro.ietf@gmail.com> Wed, 14 October 2026 11:41 UTC

Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 47C6646 for <netmod@ietf.org>; Wed, 14 Oct 2026 11:41:49 +0000 (UTC)
Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-c34bff61551so515133266b.2 for <netmod@ietf.org>; Wed, 14 Oct 2026 04:41:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1791978108; x=1792582908; darn=ietf.org; h=content-transfer-encoding:content-type:content-language:to:subject :from:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to:content-type; bh=bpPGG4OUfsy0UAIIKLxqp+Crdyt0Im1Z6GEx9And6KY=; b=Svp7S6x004b963b6w5aSON4vNcOqrm9J/cU76TmcRpWL38bMJnjQ6CKA/zMVkh9DMe x+E1dnAEBSeFs6jldKCIB01V/XFBEpU/gH+J7VsKZADPkOV3SsLcdqNBRJ0zH07jq3/v 7cx+KgHumbkaZR32PZuCWSKreiuG6bu0T9C7bHTujvofH8eNA1QwwUskxvaj46ZLQCdP 25+sOfL7XkFg0Fc3eDyi0OD5iNu0oPAKP31HhunG1eD/WB6b2N5w5FRe3auziG5jxrXg ha0R/s6oZLmVVeMnlMck6BEDrQQ+ujOvDhMGGMft2uDRlZmua3WgktfIn9BtAcBWfXxQ /R8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791978108; x=1792582908; h=content-transfer-encoding:content-type:content-language:to:subject :from:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=bpPGG4OUfsy0UAIIKLxqp+Crdyt0Im1Z6GEx9And6KY=; b=Fk4vgOfq487DJj5BcMrfF+W4bwAzUw/1Xxfflrp+TQJy0TgO5dI4VwMpaDGXZVCdxJ +nQ5VVZ8a9EnHHh5GEmWt+A6y2tgik36Y3cA4Gdlu8JulXn9wa7JvXZSp6RGfb2cntT4 vYFJpSj7D7qPv/AcRp94xlCu4LTNVELYNophKRIu1wT7QdZ5zYgXhW3JB1DdAHg1FvvB gXY5ZVe1cwzygs17RQvJTmdj7ZBO+9ENi6p6Ca95yq2Dfd89RpTw3SzuAnObD3R0wMQI R0rGYTF2+aoTf9ZF3Q45DoX074qMbYH2oMztyLjn2Tzzc4gzbuWkEBeklyw1yZ92sObO Q6kA==
X-Gm-Message-State: AFq9FYKLoKvgisXNriCZa/XI+LgJxPSBxnfCEBjd84GDfpdoWH1zleLa 3QLv1j8JwIWOp8KOyXUDA1kVGb2PhoS/pfx5EE0J9fyi/WBv9RPAPDsEGT2oVaku
X-Gm-Gg: AYBFou0lt9EmsXy0mWdbnCT3c94L3Q9F7/6mdQdrfnfI7jom5r4I/MOLXB6cMw8IQDo +DZh9GtlQ26yGYUEk56h3AF/5Oow1zANN4K7tLG38SB0x/hygKbZGgRNZ1sll/pgMGADpfzjsWT iXHpR3+dxOlR6XpYNq3wUzz1dVu8W0eNrnUptAHtXuPtkVzZUPgz1iEFh7vk2jJw2N/H361zWIJ GpPqn2UXqMZ9EVkAo5IiyfvHY2DJ87H2M8/ygvznS7xqmK3DnPZobnW0frugo7/N6/XTa4Mw1FD PpuRQg1xfUYu2x82oBTVL6DrcvQy58QaR/68A3tOJy+SSdvU13/5GXoxr4Jz0gZUhi7yU4AM5jf TrYKj8sJvSRLB1t0bkc4NinuaPIRr0W5rPAcvLfIjCyv3cWWUtbnXO6XBfNK88ms4Lp0xFHtjDc ROgXFqccVg1+YInVxLiGJhax9RCkFp46bXXnI0PQ9B8Hcu3ctBjbgih00rkkCoY4J7eYf9JmKY5 KHd
X-Received: by 2002:a05:6402:c518:10b0:6aa:1112:62f2 with SMTP id 4fb4d7f45d1cf-6b17c2759c5mr9438069a12.15.1791977699878; Wed, 14 Oct 2026 04:34:59 -0700 (PDT)
Received: from [10.169.8.74] ([173.38.220.34]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6b203839a04sm1066952a12.10.2026.10.14.04.34.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Oct 2026 04:34:57 -0700 (PDT)
Message-ID: <3bf82390-62cd-4398-b939-cc6672d93054@gmail.com>
Date: Wed, 14 Oct 2026 13:34:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Roberto Manzotti <manzoro.ietf@gmail.com>
To: netmod@ietf.org, "ccamp@ietf.org" <ccamp@ietf.org>
Content-Language: en-US, it
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Message-ID-Hash: MSHYR7W5ALACEKC2DVXMGMP5KGO2WWOP
X-Message-ID-Hash: MSHYR7W5ALACEKC2DVXMGMP5KGO2WWOP
X-MailFrom: manzoro.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-netmod.ietf.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [netmod] Alarm Threshold type modelling for DWDM-IF
List-Id: NETMOD WG list <netmod.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/-9NTRDZxAKUHxst2L-JpdCxMIU8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Owner: <mailto:netmod-owner@ietf.org>
List-Post: <mailto:netmod@ietf.org>
List-Subscribe: <mailto:netmod-join@ietf.org>
List-Unsubscribe: <mailto:netmod-leave@ietf.org>

Netmod and CCAMP WGs,

I'm writing on behalf of all co-authors and contributors of 
draft-ietf-ccamp-dwdm-if-param-yang document looking for advice on how 
to handle the configuration of alarm related threshold crossing value on 
dwdm interfaces in future extension of the model.

In our current revision of the draft we are managing the definition of 
the tca-type attribute using an identityref that defines all the 
possible DWDM monitoring parameters that can create threshold crossing 
alarms. This is a snip with an example of the current identity

>   identity wdm-if-tca-type {
>     description
>       "The different types of Threshold Crossing Alert (TCA's)
>        for DWDM Interfaces. Any augmentation of the list of
>        tca-type MUST use this identity as base";
>   }
>
>   identity tx-power-tca {
>     base wdm-if-tca-type;
>     description
>       "The Interface Transmit power TCA";
>   }
>
>   identity rx-power-tca {
>     base wdm-if-tca-type;
>     description
>       "The Interface Receive power TCA";
>   }
> ....

As part of the input received from the dwdm pluggable transceivers gap 
analysis, we are adding a large set of monitoring attributes.
By adding these additional monitoring points, we also need to align the 
list of identities for the threshold crossing alarms, to support alarm 
configuration also for new set of attributes. This actually highlighted 
a maintenance issue in the model. For future extension or augmentation 
that adds monitoring points in the interface, also the wdm-if-tca-type 
identity will need to be extended accordingly.

To avoid this double edit maintenance we tried to model the tca-type as 
an instance-identifier pointing to the interface monitoring attribute 
for which the threshold is defined:

>   grouping wdm-if-tca-thresholds {
>     description
>       "Thresholds for TCA's";
>     leaf tca-type {
>       type instance-identifier {
>         require-instance false;
>       }
>       must 'count(deref(.)/..
>                   | current()/../../..) = 1' {
>         error-message
>           "The TCA type must reference an attribute of the
>            current wdm-interface";
>       }
>       mandatory true;
>       description
>         "XPath identifying the performance-measurement attribute
>          monitored by the TCA. The referenced attribute MUST be a
>          leaf directly contained in the current wdm-interface.
>          Please note that the must statement cannot verify the
>          existence of the node in the operational datastore, since
>          it is not accessible from the config datastore where this
>          leaf is defined. Validation of the existence of the
>          attribute in the operational datastore SHALL be done by
>          the server implementation";
>     }
> .....

While this allows a simpler future maintenance of the model, it has the 
drawback that the instance-identifier Xpath must be defined as absolute 
path. The following snippets provide a json examples for an identityref 
implementation and for an instance-identifier based implementation.

Json with identityref:
>           "wdm-if-tcas": {
>             "number-of-tcas-supported": 10,
>             "tca-list": [
>               {
>                 "tca-id": "rx-channel-power-low",
>                 "tca-type": "rx-power-tca",
>                 "tca-name": "Low-RX-Power",
>                 "raise-threshold": "-13.0",
>                 "clear-threshold": "-12.0"
>               }
>             ]
>           }, 


Json with Xpath:
>           "wdm-if-tcas": {
>             "number-of-tcas-supported": 10,
>             "tca-list": [
>               {
>                 "tca-id": "rx-channel-power-low",
>                 "tca-type": 
> "/ietf-interfaces:interfaces/interface[name='Trunk-0/1']/ietf-wdm-interface:wdm-interface/rx-channel-power",
>                 "tca-name": "Low-RX-Power",
>                 "raise-threshold": "-13.0",
>                 "clear-threshold": "-12.0"
>               }
>             ]
>           },

What would be the preferred option for defining this tca-type leaf that 
identify the monitoring measure subject of the threshold?:
- Option 1: keep the identityref with its double edit maintenance issue 
but a more simple and readable info in the output data
- Option 2: move to the instance-identifier Xpath with its long full 
path in the data output thereby removing the identity maintenance in the 
model
- Option 3: any other possible suggested solution is also welcome.

Thanks for your comments/suggestion.
Best Regards
Roberto and all the co-authors of the draft