Re: [Lsr] NewVersionNotificationfordraft-cheng-ospf-adjacency-suppress-00.txt

2023-03-29 Thread Les Ginsberg (ginsberg)
Acee -

I leave it to you and others to work out the optimal OSPF solution.

I only want to emphasize that my concern here is about the state of the LSDB on 
nodes other than the restarting router and its neighbor(s).
I think we would like to prevent those routers from ever entering a state where 
they have:

Old Router LSA from restarting router advertising adjacencies to its neighbors
New Router LSA from the neighbor(s) of the restarting router advertising 
adjacency to the restarting router

If that happens, these routers will (at least for a short while) calculate 
routes via the restarting router before that router is ready to forward them.

So long as whatever solution you come up with addresses that issue, then I am 
satisfied.

Thanx.

Les

> -Original Message-
> From: Acee Lindem 
> Sent: Tuesday, March 28, 2023 9:00 PM
> To: Les Ginsberg (ginsberg) 
> Cc: Liyan Gong ; Tony Przygienda
> ; chen.mengxiao ; lsr
> ; Weiqiang Cheng ;
> linchangwang 
> Subject: Re: [Lsr]NewVersionNotificationfordraft-cheng-ospf-adjacency-
> suppress-00.txt
> 
> Hi Les,
> 
> > On Mar 28, 2023, at 20:53, Les Ginsberg (ginsberg) 
> wrote:
> >
> > Acee -
> >
> > So your proposal is to have the neighbor of the restarting router be
> responsible for ensuring that the Router LSA updates are done in the proper
> order.
> > I agree this can work as well.
> >
> > I still think there is one element missing from your proposal i.e.,
> guaranteeing that the Router LSA update from the restarting router is
> flooded before (or at least in the same Link State Update packet) as the
> updated Router LSA from the neighbor - and that this order is maintained at
> each flooding hop throughout the network.
> > This is likely to happen - but without some delay between flooding the
> updated Router LSA from the restarting router and the updated Router LSA
> on the neighbor there is still some risk.
> 
> See my response to Liyan. If we leave the Router-LSA on the neighbor’s Link
> State Request list when a less recent version is received, the adjacency will
> not go to full until the more-recent version is received. This will handle 
> case
> where the restarting router’s Router-LSA is the last or only element in the
> list.
> 
> Thanks,
> Acee
> 
> 
> 
> >
> >   Les
> >
> >> -Original Message-
> >> From: Acee Lindem 
> >> Sent: Tuesday, March 28, 2023 2:19 PM
> >> To: Les Ginsberg (ginsberg) 
> >> Cc: Liyan Gong ; Tony Przygienda
> >> ; chen.mengxiao ; lsr
> >> ; Weiqiang Cheng ;
> >> linchangwang 
> >> Subject: Re: [Lsr]NewVersionNotificationfordraft-cheng-ospf-adjacency-
> >> suppress-00.txt
> >>
> >> Hi Les
> >>
> >>> On Mar 28, 2023, at 4:44 PM, Les Ginsberg (ginsberg)
> >>  wrote:
> >>>
> >>> (For some reason, email from you now goes into my Junk folder –
> delaying
> >> my response. )
> >>> Acee –
> >>> Consider the simple topology:
> >>> A---B---C
> >>> A is the restarting router.
> >>> C represents “the rest of the network” attached to B.
> >>> Router A goes down.
> >>> Adjacency on B to A goes down.
> >>> The LSPDB on C now has:
> >>> Router LSA B w no adjacency to A
> >>> Router LSA A w adjacency to B (stale)
> >>> A comes up – adjacency between A and B forms.
> >>> What happens next on C (and all the routers downstream) depends on
> >> order.
> >>> Case #1
> >>> New Router LSA B w adjacency to A arrives.
> >>
> >> With the change I proposed, Router B will not become adjacent to Router
> A
> >> without getting an updated version of Router A’s LSA that doesn’t include
> >> the link to Router B.
> >>
> >>
> >>
> >>> At this point, C believes there is two-way connectivity between A and B
> >> because of the presence of the stale Router LSA A
> >>> New Router LSA A w no adjacency to B arrives
> >>> Now C has the up to date information
> >>> Case #2
> >>> New Router LSA A w no adjacency to B arrives
> >>> New Router LSA B w adjacency to A arrives
> >>> C still sees no 2way connectivity between A and B
> >>> The reason you need to control the ordering is to prevent Case #1 from
> >> occurring.
> >>> Yes, this is a transient – LSPDB will eventually converge – but the
> duration
> >> of “eventually’ depends on scale.
> >>> SA bit can be used to prevent Case #1 from ever occurring – or at least
> >> make it very unlikely.
> >>
> >> The change I proposed will prevent it as well. Router B will request Router
> A’s
> >> LSA and Router A will respond with the new version which doesn’t have
> the
> >> link to Router B. Router B will respond with the more-recent version (see
> this
> >> excerpt from RFC 2328 13.3):
> >>
> >>
> >>
> >>(8) Else, the database copy is more recent. If the database copy
> >> has LS age equal to MaxAge and LS sequence number equal to
> >> MaxSequenceNumber, simply discard the received LSA without
> >> acknowledging it. (In this case, the LSA's LS sequence number is
> >> wrapping, and the MaxSequenceNumber LSA must be completely
> >> flushed before any 

Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00

2023-03-29 Thread Christian Hopps


"Les Ginsberg (ginsberg)"  writes:


Chris -


-Original Message-
From: Christian Hopps 
Sent: Tuesday, March 28, 2023 11:40 PM
To: Les Ginsberg (ginsberg) 
Cc: Christian Hopps ; Huaimo Chen
; draft-chen-lsr-isis-big-tlv.auth...@ietf.org;
lsr@ietf.org
Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00


Supporting incremental upgrading routers in a network, with the
understanding that only the upgraded routers will take advantage of a new
feature -- is normal. In fact, it's what we normally strive for; flag-days are
bad.


[LES:] Incremental deployment is possible - even expected - when a new 
advertisement is defined in support of some new feature.
Nodes which don’t support the new feature aren’t making use of the new 
advertisement, so it does not impact them.
That is not what we are dealing with when advertising more than 255 bytes of
information. The need to do so does not arise because of the introduction of new
sub-TLVs. It arises because the use of existing sub-TLVs in quantity exceeds 255
bytes.
This means that all nodes in the network - whether they support the encoding of
more than 255 bytes or not - may need to parse any or all of the advertised
information. But when some of that information is advertised in a TLV that some
nodes may not parse correctly (either because they don’t support MP or they
don’t support Big TLV) then even "legacy nodes" are impacted.

[LES:] Please see my reply to Bruno for further detail. And please look at and 
respond to the example I previously provided.



In any case, there's a pivot here from "this doesn't technically work" to "it
technically works, but no one would want it" which is now a non-technical
assertion that I disagree with.


[LES:] I have no idea what triggers you to make this statement. At best it is a 
"cheap shot" at what I have stated which can be summarized as:

a)Big TLV does not provide what the draft claims it does
b)Having two ways to do the same thing is undesirable


