Hi Andrew, Thank you very much for your comments. My responses are inline below with [HC].
Best Regards, Huaimo From: Idr <[email protected]> On Behalf Of Stone, Andrew (Nokia - CA/Ottawa) Sent: Monday, November 7, 2022 6:33 PM To: [email protected] 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 [email protected] https://www.ietf.org/mailman/listinfo/pce
