8

I have BGP multihoming with two cisco routers. Each router has its own ISP and announce our AS with our /24 network to the internet.

My issue is between those two routers :

Router A, routing table looks like :

BGP table version is 9622808, local router ID is 10.100.100.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i 1.0.0.0/24       10.100.100.3         10041    150      0 175 15169 i
 *                    192.168.200.1              0             0 800 15169 i

Router B, routing table looks like :

router#sh ip bgp

BGP table version is 10261936, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.0.0.0/24       192.168.1.1        10041    150      0 175 15169 i

Router A

 
    #sh ip bgp 1.0.0.0
    BGP routing table entry for 1.0.0.0/24, version 9124223
    Paths: (2 available, best #1, table default)
    Multipath: eBGP
     Not advertised to any peer
    Refresh Epoch 1
    175 15169
    10.100.100.3 from 10.100.100.3 (192.168.1.1 )
      Origin IGP, metric 10041, localpref 150, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
    Refresh Epoch 1
    8220 15169
    192.168.200.1 from 192.168.200.1 (212.74.90.252)
      Origin IGP, metric 0, localpref 100, valid, external
      Community: 538770940 538771322
      rx pathid: 0, tx pathid: 0

Router B


    #sh ip bgp 1.0.0.0
    BGP routing table entry for 1.0.0.0/24, version 9772009
    Paths: (1 available, best #1, table default)
    Multipath: eBGP
    Advertised to update-groups:
     15
    Refresh Epoch 1
    175 15169
    192.168.1.1 from 192.168.1.1 (38.28.4.10)
      Origin IGP, metric 10041, localpref 150, valid, external, best
      Community: 11424364 11425276
      rx pathid: 0, tx pathid: 0x0


Router B
    #sh ip bgp summary
   Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
   10.100.100.2    4        48020  748914 2167278 10705132    0    0 2w4d         3350
   192.168.1.1   4          175 2591251   29738 10705000    0    0 2w4d       509418

My issue is that Router B has only one Next Hop for the 1.0.0.0/24 (this is an example). I am expecting that router B has another Next Hop to router A.

Router A is showing both Next hop as expected.

This issue has serious impact, If we lose router B as the preferred router we lose Internet, since it is not able to route traffic through router A.

  • 1
    Please consider adding more details. Router A and B's configs, as well as a diagram showing the locations of nexthops relative to those routers would help. I trust you've set up iBGP between A and B, no? – Mike Pennington Dec 6 '14 at 17:03
  • Ok I'll do that asap. Yes there is a iBGP session between the routers. peering between two routers seems healthy though. – Hugo Dec 6 '14 at 18:04
  • 2
    Could you also provide an output of sho ip bgp 1.0.0.0? I'm wondering if RouterA is seeing RouterB's path as better than it's external path (due to local pref) and not advertising its other known path over to RouterB. If this is correct, then RouterA will advertise its path automatically if the RouterB path goes away. – cpt_fink Dec 6 '14 at 18:20
  • Router B shows eBGP learned route. Router A shows iBGP learned routes. Do you have iBGP peering between your eBGP routers? – Rais Dec 7 '14 at 9:44
  • 1
    2 days later, this question still needs the configs and diagram. We aim to please,, but speculation isn't a core competency here – Mike Pennington Dec 8 '14 at 9:32
1

In your case, B should not have route from A because B itself is declaring its learned route as the best route and disseminating this info via iBGP.

Router A can't advertise its eBGP learned 1.0.0.0/8 to B because it's not the best route. The best route for A is the one it learned via iBGP from B and iBGP routes can't be re-advertised.

Both of the eBGP routers are learning networks from both ISPs. When ISP for B fails, A eBGP routes will become eligible to be sent to B.

HTH.

  • 1
    Your argument doesn't seem to be unambiguously supported by the documentation in the question – Mike Pennington Dec 8 '14 at 9:53
1

By default every BGP router advertises only its best routes. As A prefers route from B over external route (due to higher local preference), it doesn't advertise the external route to B.

Failover will work, but might take a while because: * B has to revoke its external routes * A has to select new best routes * A has to advertise new best routes to B * B has to select new best routes

If you want faster failover use "BGP best-external" (or something along these lines - search for best-external on cisco.com) on A.

0

Router A is not advertising that route to Router B.

Multipath: eBGP
 Not advertised to any peer

Router B is advertising that route to router A.

 Multipath: eBGP
Advertised to update-groups:
 15

Configure A to advertise 1.0.0.0 to B via ibgp.

-3

This is a normal BGP behavior of 'path hiding', one of legacy feature to alliveate the scaling issue. Failover should work as intended. If you need the routerA eBGP llearned route still display on B, use 'best-external' BGP command on rourterA(as well as in B).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.