Hi Cédric,

inheritance of filters is not supported, but you can make use of functions (https://bird.nic.cz/doc/bird-2.18.html#filters) to not repeat yourself.

We are glad that you are switching to v2/v3. You will most likely be able to use the same exact configuration for v2 and v3.

Hope this helps and happy routing,
David

David Petera (he/him) | BIRD Tech Support | CZ.NIC, z.s.p.o.

On 3/3/26 12:40, BASSAGET Cédric wrote:
Hello,

I'm trying to simplify my old bird 1.6 config, the aim is migrating to v2 then v3.


I have a config like :

template bgp private_peering_ipv4 {
    local as my_ans;
    path metric 2;
    ipv4 {
            import all;
            import filter {
                if (net.len > 24 ) then reject;
                bgp_large_community.add((my_asn, 1, 1003));
                accept;
            };
            export filter export_my_routes_ipv4;
            import keep filtered;
    };
}

protocol bgp PEER_v4_peer1 from private_peering_ipv4 {
    router id 195.42.145.x;
    neighbor 195.42.144.104 as 6939;
}
protocol bgp PEER_v4_peer2 from private_peering_ipv4 {
    router id 195.42.145.x;
    neighbor 195.42.144.104 as 6939;
    ipv4 {
            import filter {
                bgp_large_community.add((my_asn, 1, 1009));
                accept;
            };
   };
}



the problem here is that as soon as I define a new import filter for my second peer, the filter from the template is omitted.

Is there a way to add inheritance between the templates, or anything else that wouldn't overwrite the template filters ?

Regards,
Cédric

Reply via email to