[j-nsp] RSVP hidden routes in inet.0

Misak Khachatryan m.khachatryan at gnc.am
Mon Dec 11 12:57:16 EST 2023


The most annoying thing is that this is inet.0 table, not inet.3

Best regards,
Misak Khachatryan,

On Mon, Dec 11, 2023 at 7:30 PM Tom Beecher <beecher at beecher.cc<mailto:beecher at beecher.cc>> wrote:
This is correct, they exist for the bypass LSPs.

I wouldn't characterize it as a dirty hack though. RFC4090 fast reroute requires the backup pathways to be pre-computed for a sub-10ms switchover. You put an export policy in place to make sure all labels (including bypass) are in the FIB already. Once a tear event occurs, the hidden RSVP route is just flipped to active, and LSPs using that /32 start pushing the bypass label on the stack. Since that label is already in the FIB, it just works from there.

On Mon, Dec 11, 2023 at 9:27 AM Michael Hare via juniper-nsp <juniper-nsp at puck.nether.net<mailto:juniper-nsp at puck.nether.net>> wrote:
Hi Misak,

I think what you're seeing is normal for protection LSPs, "dirty hack on the control plane side", but I'm looking forward to be humbled on this list that my conclusion is incorrect.

We use "ldp interface link-protection dynamic-rsvp-lsp" and for all my bypass LSPs, 'show route hidden table inet.3 detail' tells me

                Label-switched-path et-0/1/0.3402:BypassLSP->143.235.32.2
          ...
                State: <Hidden Int ProtectionLSP>
                Inactive reason: Unusable path

I agree this is disconcerting if you are trying to get hidden routes to be zero, but there are other normal reasons for routes to be hidden such as rejection by bgp import policy.  Better IMHO to focus instead [or additionally] on " show route resolution unresolved "

-Michael

