Hello everyone,
again it seems the interesting questions only show up when applying
something to the live network...
We ran into something that poses a question related to RFC8660: What is
the exact meaning of section 2.10.1, "Forwarding for PUSH and CONTINUE
of Global SIDs", when the chosen neighbor doesn't provide a valid MPLS path?
The relevant sections reads:
- Else, if there are other usable next hops, use them to forward
the incoming packet. The method by which the router "R0"
decides on the possibility of using other next hops is beyond
the scope of this document. For example, the MCC on "R0" may
chose the send an IPv4 packet without pushing any label to
another next hop.
Does the part "send an IPv4 packet without pushing any label" apply to
PUSH and CONTINUE, or just to PUSH?
Does R0 have to validate that neighbor N can correctly process to
packet? Or can it forward the packet regardless?
The reason for asking is that we are now seeing issues similar to ones
we had when starting with LDP based MPLS about two decades ago: traffic
being black holed even though a path to the destination exists, because
the MPLS path is interrupted somewhere in the middle.
With LDP we know the case of LFIBentries called "unlabelled". While this
does break connectivity for many kinds of service, e.g. those relying on
an additional service labels, it still works for plain IP(v4) traffic.
In our cases, this works perfectly fine for all internal routing and
control traffic. And even for IPv4 traffic that gets collected by a
central router that injects a default route.
However, depending on the exact interpretation of the above paragraph,
an implementor might feel obliged to chose the next paragraph:
- Otherwise, drop the packet.
Which is, at least in our case, very unfortunate...
Any advice or opinion appreciated!
Best regards, Martin
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring