Hi Martin,

I believe you that the technical "value space" doesn't change, but that leaf 
would suddenly accept more values than it did before right?  I'm wondering if 
we want to follow the "spirit" here, or stick with the "value space" argument. 

I'm not really certain what the implications are (and maybe someone has an 
example of why it is better to allow it?) but overwriting require-instance with 
'false' doesn't feel right.

Jason

> -----Original Message-----
> From: Martin Björklund <[email protected]>
> Sent: Friday, April 3, 2020 9:54 AM
> To: Sterne, Jason (Nokia - CA/Ottawa) <[email protected]>
> Cc: [email protected]; j.schoenwaelder@jacobs-
> university.de; [email protected]; [email protected]; [email protected]; rfc-
> [email protected]
> Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
> 
> Hi,
> 
> "Sterne, Jason (Nokia - CA/Ottawa)" <[email protected]> wrote:
> > I don't think we should allow overwriting a require-instance true with
> > a require-instance false in a derived type. It seems to go against the
> > spirit of avoiding expansion of allowable values.
> 
> As I wrote earlier in this thread, the value space doesn't change with
> require-instance.
> 
> 
> /martin
> 
> 
> 
> >
> > From section 4.1 of RFC7950:
> >
> >         Derived types can restrict their base type's set of valid values
> >
> > And this text in section 7.3.4 implies that derived types only do
> > further restriction:
> >
> >     If the type's default value is not valid according to the new
> >    restrictions specified in a derived type or leaf definition, the
> >    derived type or leaf definition MUST specify a new default value
> >    compatible with the restrictions.
> >
> > Going the other direction (overwriting with require-instance true)
> > seems OK to me.
> >
> > Jason
> >
> >
> > > -----Original Message-----
> > > From: netmod <[email protected]> On Behalf Of Rob Wilton
> > > (rwilton)
> > > Sent: Friday, April 3, 2020 8:06 AM
> > > To: Juergen Schoenwaelder <[email protected]>;
> > > Martin
> > > Björklund <[email protected]>
> > > Cc: [email protected]; [email protected]; [email protected]
> > > Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: netmod <[email protected]> On Behalf Of Juergen
> > > Schoenwaelder
> > > > Sent: 27 March 2020 16:13
> > > > To: Martin Björklund <[email protected]>
> > > > Cc: [email protected]; [email protected]; [email protected]; rfc-
> > > > [email protected]
> > > > Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
> > > >
> > > > On Fri, Mar 27, 2020 at 04:35:44PM +0100, Martin Björklund wrote:
> > > > > [re-sent w/ correct address]
> > > > >
> > > > > Juergen Schoenwaelder <[email protected]>
> wrote:
> > > > > > Hi,
> > > > > >
> > > > > > two comments:
> > > > > >
> > > > > > - It is unclear to me whether this really qualifies as an errata.
> > > > > >
> > > > > > - If we add this, then there should probably text about which
> > > > > >   combinations are allowed. For example, for pattern and ranges,
> there
> > > > > >   is explicit text that says further restrictions of the value space
> > > > > >   are possible, bot not expansions. If we follow that logic, then
> > > > > >
> > > > > >   typedef a {
> > > > > >     type leaf-ref {
> > > > > >       path "/some/thing";
> > > > > >       require-instance true;
> > > > > >     }
> > > > > >   }
> > > > > >
> > > > > >   typedef b {
> > > > > >     type a {
> > > > > >       require-instance false;
> > > > > >     }
> > > > > >   }
> > > > > >
> > > > > >   might be illegal since b has a larger value space than a.
> > > > >
> > > > > The value space of b is the same as for a. "require-instance" doesn't
> > > > > change the value space; it changes semantic validation of the given
> > > > > values ((see my mail from 17 Mar, "Require-instance problem").
> > > > >
> > > > > /martin
> > > >
> > > > OK. If we consider require-instance a constraint and not a
> > > > restriction,
> > > > then the motivation for this errata is at least
> > > > confusing:
> > > >
> > > >   Since no one argued against this understanding, this errata changes
> > > >   the text to the same form as in other restrictions applicable to
> > > >   derived types.
> > > >
> > > > Simply put: Do you think it is OK to overwrite a require-instance true
> > > > with a require-instance false in a derived type?
> > > [RW]
> > > I'm not sure, but going in the other direction seems plausible.
> > >
> > > E.g. you start with a typedef that is explicitly require-instance
> > > false that is then
> > > refined by a typedef to be require-instance true.
> > >
> > > Regards,
> > > Rob
> > >
> > >
> > > >
> > > > /js
> > > >
> > > > --
> > > > 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/>
> > > >
> > > > _______________________________________________
> > > > netmod mailing list
> > > > [email protected]
> > > > https://www.ietf.org/mailman/listinfo/netmod
> > >
> > > _______________________________________________
> > > netmod mailing list
> > > [email protected]
> > > https://www.ietf.org/mailman/listinfo/netmod

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to