[c-nsp] ebgp - multihop - prefixes received are inaccessible (next hop)

CiscoNSP List CiscoNSP_list at hotmail.com
Thu Feb 9 06:40:53 EST 2017


Hi,

Have a customer with 2 multiop eBGP peering sessions to 2 x ASR1001 - Sessions establish (2 hops away), they receive default, and advertise a /24 - we receive the /24, but prefixes "were" inaccessible and not added to routing table.

Setup is not really ideal, but cust is peering to our ASRs loop, and we are peering to an IP that is in a /29 that we have assigned to them (So the /29 to there bgp router, has an IP on an Int in our network...i.e. there def gw))

I say were, as I "fixed" one session....I knew the prefixes were inaccessible due to next hop, but next hop route was in bgp, and fib...from reading, bgp checks the int next-hop was learned from, and if the prefix was learned via a different Int (From peering Int), then you can get innaccessible?

What I found strange about this was that particular scenarion would be fairly common in ebgp multihop? i.e multiple redundant paths, the next hop could come from any of them if an outage occurred?

Anyway, even though the ASR was learning the next hop address via iBGP, and the address was in fib, it still complained with:

 BGP(0): xxx.xxx.xx.236 rcvd UPDATE w/ attr: nexthop xxx.xxx.xx.236, origin i, merged path xxx, AS_PATH
 BGP(0): xxx.xxx.xx.236 rcvd yyy.yyy.yyy.0/24
 BGP(0): no valid path for yyy.yyy.yyy.0/24

I thought ebg-multihop would accomodate for this, but obviously it doesnt...so, I tried setting a static route for the /29 on one of the ASR's, to the loop of the PE they connect to...this worked, and the prefix learned went from innacessible to being placed in fib.

So, thought it would be simply a matter of doing the same on the other asr, but unfortunately, not...

The only difference between the 2 ASR1000's is that one is an RR...this is the one that is not working, and Im not sure if it being an RR is the cause..

Tried adding static route on the ASR1000 (RR)...made no difference, prefix still innacessible....why it doesnt like the prefix that is already in bgp/fib. not entirely sure, but even more puzzling is why the static route work-around doesnt work on this AST1K....the setup is identical ASR1k->PE(ASR920)->CUST in both locations...only difference is that the one that refuses to work is an RR

The one that doesnt work, I get this in debug:

BGP(0): xxx.xxx.xx.236 rcvd UPDATE w/ attr: nexthop xxx.xxx.xx.236, origin i, merged path xxx, AS_PATH
BGP(0): xxx.xxx.xx.236 rcvd yyy.yyy.yyy.0/24
BGP(0): no valid path for yyy.yyy.yyy.0/24

The one with static, that does work, I see this:

BGP(0): (base) xxx.xxx.xx.124 send UPDATE (format) 0.0.0.0/0, next zzz.zzz.zz.201, metric 0, path Local
BGP(0): xxx.xxx.xx.124 rcvd UPDATE w/ attr: nexthop xxx.xxx.xx.124, origin i, merged path xxx, AS_PATH
BGP(0): xxx.xxx.xx.124 rcvd yyy.yyy.yyy.0/24
BGP: nbr_topo global xxx.xxx.xx.124 IPv4 Unicast:base (0x7F9B7F521BE0:1) NSF rcvd End-of-fib
BGP: nbr_topo global xxx.xxx.xx.124 IPv4 Unicast:base (0x7F9B7F521BE0:1) NSF Receiving router rcvd End-of-fib
BGP(0): Revise route installing 1 of 1 routes for yyy.yyy.yyy.0/24 -> xxx.xxx.xx.124(global) to main IP table


Config (Basically identical on both ASR1K's)

 neighbor xx peer-group
 neighbor xx remote-as xxx
 neighbor xx CUST_MULTIHOP_TEST
 neighbor xx update-source Loopback0
 neighbor xxx.xxx.xx.236 peer-group xx
 neighbor xxx.xxx.xx.236 ebgp-multihop 2
 address-family ipv4
 neighbor xx next-hop-self
 neighbor xx default-originate
 neighbor xx soft-reconfiguration inbound
 neighbor xx route-map CUST-BGP-IN in
 neighbor xx route-map CUST-BGP-ADV out
 neighbor xx maximum-prefix 10 50
 neighbor xx filter-list 50 in


Any help is greatly appreciated :)


Thanks.



More information about the cisco-nsp mailing list