Re: [netmod] submodules the hidden benefits

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Wed, 05 August 2020 16:48 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 88F963A0CE0 for <netmod@ietfa.amsl.com>; Wed, 5 Aug 2020 09:48:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sFHyLKFt1G3D for <netmod@ietfa.amsl.com>; Wed, 5 Aug 2020 09:48:24 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7F8313A0CD7 for <netmod@ietf.org>; Wed, 5 Aug 2020 09:48:24 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 2E649814; Wed, 5 Aug 2020 18:48:22 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.198]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id B35sQyJ2ECuM; Wed, 5 Aug 2020 18:48:21 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "DFN-Verein Global Issuing CA" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Wed, 5 Aug 2020 18:48:21 +0200 (CEST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by hermes.jacobs-university.de (Postfix) with ESMTP id BCC2520154; Wed, 5 Aug 2020 18:48:21 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10028) with ESMTP id ldA4jM3gT0a5; Wed, 5 Aug 2020 18:48:21 +0200 (CEST)
Received: from localhost (anna.jacobs.jacobs-university.de [10.50.218.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by hermes.jacobs-university.de (Postfix) with ESMTPS id 4D8B7200E4; Wed, 5 Aug 2020 18:48:21 +0200 (CEST)
Date: Wed, 05 Aug 2020 18:48:20 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: tom petch <ietfc@btconnect.com>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20200805164820.rv35b74xhc4v7qrx@anna.jacobs.jacobs-university.de>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: tom petch <ietfc@btconnect.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <AM7PR07MB6248D2079B3637B626198C43A04B0@AM7PR07MB6248.eurprd07.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <AM7PR07MB6248D2079B3637B626198C43A04B0@AM7PR07MB6248.eurprd07.prod.outlook.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/mf0f7iK2HGzg88pJcjhAjBG6XbU>
Subject: Re: [netmod] submodules the hidden benefits
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 05 Aug 2020 16:48:27 -0000

As a data point, RFC 7407 uses sub-modules. The sub-modules more or
less reflect SNMPv3's modular architecture, the different transports
are for example separated out as sub-modules. I guess we also used
sub-modules back then because we wanted to see how this works in an
IETF context (RFC 7407 was approved/published 6 years ago, we were
still learning how to use YANG at that time).

I personally meanwhile believe that sub-modules add complexity with
little extra value but this view surely is not shared by others.
Anyway, people using them should have a good reason for using them.
Since SNMPv3 has a great modular architecture, it makes sense to
structure the YANG modules accordingly and instead of having many
ietf-snmp-<foo> modules, sub-modules came in handy to have everything
in a single namespace. For technologies that do not have a modular
architecture that can be followed, creating modular sub-modules is
likely not worth the effort.

/js

PS: I am not sure that sub-modules are necessarily harder to
    review. For the crypto YANG modules, we have several intertwined
    modules, they are likely as complex to review as if they were all
    sub-modules sharing a single namespace - or a single module with
    all definitions in one big module.

On Wed, Aug 05, 2020 at 04:20:17PM +0000, tom petch wrote:
> Looking at an I-D with endless submodules, I am left thinking
> 
> Costs
> 
> greater in size
> more complex to understand
> harder to review
> more likely to have undetected errors
> 
> Benefits
> 
> 
> 
> What am I missing?  I have only ever seen one such module in the IETF that I can recall and it is draft-ietf-idr-bgp-model and AFAICT it would be smaller, simpler, easier to understand if it were done with grouping instead of submodule.
> 
> Tom Petch
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>