From: netmod <netmod-boun...@ietf.org> on behalf of Andy Bierman 
<a...@yumaworks.com>
Date: Wednesday, April 13, 2022 at 12:43 PM
To: tom petch <ie...@btconnect.com>
Cc: "l...@ietf.org" <l...@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "Rob 
Wilton (rwilton)" <rwilton=40cisco....@dmarc.ietf.org>
Subject: Re: [netmod] [Lsr] I-D Action: 
draft-ietf-lsr-ospfv3-extended-lsa-yang-10.txt



On Wed, Apr 13, 2022 at 2:22 AM tom petch 
<ie...@btconnect.com<mailto:ie...@btconnect.com>> wrote:
From: netmod <netmod-boun...@ietf.org<mailto:netmod-boun...@ietf.org>> on 
behalf of Rob Wilton (rwilton) 
<rwilton=40cisco....@dmarc.ietf.org<mailto:40cisco....@dmarc.ietf.org>>
Sent: 11 April 2022 18:06

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.


The core issue: how important is it to have the typedefs align with user 
expectations?
The reason the ip-address typedef has been misused is because most people 
thought they knew
what an IP address was already.  They thought the 1000s of examples of IP 
addresses they had seen
were enough. They copied "inet:ip-address" from another YANG module they found, 
never even reading ietf-inet-types.yang.

There are lots of different SDOs creating YANG modules. Not just IETF and 
OpenConfig.
Vendors need to deal with the integration themselves.
Misalignment at the data type level, especially something as important as 
ip-address, is causing problems.

Pretending the data types are aligned is not an optimal solution.
Churning 100 or so YANG modules to use ip-address-no-zone is easier said than 
done.
IMO this is the hardest proposal to execute.

I totally agree. It is 2022 now and the world has evolved to be all about 
experiences. The NETMOD WG should be more concerned about the IETF YANG 
experience than our pedantic backward compatibility rules. Don’t get me wrong, 
these have their place but as Andy has articulated, in this case everyone 
expects the ip-address types to be the ip-addresses we all know and love. Are 
we going to let them down? I certainly hope not!!!

Thanks,
Acee


Andy


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.


<tp>

As is sometimes the case with the processes of the IETF, this ignores any 
issues of transition.  I have pointed out a significant number of WG that have 
modules in I-D which include no-zone, in various states, perhaps increasing 
your figures by an order of magnitude.  What are you going to do with I-D e.g. 
in the RFC Editor queue?  Haul them back?

I think that the plan below is a bad one.  I would introduce types with zone - 
that is a no-brainer - but would deprecate the existing types.

Tom Petch

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

_______________________________________________
netmod mailing list
netmod@ietf.org<mailto:netmod@ietf.org>
https://www.ietf.org/mailman/listinfo/netmod

_______________________________________________
netmod mailing list
netmod@ietf.org<mailto:netmod@ietf.org>
https://www.ietf.org/mailman/listinfo/netmod
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to