> -----Original Message-----
> From: juniper-nsp <juniper-nsp-bounces at puck.nether.net<mailto:juniper-nsp-bounces at puck.nether.net>> On Behalf Of
> Misak Khachatryan via juniper-nsp
> Sent: Monday, December 11, 2023 7:03 AM
> To: juniper-nsp at puck.nether.net<mailto:juniper-nsp at puck.nether.net>
> Subject: [j-nsp] RSVP hidden routes in inet.0
>
> Hello,
>
> Recently I implemented RSVP in my network, nothing so fancy - automesh and
> autobandwidth with node-link protection.
>
> By doing final review i saw output of show route summary:
>
> inet.0: 296 destinations, 298 routes (275 active, 0 holddown, 21 hidden)
>               Direct:      6 routes,      5 active
>                Local:      5 routes,      5 active
>                 OSPF:    265 routes,    264 active
>                 RSVP:     21 routes,      0 active
>                  LDP:      1 routes,      1 active
>
> It is very curious for me why I see hidden RSVP routes in inet.0. It seems
> somehow related to bypass LSP's and how Juniper organises it. Here they are:
>
> > show route protocol rsvp table inet.0 hidden
>
> inet.0: 296 destinations, 298 routes (275 active, 0 holddown, 21 hidden)
> @ = Routing Use Only, # = Forwarding Use Only
> + = Active Route, - = Last Active, * = Both
>
> 10.255.0.21/32<http://10.255.0.21/32><http://10.255.0.21/32>      [RSVP] 01:11:54, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.222->10.255.0.21
> 10.255.0.29/32<http://10.255.0.29/32><http://10.255.0.29/32>      [RSVP] 1d 10:26:25, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.29
> 10.255.0.33/32<http://10.255.0.33/32><http://10.255.0.33/32>      [RSVP] 1d 10:26:25, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.33
> 10.255.0.38/32<http://10.255.0.38/32><http://10.255.0.38/32>      [RSVP] 1d 09:32:03, metric 1
>                     >  to 10.255.0.230 via ae4.7, label-switched-path Bypass-
> >10.255.0.222->10.255.0.38
> 10.255.0.70/32<http://10.255.0.70/32><http://10.255.0.70/32>      [RSVP] 04:53:42, metric 1
>                     >  to 10.255.0.230 via ae4.7, label-switched-path Bypass-
> >10.255.0.226->10.255.0.70
> 10.255.0.73/32<http://10.255.0.73/32><http://10.255.0.73/32>      [RSVP] 1d 10:26:21, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.73
> 10.255.0.122/32<http://10.255.0.122/32><http://10.255.0.122/32>     [RSVP] 1d 10:26:21, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.122
> 10.255.0.126/32<http://10.255.0.126/32><http://10.255.0.126/32>     [RSVP] 1d 10:26:41, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.126
> 10.255.0.134/32<http://10.255.0.134/32><http://10.255.0.134/32>     [RSVP] 1d 05:27:20, metric 1
>                     >  to 10.255.0.230 via ae4.7, label-switched-path Bypass-
> >10.255.0.222->10.255.0.134
> 10.255.0.174/32<http://10.255.0.174/32><http://10.255.0.174/32>     [RSVP] 1d 07:19:25, metric 1
>                     >  to 10.255.0.230 via ae4.7, label-switched-path Bypass-
> >10.255.0.222->10.255.0.174
> 10.255.0.181/32<http://10.255.0.181/32><http://10.255.0.181/32>     [RSVP] 1d 10:26:19, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.181
> 10.255.0.185/32<http://10.255.0.185/32><http://10.255.0.185/32>     [RSVP] 1d 10:26:19, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.0.185
> 10.255.0.201/32<http://10.255.0.201/32><http://10.255.0.201/32>     [RSVP] 1d 10:17:37, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.222->10.255.0.201
> 10.255.0.214/32<http://10.255.0.214/32><http://10.255.0.214/32>     [RSVP] 03:16:59, metric 1
>                     >  to 10.255.0.222 via ae0.7, label-switched-path Bypass-
> >10.255.0.226->10.255.0.214
> 10.255.0.222/32<http://10.255.0.222/32><http://10.255.0.222/32>     [RSVP] 1d 10:17:34, metric 1
>                     >  to 10.255.0.230 via ae4.7, label-switched-path Bypass-
> >10.255.0.222
> 10.255.0.226/32<http://10.255.0.226/32><http://10.255.0.226/32>     [RSVP] 02:45:52, metric 1
>                     >  to 10.255.0.222 via ae0.7, label-switched-path Bypass-
> >10.255.0.226
> 10.255.0.230/32<http://10.255.0.230/32><http://10.255.0.230/32>     [RSVP] 1d 10:26:17, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230
> 10.255.25.69/32<http://10.255.25.69/32><http://10.255.25.69/32>     [RSVP] 1d 10:26:17, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.25.69
> 10.255.25.73/32<http://10.255.25.73/32><http://10.255.25.73/32>     [RSVP] 1d 10:26:15, metric 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.25.73
> 10.255.25.150/32<http://10.255.25.150/32><http://10.255.25.150/32>    [RSVP] 1d 10:26:50, metric
> 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.25.150
> 10.255.25.158/32<http://10.255.25.158/32><http://10.255.25.158/32>    [RSVP] 1d 10:26:50, metric
> 1
>                     >  to 10.255.0.226 via ae1.7, label-switched-path Bypass-
> >10.255.0.230->10.255.25.158
>
> The /32 routes here are the IPs of adjacent routers. The only thing I found in
> inet is that Juniper does something similar with LDP over RSVP.
>
> It seems like some dirty hack on the control plane side, but I will be very
> grateful if someone can explain.
>
> Best regards,
> Misak Khachatryan
> _______________________________________________
> juniper-nsp mailing list juniper-nsp at puck.nether.net<mailto:juniper-nsp at puck.nether.net>
> https://puck.nether.net/mailman/listinfo/juniper-nsp
_______________________________________________
juniper-nsp mailing list juniper-nsp at puck.nether.net<mailto:juniper-nsp at puck.nether.net>
https://puck.nether.net/mailman/listinfo/juniper-nsp


More information about the juniper-nsp mailing list