mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 17:51:53 +00:00
117 lines
2.9 KiB
Plaintext
117 lines
2.9 KiB
Plaintext
|
log "bird.log" all;
|
||
|
|
||
|
protocol device {}
|
||
|
|
||
|
protocol static {
|
||
|
ipv6;
|
||
|
route 2001:db8:0::/48 unreachable { bgp_path.prepend(65432); bgp_path.prepend(4200000000); };
|
||
|
route 2001:db8:1::/48 unreachable;
|
||
|
route 2001:db8:2::/48 unreachable;
|
||
|
route 2001:db8:3::/48 unreachable;
|
||
|
route 2001:db8:4::/48 unreachable;
|
||
|
route 2001:db8:5::/48 unreachable;
|
||
|
route 2001:db8:6::/48 unreachable;
|
||
|
route 2001:db8:7::/48 unreachable;
|
||
|
route 2001:db8:8::/48 unreachable;
|
||
|
route 2001:db8:9::/48 unreachable;
|
||
|
route 2001:db8:a::/48 unreachable;
|
||
|
route 2001:db8:b::/48 unreachable;
|
||
|
route 2001:db8:c::/48 unreachable;
|
||
|
route 2001:db8:d::/48 unreachable;
|
||
|
route 2001:db8:e::/48 unreachable;
|
||
|
route 2001:db8:f::/48 unreachable;
|
||
|
}
|
||
|
|
||
|
protocol static {
|
||
|
ipv6 {
|
||
|
import filter {
|
||
|
bgp_med = 1;
|
||
|
bgp_community = -empty-.add((65533,1)).add((65500,0xe));
|
||
|
accept;
|
||
|
};
|
||
|
};
|
||
|
route 2001:db8:1::/48 unreachable;
|
||
|
route 2001:db8:3::/48 unreachable;
|
||
|
route 2001:db8:5::/48 unreachable;
|
||
|
route 2001:db8:7::/48 unreachable;
|
||
|
route 2001:db8:9::/48 unreachable;
|
||
|
route 2001:db8:b::/48 unreachable;
|
||
|
route 2001:db8:d::/48 unreachable;
|
||
|
route 2001:db8:f::/48 unreachable;
|
||
|
}
|
||
|
|
||
|
protocol static {
|
||
|
ipv6 {
|
||
|
import filter {
|
||
|
bgp_med = 2;
|
||
|
bgp_community = -empty-.add((65533,2)).add((65500,0xd));
|
||
|
accept;
|
||
|
};
|
||
|
};
|
||
|
route 2001:db8:2::/48 unreachable;
|
||
|
route 2001:db8:3::/48 unreachable;
|
||
|
route 2001:db8:6::/48 unreachable;
|
||
|
route 2001:db8:7::/48 unreachable;
|
||
|
route 2001:db8:a::/48 unreachable;
|
||
|
route 2001:db8:b::/48 unreachable;
|
||
|
route 2001:db8:e::/48 unreachable;
|
||
|
route 2001:db8:f::/48 unreachable;
|
||
|
}
|
||
|
|
||
|
protocol static {
|
||
|
ipv6 {
|
||
|
import filter {
|
||
|
bgp_med = 4;
|
||
|
bgp_community = -empty-.add((65533,4)).add((65500,0xb));
|
||
|
accept;
|
||
|
};
|
||
|
};
|
||
|
route 2001:db8:4::/48 unreachable;
|
||
|
route 2001:db8:5::/48 unreachable;
|
||
|
route 2001:db8:6::/48 unreachable;
|
||
|
route 2001:db8:7::/48 unreachable;
|
||
|
route 2001:db8:c::/48 unreachable;
|
||
|
route 2001:db8:d::/48 unreachable;
|
||
|
route 2001:db8:e::/48 unreachable;
|
||
|
route 2001:db8:f::/48 unreachable;
|
||
|
}
|
||
|
|
||
|
protocol static {
|
||
|
ipv6 {
|
||
|
import filter {
|
||
|
bgp_med = 8;
|
||
|
bgp_community = -empty-.add((65533,8)).add((65500,0x7));
|
||
|
accept;
|
||
|
};
|
||
|
};
|
||
|
route 2001:db8:8::/48 unreachable;
|
||
|
route 2001:db8:9::/48 unreachable;
|
||
|
route 2001:db8:a::/48 unreachable;
|
||
|
route 2001:db8:b::/48 unreachable;
|
||
|
route 2001:db8:c::/48 unreachable;
|
||
|
route 2001:db8:d::/48 unreachable;
|
||
|
route 2001:db8:e::/48 unreachable;
|
||
|
route 2001:db8:f::/48 unreachable;
|
||
|
}
|
||
|
|
||
|
ipv6 table agr_result;
|
||
|
|
||
|
protocol aggregator {
|
||
|
table master6;
|
||
|
peer table agr_result;
|
||
|
export all;
|
||
|
aggregate on net,(defined(bgp_med));
|
||
|
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;
|
||
|
};
|
||
|
}
|