initial commit

This commit is contained in:
boris committed 2026-07-08 16:38:55 +01:00
commit 3586c571f3
24 files changed
+887

No files matched your search

+109
View File
@@ -0,0 +1,109 @@
router id {{ bird_router_id }};
log syslog all;
log "{{ bird_log_file }}" { debug, trace, remote, warning, error, auth, fatal, bug };
protocol device { scan time 5; }
protocol direct { ipv6; }
protocol kernel {
ipv6 { export none; };
scan time 15;
}
protocol kernel {
ipv4;
scan time 15;
}
protocol static announcev6 {
ipv6;
description "Static v6 Routes";
{% for route in bird_static_routes_v6 %}
{% if route.blackhole | default(false) %}
route {{ route.prefix }} blackhole;
{% else %}
route {{ route.prefix }} via {{ route.via }};
{% endif %}
{% endfor %}
}
protocol static announcev4 {
ipv4;
description "Static v4 Routes";
{% for route in bird_static_routes_v4 %}
{% if route.blackhole | default(false) %}
route {{ route.prefix }} blackhole;
{% else %}
route {{ route.prefix }} via {{ route.via }};
{% endif %}
{% endfor %}
}
protocol static {
ipv6;
}
protocol static {
ipv4;
}
filter rt_importv4 {
accept;
}
filter rt_importv6 {
accept;
}
filter rt_nothanks {
{% for prefix in bird_reject_prefixes_v6 %}
if (net ~ [ {{ prefix }} ]) then reject;
{% endfor %}
accept;
}
filter sbehop {
gw = {{ bird_sbehop_gateway }};
accept;
}
filter brt_importv6 {
reject;
}
filter rt_export {
if (proto = "announcev4") then accept;
if (proto = "announcev6") then accept;
reject;
}
{% for session in bird_bgp_sessions %}
protocol bgp {{ session.name }} {
local {{ session.local_address }} as {{ session.local_as }};
neighbor {{ session.neighbor_address }} as {{ session.neighbor_as }};
multihop {{ session.multihop | default(255) }};
{{ session.address_family | default('ipv6') }} {
{% if session.import_limit is defined %}
import limit {{ session.import_limit }};
{% endif %}
{% if session.export_limit is defined %}
export limit {{ session.export_limit }};
{% endif %}
{% if session.import_filter is defined %}
import filter {{ session.import_filter }};
{% else %}
import none;
{% endif %}
{% if session.export_filter is defined %}
export filter {{ session.export_filter }};
{% else %}
export none;
{% endif %}
{% if session.graceful_restart | default(false) %}
graceful restart on;
{% endif %}
};
}
{% endfor %}