I'm basing the technical position on what had been discussed on the thread 
including required changes to make incremental deployment work, i.e.,

1) when container/big tlv is used it MUST be exclusive i.e., the contained TLVs 
are removed from the top level tlv space. So only container TLVs now exist for 
the contained TLV data.

2) nodes supporting this new container/big tlv definition set a capability bit 
indicating this support.

So a legacy node will not have access to contained TLVs at all, and an upgraded 
node will disregard the legacy nodes (those w/o the capability bit set) when 
container nodes are present in the lsdb. So there's no mysterious failures in 
this network as all nodes are acting on the same logical lsdb.

Your example only upgraded a single node, so of course there's no-one for it to 
talk to.

A more realistic example of incremental deployment has the operator upgrading A 
*and* B and only expecting A and B to work. C will not be used until it's 
software is upgraded. As a bonus, upgraded routers (A) could log the fact that 
legacy nodes like C were left out b/c their capability bit was not set.

The current plan is that the operator has to figure out which vendor supports 
the only now specified multi-TLV behavior and the correct software version from 
that vendor (if it exists), and then upgrade (or disable) all routers that 
might use the new larger TLVs. There is no feedback that they have routers that 
do not support multi-TLVs and are now incorrectly interpreting these 
multi-TLVs, things just fail in various unpredictable ways.

