Re: [Lsr] Comments on Requested Codepoints for draft-li-lsr-isis-area-proxy

2020-06-20 Thread tony . li

Hi Les,

> Putting the Inside Node TLV aside for the moment, it would seem to me to be 
> advantageous (in a modest way) to have all information relating to Area Proxy 
> contained in one advertisement. Using Router Capabilities TLV would 
> accomplish that.


I agree that the information should be contained, this is why we opted to put 
it all into one top level TLV.  Recall that only the Area Leader is advertising 
the Area Proxy TLV, while all inside nodes need the capability.


> Your concern about “burdening” the Router Capabilities TLV seems unwarranted.


Given that we have 64k top level code points, I’m equally confused about your 
concern.


> Multiple Router Capability TLVs are allowed (indeed even required to support 
> different flooding scopes) – so TLV space is not limited.


I expect that we will have numerous bug reports when we start to cross the TLV 
boundary.  I’m not in favor of pushing this.

 
> Returning to Inside Node TLV, I share your concern about advertising Router 
> Capabilities TLV in pseudo-node LSP. But what does it mean to advertise the 
> Inside Node TLV in a pseudo-node LSP?


It’s a clear indication that the pseudonode is intended to be inside.


> Presumably you need some capability indicator because even on boundary 
> circuits the DIS will use the native systemid rather than the proxy systemid 
> and therefore you cannot tell based on pseudonode-id alone what type of 
> circuit this is.


Correct. The DIS would have a very difficult time using the proxy systemid and 
assigning a unique circuit id for the pseduonode.  Some other system on the 
other side of the area could be making exactly the same choice, leading to a 
collision.  Thus, it seems simpler to use the native system id and explicitly 
signal that the pseudonode is inside.  I’ve become a pretty big fan of explicit 
signaling, as it’s more robust.


> Would this argue for advertising “this is a boundary circuit” in pseudo-node 
> LSPs for boundary circuits rather than advertising “inside” on all inside 
> pseudo-nodes?


You could do it that way.  It inverts the semantics and inverts the deployment. 
 Logically, it should have the same effect.  However, it then is seen by 
outside nodes.  Since they need not support Area Proxy, this seemed like a 
riskier approach, thus we opted for marking inside pseudonodes.


> And do you need the “boundary circuit” indication in L2 IIHs (and perhaps P2P 
> IIH as well??) as protection against improperly forming adjacencies on 
> boundary circuits?


Not required if there is consistent configuration.  All inside nodes will be 
using the proxy system ID in their IIH.  If a node is inconsistently 
configured, then it is difficult to prevent at least one side from trying to 
form the adjacency.


> Regarding the Area SID advertisement, I take the point that this concept 
> might be useful more generically, but as it is key to have the correct scope 
> for the SID, it is hard to see how the advertisement could be used apart from 
> the context (Area Proxy in this case). So advertising it separately doesn’t 
> seem useful.


To me, it seems like it is a useful anycast SID anytime there is hierarchy 
present.  It seems somewhat useful to be able to create paths that say things a 
bit more abstractly: Take the path from San Francisco, through Los Angeles, 
Dallas, St. Louis, and then Atlanta to get to Washington. This would allow 
higher level TE without worrying about more specific details. This also opens 
up the possibility of hierarhcical TE, which we may wish to explore for the 
sake of scalability.

 
> Regarding consistent SRGBs, you might find 
> https://datatracker.ietf.org/doc/draft-ietf-spring-mpls-anycast-segments/ 
>  
> worth reading as something attempting to address a similar problem. It isn’t 
> easy.


Thank you for the pointer, I will review.

I appreciate your comments.  I wish that they had been much earlier in the 
process.  I will take them much more seriously if and when the document is 
adopted by the WG.

Tony



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


Re: [Lsr] Comments on Requested Codepoints for draft-li-lsr-isis-area-proxy

2020-06-20 Thread Les Ginsberg (ginsberg)
Tony –

