03-14-2010, 11:55 PM
joshuad31,
My understanding of the network and aggregate-address is sort of the opposite from what you desciribed: a BGP speaking NEVER advertises a route it originates with the aggregate-address command unless a longer match prefix already exists in the BGP table. From what I have read and experienced first hand, this is unconditionally the case (if anyone can show me configuration output demonstrating this is not true, I’d be interested to see it). For this reason I think the stated solution is the ‘best’ answer since it is always true (synchronization would not be relevant, for instance, if all connections were eBGP). Along the same lines, routes originated with the network command are ONLY inserted into the BGP table (and therefore advertised) if the destination (exact prefix match) is resolvable to a next hop that already resides in the IP routing table: not in the IP routing table then not inserted/advertised BGP wise.
I think the following lab output demonstrates this:
------- initial blank config:
RA(config)#do show ip proto
RA(config)#do show run | include Loop
RA(config)#do show ip route | begin Gate
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 1 subnets
C 10.0.12.0 is directly connected, FastEthernet0/0
RA(config)#
RA(config)#do show ver | in ROM: 3700
ROM: 3700 Software (C3745-ADVIPSERVICESK9-M), Version 12.4(15)T5, RELEASE SOFTWARE (fc4)
RA(config)#
------ apply aggregate-address command w/o subnet in IP routing table:
RA(config)#
RA(config)#router bgp 1
RA(config-router)#aggregate-address 100.0.0.0 255.254.0.0
RA(config-router)#do show ip bgp
RA(config-router)#do show ip route | in 100.0.0.0
RA(config-router)#
------ create two loopback interfaces that are subsets of the aggregate:
RA(config-router)#do show ip int brief | in 100
RA(config-router)#int lo100
RA(config-if)#ip add 100.0.0.1 255.255.255.255
RA(config-if)#int lo101
RA(config-if)#ip add 100.1.0.1 255.255.255.255
RA(config-if)#do show ip bgp
RA(config-if)#
------ add the network command that matches lo100 and the conditions
------ for advertising/inserting both types of originated routes are satisfied:
RA(config-if)#router bgp 1
RA(config-router)#do show ip bgp
RA(config-router)#network 100.0.0.1 mask 255.255.255.255
RA(config-router)#do show ip bgp | begin Network
Network Next Hop Metric LocPrf Weight Path
*> 100.0.0.0/15 0.0.0.0 32768 i
*> 100.0.0.1/32 0.0.0.0 0 32768 i
RA(config-router)#
------ add a peer and the route will show as advertised:
RA(config-router)#logging con
RA(config)#router bgp 1
RA(config-router)#neighbor 10.0.12.2 remote-as 1
RA(config-router)#
*Mar 1 01:35:39.899: %BGP-5-ADJCHANGE: neighbor 10.0.12.2 Up
RA(config-router)#do show ip bgp 100.0.0.1 | section Advertised
Advertised to update-groups:
1
RA(config-router)#do show ip bgp 100.0.0.0 | section Advertised
Advertised to update-groups:
1
RA(config-router)#
Best regards :)