Routing

Expand all | Collapse all

BGP multipath

Jump to Best Answer
  • 1.  BGP multipath

    Posted 11-20-2019 01:06

    Hi,

    We have the following scheme (see spoiler below)

    For some reasons we need to balance traffic from uplinks to R3 (AS65200) via R1 (AS 65100)-R3 (AS 65200) direct EBGP link and IBGP link  R1 (AS 65100) - R2 (AS 65100)  and then EBGP R2 (AS 65100) - R3 (AS 65200).

    How can we do that?  Configuring multipath from documentation example doesn't take effect.

     

     

     
     
     
     
     
     
     
     


  • 2.  RE: BGP multipath

     
    Posted 11-20-2019 01:18

    Hi Sysoev.M,

     

    Have you tried to configure load balancing as the below link 
    https://www.juniper.net/documentation/en_US/junos/topics/usage-guidelines/policy-configuring-per-packet-load-balancing.html

     

     

    If this solves your problem, please mark this post as "Accepted Solution."



  • 3.  RE: BGP multipath

    Posted 11-20-2019 01:31

    Yep, it doesn't take effect.

    Only one record in forwarding-table via link with EBGP session on R1.



  • 4.  RE: BGP multipath

     
    Posted 11-20-2019 01:39

    Can you share the configuration and output of show route for this subnet , also if you want to balance traffic from uplinks to R3 then you need to have subnets advertised from R3 toward uplinks to be load-balanced not the reverse as what you are trying to do should load balance traffic from R3 toward uplinks 

     

     

    If this solves your problem, please mark this post as "Accepted Solution."



  • 5.  RE: BGP multipath

     
    Posted 11-20-2019 04:17

    Hi,

     

    As mentioned by others, this is because route selection is eBGP v/s iBGP.

    One other potential solution, could be 2 multipath loopback peering sessions between R1 & R3 and ensure the loopbacks are only reachable via equal cost distinct paths:

    lo0 peering 1:  Path R1-R3
    lo0 peering 2:  Path R1-R2-R3

    Example BGP config:

    > show configuration protocols bgp
    group Multipath { multihop { ttl 10; } peer-as 65200; multipath; neighbor 3.3.3.3 { local-address 2.2.2.2; } neighbor 3.3.3.4 { local-address 2.2.2.3; } }

    Hope this helps.

     

    Cheers,

    Ashvin



  • 6.  RE: BGP multipath
    Best Answer

    Posted 11-20-2019 01:37

    Hello,

     

    All the "multipath" knob does is to stop evaluation before the router-id check which is step 13 in JUNOS BGP path selection

    https://www.juniper.net/documentation/en_US/junos/topics/reference/general/routing-protocols-address-representation.html

    BGP multipath is for load-balancing the transit traffic EXITING the router. 

    Hence, "multipath" knob configured on R3 would have no effect on the traffic from R1|R2 TOWARDS R3.

    If You need to load-balance TOWARDS R3, then BGP multipath configured on R1 is not going to help You because R1 would always select eBGP path received directly from R3 over iBGP path received from R2.

    To load-balance TOWARDS R3, You'd need, on R1,  to somehow equalize the path received over eBGP from R3 and the iBGP path received from R2 which is not going to be an easy feat because of eBGP>iBGP and IGP cost difference.

    One possible solution would be, on R1, to place uplink peering and R2 peering into MPLS VPN (VRF), extend this MPLS VPN (VRF) to R2. On R2, place peering with R3 into that MPLS VPN (VRF). Then , use "routing-options multipath vpn-unequal-cost equal-external-internal" knob inside that MPLS VPN (VRF) routing-instance on R1

    https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/vpn-unequal-cost-edit-routing-options.html

    HTH

    Thx

    Alex