So I have seen this happen with multiple customers, multiple carriers, multiple IOS versions, ISR G1 and G2. These are simple MPLS networks with BGP peering to the provider. I am advertising locallly connected routes into bgp. My normal BGP config looks like this:
router bgp 650XX
neighbor 192.168.10.1 remote-as 1
neighbor 192.168.10.1 update-source Mu1
network 10.10.10.0 mask 255.255.255.0
neighbor 192.168.10.1 activate
neighbor 192.168.10.1 weight 32769
neighbor 192.168.10.1 soft-reconfiguration inbound
On some carriers on some sites, network 10.10.10.0/24 injects into bgp for about a minute then I get a rib-failure saying a higher admin distance version of the route is available. Show ip bgp, shows me getting the route I am sending out back from the provider. This situation then just repeats forever. I've worked with various providers when I saw this and they say they aren't advertising me anything. We have worked with TAC and gotten the below snippet of code to apply and it works everytime. My question is why does this happen? It's always baffled me and while the route-map below works, I just wonder why I have to do it.
ip prefix-list BLOCK-INBOUND-ROUTE seq 5 deny 10.10.10.0/24
ip prefix-list BLOCK-INBOUND-ROUTE seq 90 permit 0.0.0.0/0 le 32
router bgp 650XX
neighbor 192.168.10.1 prefix-list BLOCK-INBOUND-ROUTE in
It sounds like you are getting route feedback.
Is the above configuration on your PE or CE? Also, what routing protocol is used between PE-CE link, or is it all static?
This is my router. I don't know what the PE looks like but considering its multiple providers I'd imagine they aren't all the same. The PE-CE is the BGP instance referenced above.
Do you have route redistribution happening? For example could CE1 be advertising 10.10.10.0/24 to another local router via BGP / OSPF / EIGRP which is then in turn advertising that subnet into your MPLS cloud which then loops back into CE1?
Where are you suppose learn 10.10.10.0/24 from? IGP or iBGP? Why do you need to assign BGP weight to 32769 for PE neighbor? Cannt use other attribute to influence the route?
No redistribution. I have a stub instance of BGP that is used for DMVPN connectivity usually, but i have seen this issue when i don't have that in place and if I check other spokes when this is occuring, no other remotes can see this route.
That weight is to insure the BGP routes are preferred over the EIGRP routes when we have the above mentioned DMVPN setup.
I am not suppose to learn 10.10.10.0/24 from anywhere, I am advertising it, it's a locally connected interface.
Weight is the attrribute used to compare same prefix learned from different BGP neighbors, rather than different routing protocol. Normally, the AD will be used for route selection between different routing protocol. We might need more information on your use case of BGP weight attribute here. Will the router prefer EIGRP over BGP if you dont configure the weight?
I guess you are redistributing EIGRP into BGP? So, if DMVPN is used for backup over BGP for all DMVPN spokes, the. You might not need to redistribute EIGRP into BGP.
Sent from Cisco Technical Support iPhone App
I am not redistributing, when I have this problem EIGRP might not even exist on the router exhibiting the symptoms. The weight configuration is just part fo my standard template
If you have multiple bgp peerings with differant ISP's I would also suggest to apply a filter to stop your site becoming a transit path for these ISP's.
ip as-path access-list 10 permit ^$
Router bgp xxx
neighbor (x.x.x isp1) filter-list 10 out
neighbor (x.x.x isp2) filter-list 10 out
This will permit only paths without AS numbers -so it will allow local routes only
-thus stopping the customer router from being a Transit AS for the Service providers
Please don't forget to rate any posts that have been helpful.
If you are not redistributing EIGRP to BGP, and the router prefer EIGRP over BGP without assigning weight, then there are 2 possibility
1, the router learns same prefix from iBGP, eBGP session and EIGRP. The iBGP somehow is preffered over eBGP, then EIGRP is prefered over iBGP.
2, is a bug.
I think weight is the key for the problem you are facing. That's why I keep asking the reason that you configure weight for neighor.