IMO this is a rather sub-optimal solution, basically we do nothing except 
document what everyone should do, and let the operators figure the rest out.

Thanks,
Chris.
[as wg-member]


   Les


Thanks,
Chris.

"Les Ginsberg (ginsberg)"  writes:

> Chris -
>
> 
> However, that is the missing piece, so it works if we also add a capability 
bit.
> If we have the capability bit you now know which routers are processing
the
> container TLV and which aren't. That should be enough info to route
correctly.
>
> Using a container TLV *and* a capability bit is not a free lunch, but it 
should
work to allow incremental deployment safely. If that's something we want as
a WG.
> 
>
> No - this does not work.
> Customer deploys some features. They expect all routers in the network to
be able to correctly calculate topology and correctly forward for the features
they support.
> They do not deploy a feature and expect only a subset of the routers in the
network that are configured to support the feature to correctly calculate
paths.
>
> There is no way to successfully support incremental deployment.
>
> I already gave an example in my comments below:
>
>> >> > [LES:] Consider the following simple example.
>> >> >
>> >> > Node A needs to send 10 sub-TLVs about a particular object –
>> >> > requiring more than 255 bytes to be sent.
>> >> >
>> >> > Some nodes in the network do not support reception of more than
255
>> 

Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00

2023-03-29 Thread Peter Psenak

On 29/03/2023 10:29, Les Ginsberg (ginsberg) wrote:

a)Big TLV does not provide what the draft claims it does
b)Having two ways to do the same thing is undesirable


I can only agree with the above, (b) being the most important.

Peter

___
Lsr mailing list
Lsr@ietf.org
https://www.ietf.org/mailman/listinfo/lsr


Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00

2023-03-29 Thread Tony Przygienda
for what's it worth I +1 here Les & Tony obviously

-- tony

On Wed, Mar 29, 2023 at 5:30 PM Les Ginsberg (ginsberg)  wrote:

