Routes aggregation

Dmitry Galenko dmitry at galenko.su
Sat Dec 23 20:37:51 CET 2023


Hello, may someone explain how to correct use of new aggregation protocol? 
I need aggregate all routes from table all_bg and push result to all_bg_aggr, for now look like aggregation is not working. May someone explain what I do wrong? 

Here is my bird.conf: 
```log "/var/log/bird.log" { debug, trace, info, remote, warning, error, auth, fatal, bug }; 
router id 192.168.111.10; 

# debug protocols all; 
# debug protocols { events, states }; 

# watchdog warning 5 s; 
# watchdog timeout 30 s; 


ipv4 table all_bg_aggr; 
ipv4 table all_bg; 

filter NEXT_HOP_OVERRIDE { 
if ( true ) then { 
gw = 192.168.111.254; 
accept; 
} 
reject; 
} 


protocol device { 
} 

protocol direct { 
disabled; 
ipv4; 
ipv6; 
} 

protocol kernel { 
ipv4 { 
import none; 
export none; 
}; 
} 

protocol static legacy_bg { 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
}; 
include "/etc/bird/legacy.conf"; 
} 

protocol static custom_bg { 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
}; 
include "/etc/bird/custom.conf"; 
} 

protocol static aws_bg { 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
}; 
include "/etc/bird/aws.conf"; 
} 

protocol static fastly_bg { 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
}; 
include "/etc/bird/fastly.conf"; 
} 

protocol static cloudflare_bg { 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
}; 
include "/etc/bird/cloudflare.conf"; 
} 

protocol static mailru_vk_bg { 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
}; 
include "/etc/bird/vk-mrg.conf"; 
} 

# Get routes from Antifilter.download 
protocol bgp antifilter_d_bg { 
local as 64900; 
neighbor 45.154.73.71 as 65432 external; 
multihop; 
hold time 240; 
graceful restart; 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
export none; 
}; 
} 

# Get routes from Antifilter.network 
protocol bgp antifilter_n_bg { 
local as 64900; 
neighbor 51.75.66.20 as 65444 external; 
multihop; 
hold time 240; 
graceful restart; 
ipv4 { 
table all_bg; 
import filter NEXT_HOP_OVERRIDE; 
export none; 
}; 
} 


# Aggregate routes 
protocol aggregator all_bg_aggregator { 
table all_bg; 
peer table all_bg_aggr; 
export all; 
aggregate on net; 
merge by { 
print "Merging all these: ", routes; 
bgp_med = 0; 
for route r in routes do { 
if ! defined(r.bgp_med) then { unset(bgp_med); accept; } 
print r, " bgp_med: ", r.bgp_med; 
bgp_med = bgp_med + r.bgp_med; 
bgp_community = bgp_community.add(r.bgp_community); 
} 
accept; 
}; 
} 


# Export routes to Cisco C8000v 
protocol bgp rr_bg { 
local as 64900; 
neighbor 192.168.111.1 as 65137; 
graceful restart; 
ipv4 { 
table all_bg_aggr; 
import none; 
export all; 
}; 
} 
``` 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20231223/47dc3f8d/attachment.htm>


More information about the Bird-users mailing list