FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.27k stars 1.24k forks source link

ANVL LDP-37.4 Failing (Test to free labels) #6540

Open mwinter-osr opened 4 years ago

mwinter-osr commented 4 years ago

Test Description

If LSR receives a Label Release (that does not match any outstanding Label Withdraws) and LSR is the egress and is not merging, then Remove Label from forwarding/switching use for traffic from MsgSource and if any peers do not still hold the label, free the label. LRl.1->2->4->6->10->11->12->13

Reference

RFC 3036, Appendix A.1.4 p107 Receive Label Release

This broke with the PR #6147

rwestphal commented 4 years ago

@mwinter-osr thanks for reporting this failure and pointing out the offending commit.

These are the steps performed by ANVL-LDP-37.4:

1. ANVL: Establish LDP Session (ANVL is upstream, LSRu).
2. ANVL: (Optional)Send Label Request from LSRu for egress FEC (FECe).
3. DUT: Send Label Mapping to LSRu for egress FEC (FECe).
4. ANVL: Send Label Release from LSRu for egress FEC (FECe).
5. DUT: Remove LSRu from switching use.
6. ANVL: Send labelled data packet to Iu (containing label advertised by DUT for egress FEC (FECe) to LSRu, which ANVL previously released).
7. DUT: Do not label-switch packet.

The problem lies on the last step. Since #6147, ldpd won't drop packets coming through a broken LSP anymore, doing a best-effort attempt to deliver them to the appropriate next hop. So the regression on this particular test is a natural side affect of that change, and there's nothing we can do about it. Furthermore, this test is targeted to non-merging capable LSRs (e.g. ancient ATM switches), so the right thing to do is probably to blacklist it instead.

I suggest that we mark this issue as WONTFIX and close it.