Routing
Reply
Visitor
vvasilev
Posts: 7
Registered: ‎10-11-2009
0
Accepted Solution

vrf-table-label

I am trying to get a PE router (MX80 with logical-systems, vlan-tagged core facing interfaces, and a helper VRF) to advertise per VRF labels with no success. The router announces the route with the correct RD/RTs though. Here is my config:

 

juniper@MX80# run show configuration logical-systems r1 routing-instances

r1 {
    instance-type vrf;
    interface lo0.11;
    route-distinguisher 65000:1;
    vrf-target {
        import target:65000:11;
        export target:65000:1;
    }
    no-vrf-advertise;
    routing-options {
        auto-export;
    }
}
r1_down {
    instance-type vrf;
    route-distinguisher 65000:2;
    vrf-target {
        import target:65000:1;
        export target:65000:111;
    }
    vrf-table-label;
    routing-options {
        auto-export;
    }
}


juniper@MX80# run show route logical-system r1 advertising-protocol bgp 2.2.2.2 detail

r1_down.inet.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
* 11.11.11.11/32 (1 entry, 1 announced)
 BGP group int type Internal
     Route Distinguisher: 65000:2
     VPN Label: 299808
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [65000] I
     Communities: target:65000:1 target:65000:111

 

juniper@MX80# run show route logical-system r1 table mpls.0 label 17

mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

17                 *[VPN/0] 00:00:59
                      to table r1_down.inet.0, Pop

 

The router seems to allocates label 17 for that purpose but sends the route with label 299808.

 

If I get rid of the helper VRF (r1_down) and delete the "no-vrf-advertise" on the primary VRF (r1) then the router advertises only one label per VRF:

 

r1.inet.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
* 11.11.11.11/32 (1 entry, 1 announced)
 BGP group int type Internal
     Route Distinguisher: 65000:1
     VPN Label: 16
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [65000] I
     Communities: target:65000:1


juniper@MX80# run show route logical-system r1 table mpls.0 label 16   

mpls.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

16                 *[VPN/0] 00:00:51
                      to table r1.inet.0, Pop     

 

I must be missing something...

 

Regards,

Vladislav A. VASILEV



Recognized Expert
sfouant
Posts: 190
Registered: ‎11-28-2007
0

Re: vrf-table-label


juniper@MX80# run show route logical-system r1 table mpls.0 label 17

mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

17                 *[VPN/0] 00:00:59
                      to table r1_down.inet.0, Pop

 

The router seems to allocates label 17 for that purpose but sends the route with label 299808.


-----

juniper@MX80# run show route logical-system r1 table mpls.0 label 16   

mpls.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

16                 *[VPN/0] 00:00:51
                      to table r1.inet.0, Pop




Can you give us the output of the mpls.0 table for the r1 logical-system without referencing the specific label as in your output above?

Stefan Fouant
JNCIE-SEC, JNCIE-SP, JNCIE-ENT, JNCI
Technical Trainer, Juniper Networks

Follow us on Twitter @JuniperEducate

--
If this post was helpful, please mark this post as an "Accepted Solution".
Kudos are always appreciated!
Visitor
vvasilev
Posts: 7
Registered: ‎10-11-2009
0

Re: vrf-table-label

Hi Stefan,

 

Here is the output and yes it's working. I must have overlooked it although I remember looking specifically for that output:

 

juniper@MX80# run show route logical-system r1 table mpls.0

mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0                  *[MPLS/0] 01:51:29, metric 1
                      Receive
1                  *[MPLS/0] 01:51:29, metric 1
                      Receive
2                  *[MPLS/0] 01:51:29, metric 1
                      Receive
17                 *[VPN/0] 00:27:56
                      to table r1_down.inet.0, Pop     
299824             *[LDP/9] 00:51:05, metric 1
                    > to 10.0.0.2 via ge-1/0/0.12, Pop     
299824(S=0)        *[LDP/9] 00:51:05, metric 1
                    > to 10.0.0.2 via ge-1/0/0.12, Pop     
299840             *[LDP/9] 00:49:29, metric 1
                    > to 10.0.0.2 via ge-1/0/0.12, Swap 299792
299872             *[VPN/170] 00:27:56
                      receive table r1_down.inet.0, Pop     


Thanks!

 

Regards,

Vladislav A. VASILEV

