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

Tom Beecher beecher at beecher.cc
Mon Dec 11 10:30:01 EST 2023


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> 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> On Behalf Of
> > Misak Khachatryan via juniper-nsp
> > Sent: Monday, December 11, 2023 7:03 AM
> > To: 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>      [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>      [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>      [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>      [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>      [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>      [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>     [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>    [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>    [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
> > https://puck.nether.net/mailman/listinfo/juniper-nsp
> _______________________________________________
> juniper-nsp mailing list juniper-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp
>


More information about the juniper-nsp mailing list