On 2/24/25 15:54, Nigel Kukard via Bird-users wrote:
Hi there,

I'm wondering if anyone has seen excessive filter logging with 3.0.0/3.0.1?

Comparing log output from tests done on v2 vs v3, I'm seeing 2G+ log files generated in 30s on v3, when in v2 the log files were only a few hundred Kb in size at most after some time.

After looking over some of the bird code, I think I have an idea why this is happening.

R1 doesn't have the excessive logging issue, R2 however does.

I tested with a very stripped down .conf file with just what I have below and didn't trigger the issue. There is only about 30 or so log lines after a few mins. So it must be something with my full set of filters.

The only thing I'm doing different is I'm adding communities and changing the "dest" to RTD_BLACKHOLE for another prefix on R2. I'm thinking when I change a prefix in one of my filters it's triggering bird to re-process the entire table. I managed to reproduce consistently with a small set of prefixes +-20 or so.

I'm going to try look through the code some more to see where its occurring.

-N



Here is the log config I'm using...


log "/var/log/bird.log" { info, warning, fatal };
debug protocols { states, routes, filters, interfaces, events };
timeformat base iso long;
timeformat log iso long;
timeformat protocol iso long;
timeformat route iso long;


Here is the test filter I created to test...

define DEFAULT_ROUTE_V4 = 0.0.0.0/0;
define DEFAULT_ROUTE_V6 = ::/0;

function is_default(string filter_name) -> bool {
    if ((net.type = NET_IP4 && net = DEFAULT_ROUTE_V4) || (net.type = NET_IP6 && net = DEFAULT_ROUTE_V6)) then
        return true;
    return false;
}

function bgp_accept_bgp(string filter_name) -> bool {
    if (is_default()) then return false;
    print filter_name, " [bgp_accept_bgp] Accepting BGP route ", net, " from ", proto;
    accept;
}

filter f_bgp_master_export
string filter_name;
{
  filter_name = "f_bgp_master_export";
  bgp_accept_bgp(filter_name);
  reject;
};


Here is the odd behavior I"m observing in v3...

2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.111.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.112.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.113.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.201.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.131.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.132.0.0/24 from bgp4_AS65000_r1

repeating very many times per second...

2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.111.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.112.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.113.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.201.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.131.0.0/24 from bgp4_AS65000_r1 2025-02-24 15:21:04 [0002] <INFO> f_bgp_master_export [bgp_accept_bgp] Accepting BGP route 100.132.0.0/24 from bgp4_AS65000_r1

In about 30s my log file grew to 2.1GB before I stopped the process.

Perhaps I'm missing something in the migration guide? any help would be greatly appreciated.

Kind Regards
Nigel

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to