Export shows new filters after "configure soft" before any update

Inrin inrin at caesia.net
Fri Mar 22 15:56:12 CET 2024


Hiho,

I noticed that `birdc show route export <proto>` after a `configure soft` 
shows the state with the new export filter, even if no update ocurred.
The PCAP also shows, as long as no external update comes in, no updates
are send out on the wire.

Using export tables makes it possible to see the "real" state.
For example, until a new external update or a `reload out` it shows the
"old filter" state.

For import filters it's different.
It shows the "old" state until an external update comes in or `reload in` is used. 
With or without import tables or `keep filtered on`.

Since the help states:
     configure soft ["<file>"] [timeout [<sec>]]    Reload configuration and ignore changes in filters
it should be like for the import case and show the "old" state until an
update comes in or `reload out` is used.

Finally to my question:
Is this behaviour intentional?

Best would be to even make it possible to ignore the new filters until
manual reload, but thats probably a bigger change ;)

For testing I used 2 exabgp clients and BIRD as intermediate.
Configs are attached below.
The large community had been just increased to trigger changes.

Thanks,
Inrin

=================================================================
BIRD config
-----------------------------------------------------------------
debug protocols all;
debug channels all;
log syslog all;

protocol device { }
protocol direct { disabled; ipv4; ipv6; }
protocol kernel { disabled; ipv4; }
protocol kernel { disabled; ipv6; }

template bgp clients {
         local as 64500;
         ipv4 {
                 #import table on;
                 #export table on;
                 #import keep filtered on;
                 import none;
                 export none;
         };
         ipv6 { import none; export none; };
}

protocol bgp sender4 from clients {
         neighbor 198.51.100.3 as 64503;
         ipv4 {
                 import filter {
                         accept;
                 };
                 export none;
         };
}

protocol bgp receiver4 from clients {
         neighbor 198.51.100.4 as 64504;
         ipv4 {
                 import none;
                 export filter {
                         bgp_large_community.add((7,7,7));
                         accept;
                 };
         };
}
-----------------------------------------------------------------

Exabgp config sender
-----------------------------------------------------------------
template {
         neighbor rsipv4 {
                 local-address 198.51.100.3;
                 local-as 64503;
                 peer-as 64500;
                 family { ipv4 unicast; }
                 announce { ipv4 {
                         unicast 192.0.2.0/24 next-hop self large-community [64503:4444:0];
                 } }
         }
}

neighbor 198.51.100.251 { inherit rsipv4; }
-----------------------------------------------------------------

Exabgp config sender
-----------------------------------------------------------------
template {
         neighbor rsipv4 {
                 local-as 64504;
                 peer-as 64500;
                 local-address 198.51.100.4;
                 family { ipv4 unicast; }
         }
}

neighbor 198.51.100.251 { inherit rsipv4; }
-----------------------------------------------------------------


More information about the Bird-users mailing list