Thanx for the quick response.

Putting the Inside Node TLV aside for the moment, it would seem to me to be 
advantageous (in a modest way) to have all information relating to Area Proxy 
contained in one advertisement. Using Router Capabilities TLV would accomplish 
that.
Your concern about “burdening” the Router Capabilities TLV seems unwarranted.
Every capability currently defined comes with additional information.
Multiple Router Capability TLVs are allowed (indeed even required to support 
different flooding scopes) – so TLV space is not limited.

Returning to Inside Node TLV, I share your concern about advertising Router 
Capabilities TLV in pseudo-node LSP. But what does it mean to advertise the 
Inside Node TLV in a pseudo-node LSP?
Presumably you need some capability indicator because even on boundary circuits 
the DIS will use the native systemid rather than the proxy systemid and 
therefore you cannot tell based on pseudonode-id alone what type of circuit 
this is.

Would this argue for advertising “this is a boundary circuit” in pseudo-node 
LSPs for boundary circuits rather than advertising “inside” on all inside 
pseudo-nodes?

And do you need the “boundary circuit” indication in L2 IIHs (and perhaps P2P 
IIH as well??) as protection against improperly forming adjacencies on boundary 
circuits?

Regarding the Area SID advertisement, I take the point that this concept might 
be useful more generically, but as it is key to have the correct scope for the 
SID, it is hard to see how the advertisement could be used apart from the 
context (Area Proxy in this case). So advertising it separately doesn’t seem 
useful.

Regarding consistent SRGBs, you might find 
https://datatracker.ietf.org/doc/draft-ietf-spring-mpls-anycast-segments/ worth 
reading as something attempting to address a similar problem. It isn’t easy.

   Les


From: Tony Li  On Behalf Of tony...@tony.li
Sent: Saturday, June 20, 2020 1:41 PM
To: Les Ginsberg (ginsberg) 
Cc: draft-li-lsr-isis-area-proxy.auth...@ietf.org; lsr@ietf.org
Subject: Re: Comments on Requested Codepoints for draft-li-lsr-isis-area-proxy


Hi Les,

Thank you for your comments.  Please see my comments inline.


draft-li-lsr-isis-area-proxy-06  currently proposes the use of one new sub-TLV 
of Router Capabilities TLV and three new top level TLVs


It should probably be noted that the Area Segment SID is somewhat orthogonal to 
the rest of Area Proxy.   It could be conceivably be used without
Area Proxy, or with another solution.

It would not be unreasonable to consider the Area Segment SID to be a proposal 
logically independent of Area Proxy.  Thus, Area Proxy really is requesting two 
new top level TLVs.


1)Area Proxy Router Capability - sub-TLV of Router Capability TLV

2)Inside Node TLV - Top level TLV

3)Area Proxy TLV - Top Level TLV with optional sub-TLVs:
   Sub-TLV Area Proxy System ID
   Sub-TLV Area Segment SID

4)Area Segment SID - Top Level TLV


Comments:
This seems unnecessarily profligate in its consumption of top level TLV code 
points – something to which, as a Designated Expert for the IS-IS registries,  
I pay close attention.
I can imagine an alternative encoding which utilizes a single sub-TLV within 
the Router Capabilities TLV:

Area Proxy Router Capability sub-TLV

  Type: TBD
  Length: Variable
  Value: Flags + Optional sub-TLVs

1 octet of Flags:

  0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+
  |I|L|P| RSVD  |
  +-+-+-+-+-+-+-+

I If set indicates Inside Node
L If set indicates capable of performing Area Leader functions
P If set indicates Proxy LSP advertisement
RSVD - for future allocation

Followed by optional sub-sub-TLVs

Sub-sub-TLV Area Proxy System ID
Sub-sub-TLV Area SID (Used only when P bit is set)

Please comment on this alternative.


