On Mon, Apr 11, 2022 at 10:07 AM Rob Wilton (rwilton) <rwilton= 40cisco....@dmarc.ietf.org> wrote:
> Hi all, > > Thanks for the comments on this thread so far. It would be nice if we are > able to come to some sort of rough consensus to a solution. > > I think that there is consensus that the YANG type ip-address (and the > v4/v6 versions) are badly named as the prominent default type name has been > given to the unusual variant of including zone information. > > Based on the comments on this thread, it also seems likely to me that most > of the usages of ip-address in YANG RFCs is likely to be wrong, and the > intention was that IP addresses without zones was intended. At a rough > count, of the published RFC YANG models at github > YangModels/standard/ietf/RFC/ to be: > 86 uses of ip-address > 68 uses of ipv4-address > 66 uses of ipv6-address > > 1 use of ip-address-no-zone > 4 uses of ipv4-address-no-zone > 4 uses of ipv6-address-no-zone > > These types appear in 49 out of the 141 YANG modules published in RFCs. > At a quick guess/check it looks like these 49 YANG modules may appear in > 40-50 RFCs. > > As mentioned previously, it is also worth comparing this to the OpenConfig > YANG modules: > They have redefined ip-address (and v4/v6 variants) to exclude zone > information and have defined separate types include zone information. > There are no explicit uses of the "-zoned" variants of OpenConfig IP > addresses in the latest OpenConfig github repository. However, > approximately a third of the IP address types are still to the > ietf-inet-types.yang rather than openconfig-inet-types.yang, so in theory > some of those 58 entries could still intentionally be supporting zoned IP > addresses, but I would expect that the vast majority would not. > I do see some strong benefit if this basic type being defined in the same > way in both IETF and OC YANG, and I believe that the OC folks have got the > definition right. > > I see that some are arguing that the zone in the ip-address definition is > effectively optional, and implementations are not really obliged to > implement it. I don't find that argument compelling, at least not with the > current definition of ip-address in RFC 6991. I see a clear difference > between a type defined with an incomplete regex that may allow some invalid > values and a type that is explicitly defined to included additional values > in the allowable value space. Further, I believe that a client just > looking at the YANG module could reasonably expect a server that implements > a data node using ip-address would be expected to support IP zones, where > they are meaningful, or otherwise they should deviate that data node to > indicate that they don't conform to the model. > > We also need to be realistic as to what implementations will do. They are > not going to start writing code to support zones just because they are in > the model. They will mostly reject IP addresses with zone information. > Perhaps some will deviate the type to ip-address-no-zone, but probably most > won't. > > The option of respinning approx. 40-50 RFCs to fix this doesn't feel at > all appealing. This would take a significant amount of time/effort and I > think that we will struggle to find folks who are willing to do this. > Although errata could be used to point out the bug, then can't be used to > fix it, all the errata would be "hold for document update" at best. > Further, during the time that it would take us to fix it, it is plausible > that more incorrect usages of ip-address will likely occur (but perhaps > could be policed via scripted checks/warnings). > > > I still feel the right long-term solution here is to get to a state where > the "ip-address" type means what 99% of people expect it to mean, i.e., > excluding zone information. > > Given the pushback on making a single non-backwards compatible change to > the new definition, I want to ask whether the following might be a possible > path that gains wider consensus: > > (1) In RFC 6991 bis, I propose that we: > (i) define new ip-address-with-zone types (and v4 and v6 versions) and > keep the -no-zone versions. > (ii) we change the description of "ip-address" to indicate: > - Although the type allows for zone information, many implementations are > unlikely to accept zone information in most scenarios (i.e., so the > description of the type more accurately reflects reality). > - A new ip-address-with-zone type has been introduced to use where zoned > IP addresses are required/useful, and models that use ip-address with the > intention of supporting zoned IP addresses MUST migrate to > ip-address-with-zone. > - In the future (at least 2 years after RFC 6991 bis is published), the > expectation is that the definition of ip-address will change to match that > of ip-address-no-zone. > > (2) Then in 2 years time, we publish RFC 6991-bis-bis to change the > definition of ip-address to match ip-address-no-zone and deprecate the > "-no-zone" version at the same time. > > My reasoning as to why to take this path is: > (1) It is a phased migration, nothing breaks, 3rd parties have time to > migrate. > (2) It ends up with the right definition (with the added bonus that it > aligns to the OC definition). > (3) It doesn't require us republishing 40+ RFCs. > (4) it hopefully allows us to use YANG versioning to flag this as an NBC > change, along with the other standards to help mitigate this change (import > revision-or-derived, YANG packages, schema comparison). > > I would be keen to hear thoughts on whether this could be a workable > consensus solution - i.e., specifically, you would be able to live with it. > > This is a very thoughtful proposal. Looks good to me. It does introduce a window in which some new modules might start using 'ip-address-no-zone'. Should they wait for the real 'ip-address' in 2 more years or just use 'ip-address-no-zone'? The leaf description-stmt using 'ip-address' should specify if any zone support is required. The default could be 'none' so no mention is needed most of the time. > Regards, > Rob > > > Andy > > > -----Original Message----- > > From: netmod <netmod-boun...@ietf.org> On Behalf Of Randy Presuhn > > Sent: 08 April 2022 18:59 > > To: Christian Hopps <cho...@chopps.org> > > Cc: l...@ietf.org; netmod@ietf.org > > Subject: Re: [netmod] [Lsr] I-D Action: > draft-ietf-lsr-ospfv3-extended-lsa- > > yang-10.txt > > > > Hi - > > > > On 2022-04-08 5:11 AM, Christian Hopps wrote: > > .. > > > Instead, Acee (I'm not sure I'd call him WG B :) is asserting that > > > *nobody* actually wanted the current type, and it has been misused > > > everywhere and all over. The vast majority of implementations in > > > operation probably can't even handle the actual type (Andy's point). > So, > > > Acee is just the messenger of bad news here. Please note that the AD in > > > charge of all this agreed with Acee as well. > > > > That's not the impression one gets from modules like > > https://www.ietf.org/archive/id/draft-ietf-mpls-mldp-yang-10.txt > > which employs both types. So, regardless of whether one is willing > > to respect YANG's compatibility rules, it's no longer a matter of > > speculation whether a name change would cause actual damage - > > it clearly would. Furthermore, my recollection is that the > > WG *did* discuss whether the "zonable" property was needed, so > > any argument based on the assertion that "*nobody* actually > > wanted the current type" seems to me to based on a false premise. > > > > Randy > > > > _______________________________________________ > > netmod mailing list > > netmod@ietf.org > > https://www.ietf.org/mailman/listinfo/netmod > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod >
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod