[netmod] revising RFC8366 -- Re: [Anima] BRSKI-AE enum issue -> empty, but what's he encoding ?

Michael Richardson <mcr+ietf@sandelman.ca> Fri, 25 June 2021 20:41 UTC

Return-Path: <mcr+ietf@sandelman.ca>
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 01E9C3A0E29; Fri, 25 Jun 2021 13:41:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 UZTZ-wi3x6vt; Fri, 25 Jun 2021 13:41:13 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 10D8D3A0E28; Fri, 25 Jun 2021 13:41:13 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 8652838BF2; Fri, 25 Jun 2021 16:42:59 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id C1NSYj2BMalh; Fri, 25 Jun 2021 16:42:57 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 44CB138B9F; Fri, 25 Jun 2021 16:42:57 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id B8B40553; Fri, 25 Jun 2021 16:41:08 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Toerless Eckert <tte@cs.fau.de>, "Fries, Steffen" <steffen.fries@siemens.com>, "anima@ietf.org" <anima@ietf.org>, netmod@ietf.org, Kent Watsen <kent+ietf@watsen.net>, rwilton@cisco.com
In-Reply-To: <20210625190512.GB30200@faui48e.informatik.uni-erlangen.de>
References: <20210625190512.GB30200@faui48e.informatik.uni-erlangen.de>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Fri, 25 Jun 2021 16:41:08 -0400
Message-ID: <5025.1624653668@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/OrJYk01en82VVG-Ncud1YWxCBtg>
Subject: [netmod] revising RFC8366 -- Re: [Anima] BRSKI-AE enum issue -> empty, but what's he encoding ?
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: Fri, 25 Jun 2021 20:41:18 -0000

Toerless Eckert <tte@cs.fau.de> wrote:
    tte> https://trac.ietf.org/trac/netmod/wiki/YANG_FAQ#when-use-empty
    tte> Is this the solution we are looking for ?


here it the relevant text:

} The second situation is when you want to define an extensible enumeration,
} as an alternative to the type "enumeration", which is not extensible by other
} modules. For example if an enumeration is used:

} leaf protocol {
}   type enumeration {
}     enum smtp;
}     enum pop3;
}   }
} }
} and we want to add a new protocol 'imap4', it must be done by adding a new
} enum in the module. But if we use a choice of type empty instead:

} container protocol {
}   choice p {
}     case smtp { leaf smtp { type empty; } }
}     case pop3 { leaf pop3 { type empty; } }
}   }
} }
} then another module can augment the first:
}
} augment /foo:protocol/p {
}    case imap4 { leaf imap4 { type empty; } }
} }

Well, this seems to be exactly what we want.
Do we get to put a description in there?
can we put a value in so that our SID process works?
(I imagine we'll have to hack pyang to make it cope, but...)

proceedural options:

1) write this up as errata against 8366.  That seems a bit much for errata,
   but how much whisky does it cost to bribe an AD?

2) write a formal "Updates" RFC8366 that just does the NEW/OLD version of
   updates, and that's it.

3) do an entire RFC8366bis.

--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide