cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
562
Views
13
Helpful
3
Replies

bgp - aggregates and specific routes

grunky
Level 1
Level 1

I have a question reguarding BGP aggregate routes and more specific routes. Currently we have 2 WAN links w/ large carriers running eBGP, we advertise our /19 aggregate, example 192.168.0.0/19.

A customer of ours, who's range is say 192.168.16.0/24 will be using our numbers and advertising said route to other eBGP peers.

My question is - if the link between us and our customer at 16.0/24 goes down we need to advertise that 16.0/24 as invalid while still advertising our /19. The customer w/ the 16.0/24 should still be connected via their other eBGP links.

How would I do this? Currently my BGP setup is like so. Now if the 16.0/24 peering session goes down traffic will still flow because it will be lumped into our /19.

router bgp 1

no synchronization

bgp log-neighbor-changes

network 192.168.0.0 mask 255.255.224.0

neighbor 1.2.3.4 remote-as 1234

neighbor 1.2.3.4 description WAN Link 1

neighbor 1.2.3.4 send-community

neighbor 5.6.7.8 remote-as 5678

neighbor 5.6.7.8 description WAN Link 2

neighbor 5.6.7.8 send-community

neighbor 192.168.16.254 remote-as 2

neighbor 192.168.16.254 description downstream customer

neighbor 192.168.16.254 send-community

!

ip route 192.168.0.0 255.255.224.0 Null0

3 Replies 3

smif101
Level 4
Level 4

I would have to say that a conditional advertisement is your best bet.

R5(config)#router bgp 1

R5(config-router)#neighbor 1.2.3.4 remote-as 1234

R5(config-router)#neighbor 1.2.3.4 advertise-map MAP1 non-exist-map MAP2

R5(config-router)#neighbor 5.6.7.8 remote-as 5678

R5(config-router)#neighbor 5.6.7.8 advertise-map MAP1 non-exist-map MAP2

R5(config)#route-map MAP1 permit 10

R5(config-route-map)#match ip address 1

R5(config)#route-map MAP2 permit 10

R5(config-route-map)#match ip address 2

R5(config)#access-list 1 permit 192.168.0.0 0.0.15.255

R5(config)#access-list 1 permit 192.168.17.0 0.0.0.255

R5(config)#access-list 1 permit 192.168.18.0 0.0.1.255

R5(config)#access-list 1 permit 192.168.20.0 0.0.3.255

R5(config)#access-list 1 permit 192.168.24.0 0.0.7.255

R5(config)#access-list 2 permit 192.168.16.0 0.0.0.255

Maybe I'm missing something in your problem statement, but I don't see any problem!

Remember that longer prefixes always win, regardless of other metrics. So if you have set this up correctly, so that you only advertise 192.168.16/24 when you have a route to it, there should be no problems! If you lose your normal route to your customer's /24, you will learn it from your upstream provider. Out on the Internet, any IPs within the /24 will all go to your customer (normally through you, but only if you are the best route) while anything else in your /19 comes to you.

Where your customer could get into trouble is if you lose your upstream connection and their /24 is too long a prefix to get past other ISPs' prefix length filters. Without your /19 out on the Internet to get the packets started, they could be disconnected despite their alternate connections.

Good luck and have fun!

Vincent C Jones

http://www.networkingunlimited.com

Smif - thanks for the reply.. Since the downstream customer, using our numbers, will be multihomed to other eBGP speakers I came to the conclusion that while the above solution will work - it can be done in an easier way.

Just advertise our aggregate and the /24 to our upstream eBGP peers - when the /24 goes down - which is learned via eBGP the /24 will be advirtised to via the customers other 2 eBGP links. Traffic will take the smaller /24 via other links instead of our /19.

Didn't seen the forest for the trees. I will thank you for the alternative.. Hadn't yet seen a implementation of avertise-maps.

Review Cisco Networking for a $25 gift card