We're using VPLS and L2VPN on Juniper MX for L2 connections. Signaling is done via BGP and label distribution via LDP.

Now we want one L2VPN to use a specific path trough the network and not follow the IGP.

As we currently only use LDP we would have to introduce RSVP alongside LDP. Are there any caveats while doing that?

I'm looking for practical examples how this is done on the Juniper boxes.


Short answer, just use Resource ReSerVation Protocol (RSVP).

Long answer, you could use multi-topology-routing and have multiple metrics in each interface and force some packets to different topology than another packets. But I would not really venture there.

You might want to talk to your account team that you want segment routing implemented: http://tools.ietf.org/html/draft-previdi-filsfils-isis-segment-routing-02 (customer pressure will help resource development)

Segment routing would make it trivial to solve your problem while removing both LDP and RSVP from your network, relying only on IGP.

As my suggestion in comments did not actually work, I'll explain why not, and how to fix.
Problem is we need to have LSP installed in HW to be able to use it. And by my suggestion the RSVP LSP is not actually installed until LDP LSP goes away. So we cannot conditionally inject traffic there.

I couldn't find any way to force RSVP+LDP in ECMP, with equal preference LDP wins. But we still can achieve what is desired at least in two separate ways.

  1. Dual next-hops
    Add second next-hop in the l2circuit PEs. This next-hop will not be used by iBGP, so it draws no traffic at all.
    Now configure RSVP tunnel for this second loopback and use it as neighbor address for l2circuit.
    Net effect is, all traffic is using LDP except this l2circuit which is using RSVP
  2. RSVP only
    Create two RSVP tunnels, one using IGP path (i.e. will use same as LDP) another using your explicit path. These can be set to ECMP, i.e. all traffic will use both tunnels.
    Now as we've accomplished ECMP requirement, we can use 'routing-options forwarding-table' export policy to put some traffic on LSP_NORMAL and some traffic on LSP_EVPN. Essentially our export policy would be:


term EVPN {
    from community EVPN;
    then {
        install-nexthop lsp LSP_EVPN;
term NORMAL {
    from next-hop;
    then {
        install-nexthop lsp LSP_NORMAL;

Now none of the traffic would actually use the ECMP as all of the traffic would be forced to one or the other RSVP LSP.
I would prefer the 1st option.

  • 1
    This should point the way:kb.juniper.net/InfoCenter/… - essentially create RSVP tunnel, use community to discriminate what traffic enters it – ytti May 16 '13 at 12:35
  • 1
    Make the RSVP tunnel preference greater than 9. 'set protocols mpls label-switched-path EVPN-BACKUP preference 10.' – ytti May 22 '13 at 7:00
  • 1
    Just a note, this seems not to work. When I give the RSVP a higher preference the label doesn't get installed in the mpls table and the path does not come up (l2circuit reports "OL" -> No outgoing label) – Sebastian Wiesinger Jul 1 '13 at 11:27
  • 1
    You're right. With higher preference it does not get installed in HW at all (show route forwarding-table matching EGRESS/32), so it cannot be accepted by forwarding-table export. I tried to think of solution to get both installed and RSVP used conditionally but drew black. One solution would be, to add another loopback for RSVP, which you only use for this, then you do the l2circuit towards the new 'RSVP loopback'. This way rest of the prefixes use the LDP loopback label and this one uses RSVP loopback labels. No need for community+forwarding-table export. – ytti Jul 1 '13 at 12:28
  • 1
    I think you would have needed 'psn-tunnel-endpoint', juniper.net/techpubs/software/junos/junos85/swconfig85-vpns/… – ytti Jul 2 '13 at 11:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.