One of the issues that drove us to introduce the Inside Node TLV was confusion 
about pseudonodes.  How does a node determine whether a pseudonode is Inside or 
Outside?  This is an important at flooding time because if it is Inside, it 
should be flooded externally.  We did not consider putting a router capability 
TLV into a pseudonode and opted for another top level TLV instead.

We chose to make the Area Proxy TLV a top level TLV because we felt that it was 
inappropriate to burden the Router Capabilities TLV with arbitrary amounts of 
additional data. In our humble opinion, the router capabilities TLV should be 
reserved for capabilities.  Yes, it’s true, we could put that data inside of 
the router capabilities TLV, but as we learned a long time ago with GUP, we can 
pretty much put anything anywhere. Just because we can doesn’t mean that we 
should.


Additional Questions:
It is not clear to me why Area SID requires two different advertisements :
1)As a sub-TLV of Area Proxy TLV and
2)As a top Level TLV in the Proxy LSP
Is it because you wanted a unique codepoint for the Proxy LSP advertisements?


We wanted the sub-TLV so that the Area Leader can distribute the value to 

Re: [Lsr] Comments on Requested Codepoints for draft-li-lsr-isis-area-proxy

2020-06-20 Thread tony . li

Hi Les,

Thank you for your comments.  Please see my comments inline.

 
> draft-li-lsr-isis-area-proxy-06  currently proposes the use of one new 
> sub-TLV of Router Capabilities TLV and three new top level TLVs


It should probably be noted that the Area Segment SID is somewhat orthogonal to 
the rest of Area Proxy.   It could be conceivably be used without
Area Proxy, or with another solution.

It would not be unreasonable to consider the Area Segment SID to be a proposal 
logically independent of Area Proxy.  Thus, Area Proxy really is requesting two 
new top level TLVs.
 

> 1)Area Proxy Router Capability - sub-TLV of Router Capability TLV
>  
> 2)Inside Node TLV - Top level TLV
>  
> 3)Area Proxy TLV - Top Level TLV with optional sub-TLVs:
>Sub-TLV Area Proxy System ID
>Sub-TLV Area Segment SID
>  
> 4)Area Segment SID - Top Level TLV
>  
>  
> Comments:
> This seems unnecessarily profligate in its consumption of top level TLV code 
> points – something to which, as a Designated Expert for the IS-IS registries, 
>  I pay close attention.
> I can imagine an alternative encoding which utilizes a single sub-TLV within 
> the Router Capabilities TLV:
>  
> Area Proxy Router Capability sub-TLV
>  
>   Type: TBD
>   Length: Variable
>   Value: Flags + Optional sub-TLVs
>   
> 1 octet of Flags:
>  
>   0 1 2 3 4 5 6 7
>   +-+-+-+-+-+-+-+
>   |I|L|P| RSVD  |
>   +-+-+-+-+-+-+-+
>  
> I If set indicates Inside Node
> L If set indicates capable of performing Area Leader functions
> P If set indicates Proxy LSP advertisement
> RSVD - for future allocation
>  
> Followed by optional sub-sub-TLVs
>  
> Sub-sub-TLV Area Proxy System ID
> Sub-sub-TLV Area SID (Used only when P bit is set)
>  
> Please comment on this alternative.


One of the issues that drove us to introduce the Inside Node TLV was confusion 
about pseudonodes.  How does a node determine whether a pseudonode is Inside or 
Outside?  This is an important at flooding time because if it is Inside, it 
should be flooded externally.  We did not consider putting a router capability 
TLV into a pseudonode and opted for another top level TLV instead.

We chose to make the Area Proxy TLV a top level TLV because we felt that it was 
inappropriate to burden the Router Capabilities TLV with arbitrary amounts of 
additional data. In our humble opinion, the router capabilities TLV should be 
reserved for capabilities.  Yes, it’s true, we could put that data inside of 
the router capabilities TLV, but as we learned a long time ago with GUP, we can 
pretty much put anything anywhere. Just because we can doesn’t mean that we 
should.


