BGP automatically summarizes routes to classful network boundaries when this command is enabled. Route summarization is used to reduce the amount of routing information in routing tables. Automatic summarization applies to connected, static, and redistributed routes. Please note that auto-summary is disabled by default on Cisco devices.

The following examples are based on the above diagram. Here in our example, HQ-01 is in AS 1000, ENT-01 is in AS 2000, and there are two intermediary ISP routers in AS 100. These ISP routers will establish an iBGP session between each other to pass along BGP routes. Here is a routing table from HQ-01.
#HQ-01
12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 12.12.12.0/24 is directly connected, GigabitEthernet1
L 12.12.12.1/32 is directly connected, GigabitEthernet1
100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 100.100.0.0/16 is directly connected, Loopback1
L 100.100.1.1/32 is directly connected, Loopback1Scenario 1 - auto-summary disabled (default)
For the first example, HQ-01 advertises the prefix 100.100.0.0/16 to its eBGP peer ISP-01 using the network 100.100.0.0 mask 255.255.0.0 command. Everything looks good and we can see the prefix 100.100.0.0/16 in the BGP table.

#HQ-01
router bgp 1000
bgp log-neighbor-changes
network 100.100.0.0 mask 255.255.0.0
neighbor 12.12.12.2 remote-as 100#HQ-01
Network Next Hop Metric LocPrf Weight Path
*> 100.100.0.0/16 0.0.0.0 0 32768 iNow, if we go and remove the mask parameter from the network statement and use a classful subnet of 100.0.0.0 let's see what happens.
#HQ-01
router bgp 1000
bgp log-neighbor-changes
network 100.0.0.0
neighbor 12.12.12.2 remote-as 100#HQ-01
HQ-01#show ip bgp
HQ-01#Hmm, now the BGP table is empty, why? Well, because BGP will go and look at the routing table and see if there is an exact match for the prefix 100.0.0.0/8 (Classful network). But there isn't any so, the prefix will not be added to the BGP table.
network command, there must be an identical network prefix already present in the router's routing table. This means the prefix, along with its subnet mask or prefix length, must match precisely an entry in the routing table that is reachable.Scenario 2 - auto-summary enabled
Let's go ahead and enable auto-summary and see what happens.

#HQ-01
HQ-01#show run | sec bgp
router bgp 1000
bgp log-neighbor-changes
network 100.0.0.0
neighbor 12.12.12.2 remote-as 100
auto-summary#HQ-01
HQ-01#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 100.0.0.0 0.0.0.0 0 32768 iOkay, now the prefix shows up again on the BGP table as a classful network even though we don't have the exact match on the routing table. If I go to the ENT-01 on the far right and check the BGP table and routing table, we should also see the classful network (not the /16)
#ENT-01
ENT-0101#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 100.0.0.0 31.31.31.2 0 100 1000 i#ENT-01
ENT-01#show ip route bgp
Gateway of last resort is not set
B 100.0.0.0/8 [20/0] via 31.31.31.2, 00:04:05Scenario 3 - auto-summary enabled and mask configured
Let's look at the behaviour of having both auto-summary and mask configured under BGP.
#HQ-01
router bgp 1000
bgp log-neighbor-changes
network 100.100.0.0 mask 255.255.0.0
neighbor 12.12.12.2 remote-as 100
auto-summary#HQ-01
HQ-01#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 100.100.0.0/16 0.0.0.0 0 32768 iAs you can see above, there are no effect if we use auto-summary with the mask parameter. The router is still advertising the /16 prefix.
Scenario 4 - Redistribution auto-summary disabled
Let's focus on redistribution for this example. I'm going to remove both auto-summary and the network statement from BGP and add redistribute connected statement. Please note that the 100.100.0.0/16 prefix belongs to the Loopback interface which is indeed a connected route/subnet.
#HQ-01
router bgp 1000
bgp log-neighbor-changes
redistribute connected
neighbor 12.12.12.2 remote-as 100#HQ-01
HQ-01#show ip bgp
BGP table version is 10, local router ID is 100.100.1.1
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
*> 100.100.0.0/16 0.0.0.0 0 32768 ?This is what we would expect to see right? We can see the BGP entry for the prefix 100.100.0.0/16 I could also go into one of the other routers and check the BGP table too.
#ENT-01
ENT-01#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 100.100.0.0/16 31.31.31.2 0 100 1000 ?Everything looks goo and we are seeing the /16 prefix throughout.
Scenario 5 - Redistribution auto-summary enabled
Let's go and add auto-summary to the previous configuration and see what happens.
#HQ-01
router bgp 1000
bgp log-neighbor-changes
redistribute connected
neighbor 12.12.12.2 remote-as 100
auto-summary#HQ-01
HQ-01#show ip bgp
*> 100.0.0.0 0.0.0.0 0 32768 ?So, now HQ-01 advertises the Classful network (/8 instead of /16). If I check the route table on ENT-01, I should see the same.
#ENT-01
ENT-01#show ip route bgp
B 100.0.0.0/8 [20/0] via 31.31.31.2, 00:18:42So, what can we learn from this?
- By default,
auto-summaryis disabled in BGP - If
auto-summaryis disabled andmaskparameter is omitted in thenetworkstatement, BGP will look for the exact classful route in the routing table. - If both
auto-summaryandmaskparameter is configured with thenetworkstatement, there are no effects on the way this prefix is advertised. - If
auto-summaryis configured andmaskparameter is omitted, the router advertises the classful network only if either of these is true.- The exact classful prefix is in the routing table
- Any subset of prefixes of that classful network is in the routing table.
- If
auto-summaryis configured andredistributionis in use, BGP will always advertise the classful network.
Why auto-summary is disabled by default in BGP?
If you're wondering why BGP has auto-summary turned off by default (in Cisco devices at least), consider this example. Suppose on your router, you have a few connected subnets like 100.100.1.0/24 and 100.100.2.0/24 When you redistribute these connected routes into BGP with auto-summary enabled, BGP would advertise a broader, classful network of 100.0.0.0/8 to its peers.
However, it's very likely you don't actually control all subnets within the 100.x.x.x range; you might only have a few of them. Advertising a classful network when you only possess a fraction of its addresses could lead to problematic or unintended routing behaviours. This is because peers might send traffic to your network that you're not expected to handle, expecting you to route any address within that classful boundary. Here is an explanation on this Cisco website if you are interested.