> Chris -
>
> > -Original Message-
> > From: Christian Hopps 
> > Sent: Tuesday, March 28, 2023 11:40 PM
> > To: Les Ginsberg (ginsberg) 
> > Cc: Christian Hopps ; Huaimo Chen
> > ;
> draft-chen-lsr-isis-big-tlv.auth...@ietf.org;
> > lsr@ietf.org
> > Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00
> >
> >
> > Supporting incremental upgrading routers in a network, with the
> > understanding that only the upgraded routers will take advantage of a new
> > feature -- is normal. In fact, it's what we normally strive for;
> flag-days are
> > bad.
>
> [LES:] Incremental deployment is possible - even expected - when a new
> advertisement is defined in support of some new feature.
> Nodes which don’t support the new feature aren’t making use of the new
> advertisement, so it does not impact them.
> That is not what we are dealing with when advertising more than 255 bytes
> of information. The need to do so does not arise because of the
> introduction of new sub-TLVs. It arises because the use of existing
> sub-TLVs in quantity exceeds 255 bytes.
> This means that all nodes in the network - whether they support the
> encoding of more than 255 bytes or not - may need to parse any or all of
> the advertised information. But when some of that information is advertised
> in a TLV that some nodes may not parse correctly (either because they don’t
> support MP or they don’t support Big TLV) then even "legacy nodes" are
> impacted.
>
> [LES:] Please see my reply to Bruno for further detail. And please look at
> and respond to the example I previously provided.
>
> >
> > In any case, there's a pivot here from "this doesn't technically work"
> to "it
> > technically works, but no one would want it" which is now a non-technical
> > assertion that I disagree with.
> >
> [LES:] I have no idea what triggers you to make this statement. At best it
> is a "cheap shot" at what I have stated which can be summarized as:
>
> a)Big TLV does not provide what the draft claims it does
> b)Having two ways to do the same thing is undesirable
>
>Les
>
> > Thanks,
> > Chris.
> >
> > "Les Ginsberg (ginsberg)"  writes:
> >
> > > Chris -
> > >
> > > 
> > > However, that is the missing piece, so it works if we also add a
> capability bit.
> > > If we have the capability bit you now know which routers are processing
> > the
> > > container TLV and which aren't. That should be enough info to route
> > correctly.
> > >
> > > Using a container TLV *and* a capability bit is not a free lunch, but
> it should
> > work to allow incremental deployment safely. If that's something we want
> as
> > a WG.
> > > 
> > >
> > > No - this does not work.
> > > Customer deploys some features. They expect all routers in the network
> to
> > be able to correctly calculate topology and correctly forward for the
> features
> > they support.
> > > They do not deploy a feature and expect only a subset of the routers
> in the
> > network that are configured to support the feature to correctly calculate
> > paths.
> > >
> > > There is no way to successfully support incremental deployment.
> > >
> > > I already gave an example in my comments below:
> > >
> > >> >> > [LES:] Consider the following simple example.
> > >> >> >
> > >> >> > Node A needs to send 10 sub-TLVs about a particular object –
> > >> >> > requiring more than 255 bytes to be sent.
> > >> >> >
> > >> >> > Some nodes in the network do not support reception of more than
> > 255
> > >> >> > bytes/object. Consider two such nodes.
> > >> >> >
> > >> >> > Node B, based on the local configuration, needs to be able to
> receive
> > >> >> > sub-TLVs 1,3,5,7,9 from A.
> > >> >> >
> > >> >> > Node C, based on local configuration, needs to be able to receive
> > >> >> > sub-TLVs 2,4,6,8,10 from A.
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> > There is no way that A can advertise all 10 sub-TLVs in a way
> which
> > >> >> > allows both B and C to correctly process the sub-TLVs they
> require.
> > >> >> >
> > >
> > >Les
> > >
> > >> -Original Message-
> > >> From: Christian Hopps 
> > >> Sent: Tuesday, March 28, 2023 9:52 AM
> > >> To: Les Ginsberg (ginsberg) 
> > >> Cc: Christian Hopps ; Huaimo Chen
> > >> ; draft-chen-lsr-isis-big-
> > tlv.auth...@ietf.org;
> > >> lsr@ietf.org
> > >> Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00
> > >>
> > >>
> > >> "Les Ginsberg (ginsberg)"  writes:
> > >>
> > >> > Chris -
> > >> >
> > >> > Please see inline - I'll try to conform to your request about ">>>"
> > quoting -
> > >> > but given that this style does not identify who made the comment, I
> > have
> > >> found
> > >> > in the past that this style becomes very hard to follow after a
> couple of
> > >> > replies.
> > >> > Though perhaps that could be said of any style. 
> > >>
> > >> Well in the ">>>" style my text that you were quoting would have 

Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00

2023-03-29 Thread Les Ginsberg (ginsberg)
Chris -

> -Original Message-
> From: Christian Hopps 
> Sent: Tuesday, March 28, 2023 11:40 PM
> To: Les Ginsberg (ginsberg) 
> Cc: Christian Hopps ; Huaimo Chen
> ; draft-chen-lsr-isis-big-tlv.auth...@ietf.org;
> lsr@ietf.org
> Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00
> 
> 
> Supporting incremental upgrading routers in a network, with the
> understanding that only the upgraded routers will take advantage of a new
> feature -- is normal. In fact, it's what we normally strive for; flag-days are
> bad.

[LES:] Incremental deployment is possible - even expected - when a new 
advertisement is defined in support of some new feature.
Nodes which don’t support the new feature aren’t making use of the new 
advertisement, so it does not impact them.
That is not what we are dealing with when advertising more than 255 bytes of 
information. The need to do so does not arise because of the introduction of 
new sub-TLVs. It arises because the use of existing sub-TLVs in quantity 
exceeds 255 bytes.
This means that all nodes in the network - whether they support the encoding of 
more than 255 bytes or not - may need to parse any or all of the advertised 
information. But when some of that information is advertised in a TLV that some 
nodes may not parse correctly (either because they don’t support MP or they 
don’t support Big TLV) then even "legacy nodes" are impacted.

[LES:] Please see my reply to Bruno for further detail. And please look at and 
respond to the example I previously provided.