> Additional Questions: 
> It is not clear to me why Area SID requires two different advertisements :
> 1)As a sub-TLV of Area Proxy TLV and
> 2)As a top Level TLV in the Proxy LSP
> Is it because you wanted a unique codepoint for the Proxy LSP advertisements?


We wanted the sub-TLV so that the Area Leader can distribute the value to all 
of the Inside Edge Nodes.

We wanted the top level TLV so that it could be distributed to the Outside area.


> There is a statement regarding the SR Capabilities sub-TLV advertised by the 
> Area Leader as having:
>  
>"an SRGB identical to that advertised by all Inside Routers"
>  
> SR does not require all nodes to advertise identical SRGBs. Are you imposing
> a new requirement in order to support SR and Area Proxy together? If so, what 
> happens if all Inside Nodes do NOT advertise identical SRGBs?


Yes, that is a requirement that we are imposing and it applies to the Inside 
Nodes, and possibly only to the Inside Edge Nodes.  More thought from SR 
experts would be welcome here.  

I disclaim all expertise in SR. :-)

The concern here is that the SID value advertised in the Area Segment SID TLV 
be interpreted identically by inside and outside nodes. If the SID is an index 
and the SRGBs are not identical, then there would be some inconsistency between 
how the inside and inside nodes would interpret the SID.  Thus, mismatched 
SRGBs is a misconfiguration.

Regards,
Tony

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


[Lsr] Comments on Requested Codepoints for draft-li-lsr-isis-area-proxy

2020-06-20 Thread Les Ginsberg (ginsberg)
(NOTE: Comments below are mine alone - wearing both my WG member hat and my 
Designated Expert for IS-IS Registries Hat. They do not represent support for 
or against the draft itself.)



draft-li-lsr-isis-area-proxy-06  currently proposes the use of one new sub-TLV 
of Router Capabilities TLV and three new top level TLVs



1)Area Proxy Router Capability - sub-TLV of Router Capability TLV



2)Inside Node TLV - Top level TLV



3)Area Proxy TLV - Top Level TLV with optional sub-TLVs:

   Sub-TLV Area Proxy System ID

   Sub-TLV Area Segment SID



4)Area Segment SID - Top Level TLV





Comments:

This seems unnecessarily profligate in its consumption of top level TLV code 
points - something to which, as a Designated Expert for the IS-IS registries,  
I pay close attention.

I can imagine an alternative encoding which utilizes a single sub-TLV within 
the Router Capabilities TLV:



Area Proxy Router Capability sub-TLV



  Type: TBD

  Length: Variable

  Value: Flags + Optional sub-TLVs



1 octet of Flags:



  0 1 2 3 4 5 6 7

  +-+-+-+-+-+-+-+

  |I|L|P| RSVD  |

  +-+-+-+-+-+-+-+



I If set indicates Inside Node

L If set indicates capable of performing Area Leader functions

P If set indicates Proxy LSP advertisement

RSVD - for future allocation



Followed by optional sub-sub-TLVs



Sub-sub-TLV Area Proxy System ID

Sub-sub-TLV Area SID (Used only when P bit is set)



Please comment on this alternative.



Additional Questions:

It is not clear to me why Area SID requires two different advertisements :

1)As a sub-TLV of Area Proxy TLV and

2)As a top Level TLV in the Proxy LSP

Is it because you wanted a unique codepoint for the Proxy LSP advertisements?



With what I have proposed above, there is only one form of the Area SID 
advertisement but the indication of Proxy LSP is provided.







There is a statement regarding the SR Capabilities sub-TLV advertised by the 
Area Leader as having:



   "an SRGB identical to that advertised by all Inside Routers"



SR does not require all nodes to advertise identical SRGBs. Are you imposing

a new requirement in order to support SR and Area Proxy together? If so, what 
happens if all Inside Nodes do NOT advertise identical SRGBs?



   Les


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