Re: [netmod] Does defining a feature require the module be implemented?

Andy Bierman <andy@yumaworks.com> Thu, 19 May 2022 06:14 UTC

Return-Path: <andy@yumaworks.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 90EC2C26E8B8 for <netmod@ietfa.amsl.com>; Wed, 18 May 2022 23:14:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.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 dTys6R5qdbDp for <netmod@ietfa.amsl.com>; Wed, 18 May 2022 23:13:56 -0700 (PDT)
Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 944DAC26E8B5 for <netmod@ietf.org>; Wed, 18 May 2022 23:13:56 -0700 (PDT)
Received: by mail-yb1-xb2c.google.com with SMTP id e78so7270254ybc.12 for <netmod@ietf.org>; Wed, 18 May 2022 23:13:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TgXnJqMn8I6g7Tc8X6EC5eWTFTbggaW7dzZyYYgvCxc=; b=X++a76vb/qaV51JLd2jOXDwLctAOCC2y8SPf/GHY+i8nfp47Jz1zYgBgj0X050nHpk BzQlEtqiHImM6BLjlK2pGXadTHHgCcazqSmHzToMmV4ehT+ET8yzDaZr1fvef4j++lAu filS4aNj5Xor8EVcIhGAk6AwxuM4k6i0xBzY6Vnn9VbkgmYQPzglL/LYtkokZAWqjcQr 8gkMQlXaB0cZ5VtcGkkYh3f/qtqVqNmqWJV3jyCIf6Ppdg3DiItiQMjPumVTUU7w7f43 Mn9HvplKNn4p3pauYAVWCNuWIHHgl1SRsb9V/WlWkkeHMipwwv9OkywuKFVpXl5+A875 vJbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TgXnJqMn8I6g7Tc8X6EC5eWTFTbggaW7dzZyYYgvCxc=; b=JZ+X3WUDZYtGsb1q+c6Vp4vCPGCO09c1BiBcr0nstSmOFGN+JAU6CAQeFg8CnPgBvi TMSPxKHb/+CZlkQ7Zh7DHQKWs98oDeUcy5WDWjmD3JzBC8LXyc556+/hi5d/hR7QkCwY wxInLkfiKMfPOHUVgw/QIEoh3f5kXx3CmMb48vxRlcZOBgt1j5lELKwbzNkBtHrPhZ9F NxXFASYGIFGl/sJpUUmXnSPM1TBECiN5qwz6IgxbpMGjvWGHrV1tXxM7+AVX6XzqV/K5 FoqAPk8tLhM54frMeIRmmfkhK2kcGGl9XbKcIKx3HIpTQR5Z4GhQANDJEq7Z2H+cvzhb TpFw==
X-Gm-Message-State: AOAM532LE4HjB38c66b9UJVvxbX07s6yXDpS85j6k8DrDpiym4uPg18f oXqJqQj1TphPNZU1MF2qj/KV8pCo8iAGILP6D8/MyPNsQDs=
X-Google-Smtp-Source: ABdhPJxXRkvmvFyrh62TJpUcsrBJMzY4lUx1rtobxpKABikv4WQMqBTUqcFLeIr6IoUNV+P/3PP+ne6ZAUqoaci/hhI=
X-Received: by 2002:a25:4248:0:b0:64d:6b3f:1a56 with SMTP id p69-20020a254248000000b0064d6b3f1a56mr2732363yba.129.1652940835240; Wed, 18 May 2022 23:13:55 -0700 (PDT)
MIME-Version: 1.0
References: <01000180a9eb37cb-85b9c576-c1eb-425a-b42c-b3cabe548fbb-000000@email.amazonses.com> <20220518.080543.825575420363032441.id@4668.se> <01000180d793d6ee-f82a4a03-28d8-4f8b-909e-7306a7fc565b-000000@email.amazonses.com> <CABCOCHT8URJeGJc_Jy7rePqVKjmSUuyPLCBh640WL7UiOpnPpQ@mail.gmail.com> <05CB1C91-1551-43AF-9D4B-725E998128E9@tail-f.com>
In-Reply-To: <05CB1C91-1551-43AF-9D4B-725E998128E9@tail-f.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 18 May 2022 23:13:44 -0700
Message-ID: <CABCOCHTyARbH+XLBa84dZxN6QgLSSJbrozJ-k5SAoh8TA22wHA@mail.gmail.com>
To: Jan Lindblad <janl@tail-f.com>
Cc: Kent Watsen <kent+ietf@watsen.net>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000051d84205df57473c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/0POfJw7gbQfwDBfFSMT4NYg4mMI>
Subject: Re: [netmod] Does defining a feature require the module be implemented?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.34
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: Thu, 19 May 2022 06:14:00 -0000

On Wed, May 18, 2022 at 10:52 PM Jan Lindblad <janl@tail-f.com> wrote:

> Andy wrote:
>
> A server can support a module without any protocol-accessible objects in 3
> ways
>    - implement the module with no features supported
>    - implement the module with features supported
>    - import the module without implementing it
>
> To Martin's point, it is not clear that a client is harmed because a
> server lists a module in
> the 'module' list instead of the 'import-only-module' list.
>
>
> Andy
>
>
> I just want to attest to the real world harm it causes when a server lists
> a module M in the modules list when it doesn't actually support it.
>
> The client then has to believe it is reasonable to issue a get-config
> request for the contents of module M. But when it does, the server then
> responds with an error, and the automation breaks down. The problem is
> cured by the server listing the non-implemented module M as an
> import-only-module.
>
>
GET operations silently skip filters that do not match.
There is no error returned. Modules are not required to contain
config data nodes, so issuing a get-config request for every module
does not seem like a good idea.

A client should be able to determine that M does not have any configuration
data nodes.
If the client does not have the correct set of server features, then
evaluation
of if-feature statements by the client may be wrong.  This causes real harm
to interoperability,

Our server implements the crypt-hash data type and implements the 3
features.
The module is (correctly) listed in the 'module' list, because it is NOT
used as an import-only module
in our server.  It is an implemented module.

Still not sure what real  problem exists here.




> /Jan
>

Andy