A few months back I pointed out a couple of small issues that I think need to be addressed in draft-ietf-spring-segment-routing. I still think they need to be addressed.

On 2/26/2016 8:44 AM, Eric C Rosen wrote:
There seems to be some inconsistency in the various documents about the way that penultimate hop popping is handled.

When advertising a prefix-SID via OSPF, the OSPF Segment Routing extensions associate an NP-Flag with the prefix-SID. From section 5 of draft-ietf-ospf-segment-routing-extensions:

      If the NP-Flag is not set then any upstream neighbor of the
      Prefix-SID originator MUST pop the Prefix-SID.  This is equivalent
      to the penultimate hop popping mechanism used in the MPLS
      dataplane.

When advertising a prefix-SID via ISIS, the ISIS Segment Routing extensions associate a P-flag with the prefix-SID. From section 2.1.1.2 of draft-ietf-isis-segment-routing-extensions:

      If the P-flag is not set then any upstream neighbor of the
      Prefix-SID originator MUST pop the Prefix-SID.  This is
      equivalent to the penultimate hop popping mechanism used in
      the MPLS dataplane which improves performance of the
      ultimate hop.

These specs allow a node to REQUIRE its "upstream neighbors" on a given prefix segment to perform penultimate hop popping on any packet whose top label corresponds to a prefix-SID that has been advertised via ISIS or OSPF.

The architecture document has a weaker requirement. From section 3.2.2 of draft-ietf-spring-segment-routing:

      The IGP signaling extension for IGP-Prefix segment includes
      the P-Flag.  A Node N advertising a Prefix-SID SID-R for
      its attached prefix R resets the P-Flag to allow its
      connected neighbors to perform the NEXT operation while
      processing SID-R.  This behavior is equivalent to
      Penultimate Hop Popping in MPLS.  When set, the neighbors
      of N must perform the CONTINUE operation while processing
      SID-R.

This could be interpreted as allowing the upstream neighbor to perform the CONTINUE operation even if the P-Flag is clear, which would mean that the choice of whether to do PHP is left to the neighbor. This seems to contradict the statements quoted above from the IGP documents.

Shouldn't the architecture document be modified so that it says the same thing as the IGP documents?

A related issue in the architecture document stems from the following passage from section 3.2.2 of the architecture document:

   o A node N attaching a Prefix-SID SID-R to its attached prefix
     R MUST maintain the following FIB entry:

     Incoming Active Segment: SID-R
     Ingress Operation: NEXT
     Egress interface: NULL

If SID-R has been advertised in OSPF with the NP-flag clear, or if it has been advertised in ISIS with the P-flag set, there is no need for this FIB entry to be maintained. Perhaps the passage should actually read:

   o If a node N advertises Prefix-SID SID-R for a prefix R that
     is attached to N, N MUST either clear the P-Flag in the
     advertisement of SID-R, or else maintain the following
     FIB entry:

     Incoming Active Segment: SID-R
     Ingress Operation: NEXT
     Egress interface: NULL










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

Reply via email to