Routing

Expand all | Collapse all

BGP routes selection questions

  • 1.  BGP routes selection questions

    Posted 22 days ago
    I am learning FBF and doing some labs. I have the following topology

    I have the following configuration
    set routing-instances ToISP3 instance-type forwarding
    set routing-instances ToISP4 instance-type forwarding
    
    set routing-options rib-groups fbf-rib import-rib inet6.0
    set routing-options rib-groups fbf-rib import-rib ToISP3.inet6.0
    set routing-options rib-groups fbf-rib import-rib ToISP4.inet6.0
    
    set protocols bgp group ToISP4 type external
    set protocols bgp group ToISP4 advertise-inactive
    set protocols bgp group ToISP4 family inet6 unicast rib-group fbf-rib
    set protocols bgp group ToISP4 neighbor 2004:aaaa:bbbb:cccc::6 peer-as 30987
    set protocols bgp group ToISP3 type external
    set protocols bgp group ToISP3 advertise-inactive
    set protocols bgp group ToISP3 family inet6 unicast rib-group fbf-rib
    set protocols bgp group ToISP3 neighbor 2004:aaaa:bbbb:cccc::2 peer-as 16535
    
    
    ​

    I like to know why the three routing tables select different next hop.  I thought they would select the same next hop.

    root@SRX4# run show route 2008:8:8:8::8           
    
    inet6.0: 18 destinations, 23 routes (18 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    2008:8:8:8::/64    *[BGP/170] 00:27:40, localpref 100
                          AS path: 16535 8888 I, validation-state: unverified
                        > to 2004:aaaa:bbbb:cccc::2 via ge-0/0/0.0
                        [BGP/170] 00:23:36, localpref 100
                          AS path: 30987 8888 I, validation-state: unverified
                        > to 2004:aaaa:bbbb:cccc::6 via ge-0/0/1.0
    
    ToISP3.inet6.0: 1 destinations, 2 routes (1 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    2008:8:8:8::/64    *[BGP/170] 00:06:17, localpref 100
                          AS path: 30987 8888 I, validation-state: unverified
                        > to 2004:aaaa:bbbb:cccc::6 via ge-0/0/1.0
                        [BGP/170] 00:04:56, localpref 100
                          AS path: 16535 8888 I, validation-state: unverified
                        > to 2004:aaaa:bbbb:cccc::2 via ge-0/0/0.0
    
    ToISP4.inet6.0: 1 destinations, 2 routes (1 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    2008:8:8:8::/64    *[BGP/170] 00:06:17, localpref 100
                          AS path: 30987 8888 I, validation-state: unverified
                        > to 2004:aaaa:bbbb:cccc::6 via ge-0/0/1.0
                        [BGP/170] 00:04:56, localpref 100
                          AS path: 16535 8888 I, validation-state: unverified
                        > to 2004:aaaa:bbbb:cccc::2 via ge-0/0/0.0
    thanks for coaching !!


  • 2.  RE: BGP routes selection questions

    Posted 16 days ago

    Hello,

    I would assume this is due to the fact that the forwarding instances learned the route from each external AS at a different time, my guess is the rib-group was applied to each neighbor at separate commit. Based on the outputs shared, ISP4 (neighbor 2004:aaaa:bbbb:cccc::6) had the rib-group applied first and as such the route uptime is higher than the route coming from ISP3.
    This would then result in the ISP4 route being selected as the best path since it was learned first and to minimize route flapping, path from ISP3 is not selected (step #11 of the BGP path selection algorithm ).

    You can always check the extensive output of the show route command to confirm why a certain route was not selected as the best by looking for the "Inactive ​reason".



    ------------------------------
    Radek Mohyla
    ------------------------------