> 
> In any case, there's a pivot here from "this doesn't technically work" to "it
> technically works, but no one would want it" which is now a non-technical
> assertion that I disagree with.
> 
[LES:] I have no idea what triggers you to make this statement. At best it is a 
"cheap shot" at what I have stated which can be summarized as:

a)Big TLV does not provide what the draft claims it does
b)Having two ways to do the same thing is undesirable

   Les

> Thanks,
> Chris.
> 
> "Les Ginsberg (ginsberg)"  writes:
> 
> > Chris -
> >
> > 
> > However, that is the missing piece, so it works if we also add a capability 
> > bit.
> > If we have the capability bit you now know which routers are processing
> the
> > container TLV and which aren't. That should be enough info to route
> correctly.
> >
> > Using a container TLV *and* a capability bit is not a free lunch, but it 
> > should
> work to allow incremental deployment safely. If that's something we want as
> a WG.
> > 
> >
> > No - this does not work.
> > Customer deploys some features. They expect all routers in the network to
> be able to correctly calculate topology and correctly forward for the features
> they support.
> > They do not deploy a feature and expect only a subset of the routers in the
> network that are configured to support the feature to correctly calculate
> paths.
> >
> > There is no way to successfully support incremental deployment.
> >
> > I already gave an example in my comments below:
> >
> >> >> > [LES:] Consider the following simple example.
> >> >> >
> >> >> > Node A needs to send 10 sub-TLVs about a particular object –
> >> >> > requiring more than 255 bytes to be sent.
> >> >> >
> >> >> > Some nodes in the network do not support reception of more than
> 255
> >> >> > bytes/object. Consider two such nodes.
> >> >> >
> >> >> > Node B, based on the local configuration, needs to be able to receive
> >> >> > sub-TLVs 1,3,5,7,9 from A.
> >> >> >
> >> >> > Node C, based on local configuration, needs to be able to receive
> >> >> > sub-TLVs 2,4,6,8,10 from A.
> >> >> >
> >> >> >
> >> >> >
> >> >> > There is no way that A can advertise all 10 sub-TLVs in a way which
> >> >> > allows both B and C to correctly process the sub-TLVs they require.
> >> >> >
> >
> >Les
> >
> >> -Original Message-
> >> From: Christian Hopps 
> >> Sent: Tuesday, March 28, 2023 9:52 AM
> >> To: Les Ginsberg (ginsberg) 
> >> Cc: Christian Hopps ; Huaimo Chen
> >> ; draft-chen-lsr-isis-big-
> tlv.auth...@ietf.org;
> >> lsr@ietf.org
> >> Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00
> >>
> >>
> >> "Les Ginsberg (ginsberg)"  writes:
> >>
> >> > Chris -
> >> >
> >> > Please see inline - I'll try to conform to your request about ">>>"
> quoting -
> >> > but given that this style does not identify who made the comment, I
> have
> >> found
> >> > in the past that this style becomes very hard to follow after a couple of
> >> > replies.
> >> > Though perhaps that could be said of any style. 
> >>
> >> Well in the ">>>" style my text that you were quoting would have been
> >>
> >> "> like this"
> >>
> >> and yours would not have anything preceding it.. like mine is here.
> >>
> >> anyway, it's a losing battle against html I typically just load these 
> >> email into
> >> chrome when I need to read them..
> >>
> >> >> -Original Message-
> >> >> From: Christian Hopps 
> >> >> Sent: Tuesday, March 28, 2023 7:27 AM
> >> >> To: Les 

Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00

2023-03-29 Thread Les Ginsberg (ginsberg)
Bruno -

I have read your post carefully - but it is still possible that I have 
misunderstood some of what you have written. If so, please help correct my 
misunderstandings.

Please see my responses inline.

