Hi Rob,

Thanks for the thoughtful proposal, and I support it.

One thing to confirm, for models that may become RFCs in the next two years and 
where the IP address doesn’t support zones, "ip-address” should still be used. 
Correct?

Thanks,
Yingzhen


> On Apr 11, 2022, at 10:06 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.
> 
> Regards,
> Rob
> 
> 
> 
>> -----Original Message-----
>> From: netmod <netmod-boun...@ietf.org <mailto:netmod-boun...@ietf.org>> On 
>> Behalf Of Randy Presuhn
>> Sent: 08 April 2022 18:59
>> To: Christian Hopps <cho...@chopps.org <mailto:cho...@chopps.org>>
>> Cc: l...@ietf.org <mailto:l...@ietf.org>; netmod@ietf.org 
>> <mailto: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 <mailto:netmod@ietf.org>
>> https://www.ietf.org/mailman/listinfo/netmod 
>> <https://www.ietf.org/mailman/listinfo/netmod>
> 
> _______________________________________________
> Lsr mailing list
> l...@ietf.org <mailto:l...@ietf.org>
> https://www.ietf.org/mailman/listinfo/lsr 
> <https://www.ietf.org/mailman/listinfo/lsr>
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to