08-05-2011 09:35 AM
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
Solved! Go to Solution.
08-05-2011 09:52 AM
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?
08-05-2011 09:56 AM
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
03-01-2012 08:29 AM
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