> -Original Message-
> From: bruno.decra...@orange.com 
> Sent: Tuesday, March 28, 2023 6:45 PM
> To: Les Ginsberg (ginsberg) ; Christian Hopps
> 
> Cc: Huaimo Chen ; draft-chen-lsr-isis-big-
> tlv.auth...@ietf.org; lsr@ietf.org
> Subject: RE: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00
> 
> Les, all
> 
> > From: Les Ginsberg (ginsberg) 
> >
> > Chris -
> >
> > 
> > However, that is the missing piece, so it works if we also add a capability 
> > bit.
> If we have the capability bit you now know which routers are processing the
> container TLV and which aren't. That should be enough info to route
> correctly.
> >
> > Using a container TLV *and* a capability bit is not a free lunch, but it 
> > should
> work to allow incremental deployment safely. If that's something we want as
> a WG.
> > 
> >
> > No - this does not work.
> > Customer deploys some features. They expect all routers in the network to
> be able to correctly calculate topology and correctly forward for the features
> they support.
> > They do not deploy a feature and expect only a subset of the routers in the
> network that are configured to support the feature to correctly calculate
> paths.
> >
> > There is no way to successfully support incremental deployment.
> 
> [Bruno]
> 1) globally consistent TLV or not
> Probably the discussion we could make a distinction between:
> - a- TLVs which are required to be consistent (typically the one involved in
> distributed SPF e.g. IP and IS reachability)
> - b- TLVs which are not (e.g. SRv6 locators for algo 0 & 1, but there are
> probably others easier e.g. local adjacency SIDs for SR-MPLS)
> 
> For "a" there is no way to do incremental deployment. So it's either relying
> on careful deployment (and implementation) or relying on a capability. Both
> solution seems equal on this.
> For "b" the big TLV will allow to deploy larger TLV without impacting legacy
> implementation. That's a benefit.
> 
[LES:] What you are proposing is that we categorize TLVs into two different 
categories - and use different encoding strategies when more than 255 bytes of 
information is required to be sent.
I think this is undesirable. It further complicates implementations - both in 
how to format advertisements when sending information and in how to process 
received information.
The justification you provide for doing this is the suggestion that "Big TLV" 
supports incremental deployment - but this is not the case. To understand why I 
say this it would be good to review the example use case I provided below in my 
response to Chris.
[LES:] The terms "incremental deployment" and "backwards compatibility" are 
sometimes abused.
When introducing a new advertisement (e.g., a new sub-TLV for a Neighbor 
advertisement) it may indeed be possible to make such claims. The new sub-TLV 
may be used only for some new feature. Nodes which do not support the new 
feature have no need to parse the new sub-TLV and it is therefore safe to 
introduce such advertisements even when only some nodes in the network support 
the associated feature.
[LES:] However, that is not what we are dealing with in the case of how to 
advertise more than 255 bytes. Existing defined content (e.g., existing link 
attribute sub-TLVs for Neighbor advertisements) may be sufficient to require 
more than 255 bytes to be advertised for an object. This means that all nodes 
in the network need to be able to parse all the advertisements. Placing some of 
the advertisements inside a new container TLV does not mean that those 
advertisements need not be parsed by all nodes - yet that is exactly what will 
happen when these advertisements are placed inside a new TLV that some nodes do 
not understand. 
[LES:]The claim that BIG TLV supports incremental deployment is simply not 
correct.

