Hi Andrew,

Thank you very much for your comments.
My responses are inline below with [HC].

Best Regards,
Huaimo
From: Idr <idr-boun...@ietf.org> On Behalf Of Stone, Andrew (Nokia - CA/Ottawa)
Sent: Monday, November 7, 2022 6:33 PM
To: i...@ietf.org
Subject: [Idr] draft-chen-idr-mbinding - BSID terminating node

Hi IDR, Authors

Following up with my comment at the mic in the IDR meeting earlier today. The 
below would also apply to the sibling draft in PCE-WG. During the meeting it 
was confirmed the BSID SL is not provided to the neighbor node, however:

[HC]: A BSID is associated with a list of SIDs for a path segment. When BGP 
sends the
BSID with the list of SIDs to a node named N, BGP also sends the BSID with the 
list of SIDs
plus the ID of node N to the neighbors of N.


  1.  How does a node providing protection, know where the BSID tunnel 
terminates on?

[HC]: If the first SID in the list is a node SID, when node N failed, the 
neighbor node of N will
replace the BSID with the list of SIDs in the packet after the SID for node N 
is removed/popped
and sends the packet  to the first SID in the path segment bond to BSID.

For example, given the following network path: 
[A]--100--[B]--200--[C]--300--[D]--400--[E]--500--[F]

Where A,B,C,D,E,F are nodes and 100, 200, 300, 400, 500 are local 
adjacency-sids.

BSID 1000 is deployed to node C with SL: 300, 400.

Therefore a headend tunnel is programmed on A with SL: 100, 200, 1000, 500.

As per the draft, we want node protection for node C thus protect BSID 1000. 
When programming its neighbor [B] the document says to only inform node B:  {C, 
1000}

[HC]: If the first SID in the list is an adjacency SID (e.g., adjacency 300 for 
the adjacency from C to D),
when node N (e.g., node C here)  failed, the neighbor node(e.g., node B)  of N 
(e.g., node C) will
get the node SID of next hop node  (i.e., node D) using the adjacency SID 300, 
and replace the BSID
1000 with the node SID of next hop node (i.e., node D) and the rest of the SIDs 
in the list,
and sends the packet  to the first SID (i.e., the node SID of node D) in the 
path segment bond to BSID.

How will B know BSID 1000 terminates on E?  If B only peaks into the next-sid 
in the stack (500), that value is of local significance to E only thus does not 
actually know it should send to E.

[HC]: When node D receives the packet, node D can process its adjacency SID 400 
(for adjacency
From D to E), and sends the packet to node E.


  1.  It could be possible for BSID 1000 SL to also contain BSIDs in a nested 
manner, thus further masking where the BSID actually terminates. As well, the 
next SID in the path (ex: 500) could also be a local BSID too.
[HC]: BSID 500 is for node E, right? If so, when node E failed, its neighbor 
node D will execute the
Procedure similar to that executed by node B for node C’s failure.



  1.  I did not not mentioned at the mic: the BSID terminating node may be in 
another domain/IGP instance not within view of the protecting node as a 
valuable use case is BSIDs on borders.
[HC]: For multiple domains and BSID on the border of the domains, this case is 
an egress protection
(the border node is the egress of the upstream domain) for protecting the 
failure of the egress (i.e.,
the border node).  A backup egress node is selected or configured to protect 
the (primary) egress
node. The backup egress node can get the information about the path segment 
associated with BSID,
and sends the packet along the path segment associated with the BSID.

It seems to me at minimum: the node identifier of where the BSID terminates (E 
in example above) is required, but that would still not be sufficient to solve 
[3].
[HC]: As my explanation above, it seems that these are resolved.

Thanks
Andrew
_______________________________________________
Pce mailing list
Pce@ietf.org
https://www.ietf.org/mailman/listinfo/pce

Reply via email to