docs: enhance EvoBGP architecture plan with new risk mitigation strategies, testing matrix for BIRD2, and CI/CD workflow details. Updated section titles for clarity and added completed todos for deployment practices.
CI / openapi (push) Successful in 1m35s
CI / go (push) Failing after 16s
CI / bird2 (push) Has been skipped

This commit is contained in:
Denozordec
2026-04-04 01:27:17 +07:00
parent 4480d64a7f
commit 3992d01c3e
30 changed files with 621 additions and 2 deletions
@@ -0,0 +1,5 @@
protocol static evobgp_test {
ipv4;
route 198.51.100.0/24 unreachable;
route 203.0.113.0/24 unreachable;
}
@@ -0,0 +1,28 @@
# tags: peer, ipv4, ipv6, mixed
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol bgp peer_a {
local 192.0.2.1 as 65001;
neighbor 192.0.2.2 as 65002;
ipv4 {
import all;
export all;
};
}
protocol bgp peer_b {
local fd00:ebgp::1 as 65001;
neighbor fd00:ebgp::3 as 65003;
ipv6 {
import all;
export all;
};
}
@@ -0,0 +1,19 @@
# tags: peer, ipv4, AS_PREFIXES
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol bgp peer_v4 {
local 192.0.2.1 as 65001;
neighbor 192.0.2.2 as 65002;
ipv4 {
import all;
export all;
};
}
@@ -0,0 +1,19 @@
# tags: peer, ipv6, AS_PREFIXES
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol bgp peer_v6 {
local fd00:ebgp::1 as 65001;
neighbor fd00:ebgp::2 as 65002;
ipv6 {
import all;
export all;
};
}
@@ -0,0 +1,18 @@
# tags: DOMAINS, module_output
# DOMAINS modules materialize to prefixes before render; same shape as static IPv4.
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol static evobgp_from_domains {
ipv4;
route 192.0.2.10/32 unreachable;
route 192.0.2.11/32 unreachable;
}
@@ -0,0 +1,16 @@
# tags: edge, IP_RANGES
# Empty static IPv4 table (generator must emit valid empty protocol).
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol static evobgp_empty {
ipv4;
}
@@ -0,0 +1,26 @@
# tags: community, filter, peer
# Export filter (placeholder for community-aware export).
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
filter evobgp_export_v4 {
if net ~ [ 203.0.113.0/24 ] then accept;
reject;
}
protocol bgp peer_filtered {
local 192.0.2.1 as 65001;
neighbor 192.0.2.2 as 65002;
ipv4 {
import all;
export filter evobgp_export_v4;
};
}
@@ -0,0 +1,12 @@
# tags: stress, CDN_CIDRS
router id 192.0.2.1;
include "bird.d/bulk_static.conf";
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
@@ -0,0 +1,23 @@
protocol static evobgp_bulk {
ipv4;
route 10.200.0.0/24 unreachable;
route 10.200.1.0/24 unreachable;
route 10.200.2.0/24 unreachable;
route 10.200.3.0/24 unreachable;
route 10.200.4.0/24 unreachable;
route 10.200.5.0/24 unreachable;
route 10.200.6.0/24 unreachable;
route 10.200.7.0/24 unreachable;
route 10.200.8.0/24 unreachable;
route 10.200.9.0/24 unreachable;
route 10.200.10.0/24 unreachable;
route 10.200.11.0/24 unreachable;
route 10.200.12.0/24 unreachable;
route 10.200.13.0/24 unreachable;
route 10.200.14.0/24 unreachable;
route 10.200.15.0/24 unreachable;
route 10.200.16.0/24 unreachable;
route 10.200.17.0/24 unreachable;
route 10.200.18.0/24 unreachable;
route 10.200.19.0/24 unreachable;
}
+12
View File
@@ -0,0 +1,12 @@
# tags: baseline, master
# Minimal BIRD 2 skeleton (device + direct), no EvoBGP-generated fragments yet.
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
@@ -0,0 +1,27 @@
# tags: IP_RANGES, CDN_CIDRS, peer, combined
# Combined static materialization + BGP session (multi-module revision sketch).
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol static evobgp_prefixes {
ipv4;
route 203.0.113.0/24 unreachable;
route 203.0.114.0/24 unreachable;
}
protocol bgp uplink {
local 192.0.2.1 as 65001;
neighbor 192.0.2.2 as 65002;
ipv4 {
import all;
export all;
};
}
@@ -0,0 +1,18 @@
# tags: IP_RANGES, module_output
# Static IPv4 routes only (materialized prefix list style).
router id 192.0.2.1;
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
protocol static evobgp_v4 {
ipv4;
route 198.51.100.0/24 unreachable;
route 203.0.113.0/24 unreachable;
}
@@ -0,0 +1,14 @@
# tags: baseline, include
# Operator shell includes generated fragments from bird.d/
router id 192.0.2.1;
include "bird.d/static.conf";
protocol device {
}
protocol direct {
ipv4;
ipv6;
}
@@ -0,0 +1,4 @@
protocol static evobgp_inc {
ipv4;
route 203.0.113.0/24 unreachable;
}