This article explains the behavior observed in the VPLS/EVPN instance forwarding table.
In the topology below, R1, R2, R3 and R4 are the core-routers. R5 and R6 are the Customer end devices. In R1 and R4, there is one VPLS instance called VPLS_TEST and one EVPN instance called EVPN_TEST.
Instances configured on R1:
set routing-instances VPLS_TEST instance-type vpls set routing-instances VPLS_TEST interface ge-0/0/4.707 set routing-instances VPLS_TEST vrf-target target:65000:1 set routing-instances VPLS_TEST protocols vpls no-tunnel-services set routing-instances VPLS_TEST protocols vpls site SITEA site-identifier 1 set routing-instances VPLS_TEST protocols vpls site SITEA interface ge-0/0/4.707
set routing-instances EVPN_TEST description "To-R4" set routing-instances EVPN_TEST instance-type evpn set routing-instances EVPN_TEST vlan-id 3057 set routing-instances EVPN_TEST interface ge-0/0/3.3057 set routing-instances EVPN_TEST vrf-target target:4787:3057 set routing-instances EVPN_TEST protocols evpn interface ge-0/0/3.3057
VPLS/EVPN instances are configured the same way on R4. When checking the routing table of each instance, both the active and best path LSPs are seen as below:
user@MX# run show route table VPLS_TEST.l2vpn.0 VPLS_TEST.l2vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 121.100.5.97:11:2:1/96 *[BGP/170] 00:05:13, localpref 100, from 121.100.5.97 AS path: I, validation-state: unverified to 10.1.1.2 via ae3.0, label-switched-path LSP_2 > to 10.1.1.13 via ge-0/0/2.181, label-switched-path LSP_1 121.100.5.112:11:1:1/96 *[L2VPN/170/-101] 00:05:25, metric2 1 Indirect user@MX# run show route table EVPN_TEST.evpn.0 EVPN_TEST.evpn.0: 4 destinations, 6 routes (4 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 2:121.100.5.97:9::3057::56:68:a5:d1:05:c4/304 MAC/IP *[BGP/170] 00:00:03, localpref 100, from 121.100.5.97 AS path: I, validation-state: unverified > to 10.1.1.2 via ae3.0, label-switched-path LSP_2 to 10.1.1.13 via ge-0/0/2.181, label-switched-path LSP_1 2:121.100.5.112:9::3057::56:68:a5:d1:06:fa/304 MAC/IP *[EVPN/170] 00:00:04
However, when checking the forwarding table for each instance, we see load balancing i.e ECMP without per packet load balancing configured:
user@MX# run show route forwarding-table family vpls destination 56:68:a5:d1:05:c5 Routing table: VPLS_TEST.vpls VPLS: Enabled protocols: ACKed by all peers, Destination Type RtRef Next hop Type Index NhRef Netif 56:68:a5:d1:05:c5/48 user 0 indr 1048577 5 ulst 1048574 2 10.1.1.2 Push 262145, Push 299840(top) 631 2 ae3.0 10.1.1.13 Push 262145 634 2 ge-0/0/2.181 user@MX# run show route forwarding-table vpn EVPN_TEST Routing table: EVPN_TEST.evpn EVPN: Enabled protocols: Single VLAN, ACKed by all peers, EVPN, ARP/NDP suppression, Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 dscd 591 1 56:68:a5:d1:05:c4/48 user 0 chain 15695870 2 56:68:a5:d1:06:fa/48 user 0 ucst 596 4 ge-0/0/3.3057 0x30006/51 user 0 comp 645 2 ge-0/0/3.3057 intf 0 ucst 596 4 ge-0/0/3.3057 0x30004/51 user 0 comp 618 2 0x30002/51 user 0 comp 615 2 intf 0 indr 1048581 3 ulst 1048580 2 10.1.1.2 Push 299808, Push 299840(top) 609 2 ae3.0 10.1.1.13 Push 299808 630 2 ge-0/0/2.181
This is the expected behavior for the VPLS/EVPN (L2 services). Whereas for the L3VPN, this is not the behavior. The active path chosen will be show in the forwarding-table.
L3VPN_TEST.inet.0: 2 destinations, 3 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.10.10.10/32 *[Static/5] 00:00:18 Receive 172.16.1.1/32 *[BGP/170] 00:00:18, localpref 100, from 121.100.5.97 AS path: I, validation-state: unverified to 10.1.1.2 via ae3.0, label-switched-path LSP_2 > to 10.1.1.13 via ge-0/0/2.181, label-switched-path LSP_1
user@MX# run show route forwarding-table destination 172.16.1.1 table L3VPN_TEST Routing table: L3VPN_TEST.inet Internet: Enabled protocols: Bridging, All VLANs, Destination Type RtRef Next hop Type Index NhRef Netif 172.16.1.1/32 user 0 indr 1048579 2 10.1.1.13 Push 314800 678 2 ge-0/0/2.181