> 2) failing versus failing
> Even when we need global consistency , there may be multiple failure modes
> to consider.
> - One is not achieving global consistency, which will trigger adverse
> consequences. E.g. persistent forwarding loops for some path for data
> involved in SPF computations. Both solutions have the same properties
> - One is that the new advertisement is not correctly understood by legacy
> implementation and confuse them. This may trigger additional issues. E.g.
> larger set of inconsistencies as the first TLV instance/part may not become
> inconsistent anymore. Also, unfortunately, it's not unheard that some
> implementation are light on the error handling part (e.g. "undefined
> behavior", IS-IS process crash). In that regards, big-tlv seems to have an
> advantage in that legacy implementation are not impacted and everyone
> have a consistent view of the first TLV part.
> .
[LES:] I agree that the consequences of advertising more than 255 bytes 

Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00

2023-03-29 Thread Christian Hopps


Supporting incremental upgrading routers in a network, with the understanding 
that only the upgraded routers will take advantage of a new feature -- is 
normal. In fact, it's what we normally strive for; flag-days are bad.

In any case, there's a pivot here from "this doesn't technically work" to "it 
technically works, but no one would want it" which is now a non-technical assertion that I 
disagree with.

Thanks,
Chris.

"Les Ginsberg (ginsberg)"  writes:


Chris -


However, that is the missing piece, so it works if we also add a capability bit.
If we have the capability bit you now know which routers are processing the
container TLV and which aren't. That should be enough info to route correctly.

Using a container TLV *and* a capability bit is not a free lunch, but it should 
work to allow incremental deployment safely. If that's something we want as a 
WG.


No - this does not work.
Customer deploys some features. They expect all routers in the network to be 
able to correctly calculate topology and correctly forward for the features 
they support.
They do not deploy a feature and expect only a subset of the routers in the 
network that are configured to support the feature to correctly calculate paths.

There is no way to successfully support incremental deployment.

I already gave an example in my comments below:


>> > [LES:] Consider the following simple example.
>> >
>> > Node A needs to send 10 sub-TLVs about a particular object –
>> > requiring more than 255 bytes to be sent.
>> >
>> > Some nodes in the network do not support reception of more than 255
>> > bytes/object. Consider two such nodes.
>> >
>> > Node B, based on the local configuration, needs to be able to receive
>> > sub-TLVs 1,3,5,7,9 from A.
>> >
>> > Node C, based on local configuration, needs to be able to receive
>> > sub-TLVs 2,4,6,8,10 from A.
>> >
>> >
>> >
>> > There is no way that A can advertise all 10 sub-TLVs in a way which
>> > allows both B and C to correctly process the sub-TLVs they require.
>> >


   Les


-Original Message-
From: Christian Hopps 
Sent: Tuesday, March 28, 2023 9:52 AM
To: Les Ginsberg (ginsberg) 
Cc: Christian Hopps ; Huaimo Chen
; draft-chen-lsr-isis-big-tlv.auth...@ietf.org;
lsr@ietf.org
Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00


"Les Ginsberg (ginsberg)"  writes:

> Chris -
>
> Please see inline - I'll try to conform to your request about ">>>" quoting -
> but given that this style does not identify who made the comment, I have
found
> in the past that this style becomes very hard to follow after a couple of
> replies.
> Though perhaps that could be said of any style. 

Well in the ">>>" style my text that you were quoting would have been

"> like this"

and yours would not have anything preceding it.. like mine is here.

anyway, it's a losing battle against html I typically just load these email into
chrome when I need to read them..

>> -Original Message-
>> From: Christian Hopps 
>> Sent: Tuesday, March 28, 2023 7:27 AM
>> To: Les Ginsberg (ginsberg) 
>> Cc: Huaimo Chen ; draft-chen-lsr-isis-big-
>> tlv.auth...@ietf.org; lsr@ietf.org
>> Subject: Re: [Lsr] Comments on draft-chen-lsr-isis-big-tlv-00
>>
>>
>> Hi,
>>
>> So I agree that using this new container TLV along with old TLVs doesn't
help.
>>
>
>>>[LES:] Good - we agree.
>
>> However, it is worth nothing that if *only* the container TLV was used
(i.e.,
>> once a TLV became too large it would be removed and placed inside
>> container TLVs) then it would actually represent a safer way to deploy this
>> "multiple tlv" functionality.
>>
>> If the container only was used, then only routers that understood would
be
>> able to use *any* of the TLV data. This would actually solve the problem
of
>> "newly inserted legacy router brings everything back down" that using a
>> required capability bit being set on all routers has.
>>
>>>[LES:] I don't agree - and here is why. Let's use the example of Neighbor
TLVs.
>>>With what you propose, when a router starts using the container TLV,
those routers who don’t support/understand it would simply not be aware
of the advertisement at all.
>>>This would result in inconsistent routing calculations on different routers
leading to loops/blackholes.
>>>Hardly a benign impact.

You're right, not sure why I thought new routers would know that old routers
weren't acting on the container TLV.

However, that is the missing piece, so it works if we also add a capability bit.
If we have the capability bit you now know which routers are processing the
container TLV and which aren't. That should be enough info to route
correctly.

>>>There is no free lunch here. No matter what encoding scheme you come
up with, unless all routers in the network understand it, things are going to
break.
>

Using a container TLV *and* a capability bit is not a free lunch, but it should
work to allow incremental deployment safely. If that's something we want as
a WG.

Thanks,
Chris.
[as wg-member]