Visitor
vvasilev
Posts: 7
Registered: ‎10-11-2009
0

Re: vrf-table-label

Hi Stefan,

 

I had to implement a hub-and-spoke customer with some egress functionality at the hub. Before that I had only played with this feature in a lab.

 

What's interesting is that the hub PE does not allocate a label per VRF unless the vrf-table-label is configured under both routing instances. All juniper documents say it's needed only under the downstream VRF

 

With vrf-table-label only under the downstream VRF:

 

VPN_A_DOWN.inet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
* 4.4.4.4/32 (1 entry, 1 announced)
 BGP group ibgp type Internal
     Route Distinguisher: 1:2
     VPN Label: 299920
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [1] 65000 I
     Communities: target:1:2

* 11.11.11.11/32 (1 entry, 1 announced)
 BGP group ibgp type Internal
     Route Distinguisher: 1:2
     VPN Label: 299936
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [1] I
     Communities: target:1:2

* 192.168.0.0/30 (1 entry, 1 announced)
 BGP group ibgp type Internal
     Route Distinguisher: 1:2
     VPN Label: 299920
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [1] I
     Communities: target:1:2

[edit]
r1:r1# run show route table mpls.0

mpls.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0                  *[MPLS/0] 02:29:34, metric 1
                      Receive
1                  *[MPLS/0] 02:29:34, metric 1
                      Receive
2                  *[MPLS/0] 02:29:34, metric 1
                      Receive
19                 *[VPN/0] 00:21:05
                      to table VPN_A_DOWN.inet.0, Pop      
299776             *[LDP/9] 02:21:14, metric 1
                    > to 10.0.0.2 via ge-1/0/0.0, Pop      
299776(S=0)        *[LDP/9] 02:21:14, metric 1
                    > to 10.0.0.2 via ge-1/0/0.0, Pop      
299792             *[LDP/9] 02:21:07, metric 1
                    > to 10.0.0.2 via ge-1/0/0.0, Swap 299792
299920             *[VPN/170] 00:00:26
                    > to 192.168.0.2 via ge-1/0/4.0, Pop      
299936             *[VPN/170] 00:00:26
                      receive table VPN_A_DOWN.inet.0, Pop

 

The router seems to be doing the right thing (label 299936) only for interface lo0.11 which resides on the PE router itself.

 

With vrf-table-label under both VRFs

 

r1:r1# run show route advertising-protocol bgp 2.2.2.2 extensive    

VPN_A_DOWN.inet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
* 4.4.4.4/32 (1 entry, 1 announced)
 BGP group ibgp type Internal
     Route Distinguisher: 1:2
     VPN Label: 19
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [1] 65000 I
     Communities: target:1:2

* 11.11.11.11/32 (1 entry, 1 announced)
 BGP group ibgp type Internal
     Route Distinguisher: 1:2
     VPN Label: 19
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [1] I
     Communities: target:1:2

* 192.168.0.0/30 (1 entry, 1 announced)
 BGP group ibgp type Internal
     Route Distinguisher: 1:2
     VPN Label: 19
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [1] I
     Communities: target:1:2

[edit]
r1:r1# run show route table mpls.0                                  

mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0                  *[MPLS/0] 02:32:25, metric 1
                      Receive
1                  *[MPLS/0] 02:32:25, metric 1
                      Receive
2                  *[MPLS/0] 02:32:25, metric 1
                      Receive
19                 *[VPN/0] 00:23:56
                      to table VPN_A_DOWN.inet.0, Pop      
22                 *[VPN/0] 00:00:19
                      to table VPN_A.inet.0, Pop      
299776             *[LDP/9] 02:24:05, metric 1
                    > to 10.0.0.2 via ge-1/0/0.0, Pop      
299776(S=0)        *[LDP/9] 02:24:05, metric 1
                    > to 10.0.0.2 via ge-1/0/0.0, Pop      
299792             *[LDP/9] 02:23:58, metric 1
                    > to 10.0.0.2 via ge-1/0/0.0, Swap 299792

 

The router allocates label 22 for the routes in the primary table and label 19 for those in the secondary which are the only one that get sent due to the presence of no-vrf-advertise under the primary.

 

Best Regards,

Vladislav A. VASILEV

 

Copyright© 1999-2013 Juniper Networks, Inc. All rights reserved.