Hi! I am observing strange BGP announcement problem. BGP peering is between bird router (version 2.0.2) and cisco router. BIRD 10.0.0.1 <---> 10.0.0.2 Cisco I am announcing prefix 10.10.10.10/32 from bird to cisco. My initial bird configuration is as follows: ################## [root@localhost ~]# cat /etc/bird.conf router id 10.0.0.1; filter filter1 { accept; } protocol kernel { persist yes; learn yes; scan time 10; ipv4 { import none; export none; }; } protocol device { scan time 10; } protocol direct { interface "lo"; ipv4 { import filter filter1; export none; }; } protocol bgp peer1 { local as 65001; neighbor 10.0.0.2 as 65002; hold time 45; ipv4 { import none; export filter filter1; }; } ##################### IP address 10.10.10.10/32 is configured on loopback interface: lo:1: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 10.10.10.10 netmask 255.255.255.255 It works just fine with this configuration. I can see announcement of 10.10.10.10/32 on cisco router: R1#show ip bgp Network Next Hop Metric LocPrf Weight Path *> 10.10.10.10/32 10.0.0.1 0 65001 i Strange thing happens when I make a change to filter1, instead of: filter filter1 { accept; } I change it to: filter filter1 { if ( net = 10.10.10.10/32 ) then { reject; } accept; } Basically I am blocking import of prefix 10.10.10.10/32 into direct protocol and at the same time I am blocking export of prefix 10.10.10.10/32 to peer1 (it is the same filter filter1 both for direct import and for peer1 export). After the change of /etc/bird.conf I am making "birdc configure" and I am expecting to see the withdrawal message on cisco side, but there is none (I checked it with tcpdump). Here is what I can still see on cisco side: R1#show ip bgp Network Next Hop Metric LocPrf Weight Path *> 10.10.10.10/32 10.0.0.1 0 65001 i This is the output of birdc "show route": bird> show route bird> This is the output of birdc "show route export peer1": bird> show route export peer1 bird> So there is no route according to bird, but it seems like bird does not send withdrawal message. Either I am doing something wrong, or it is a bird bug. Appreciate your help. -- Regards, Sergey
On Tue, Oct 16, 2018 at 02:56:49PM +0300, oldnick wrote:
Hi!
I am observing strange BGP announcement problem.
Hi It is a race condition when an export filter is changed and a route is removed (during to change in import filter). See: https://bird.network.cz/pipermail/bird-users/2018-June/012384.html It was fixed in GIT: https://gitlab.labs.nic.cz/labs/bird/commit/cbfdf6ed057b993d7e107b4c39b8a5b8... https://gitlab.labs.nic.cz/labs/bird/commit/470efcb98cb33de2d5636679eb0f72c8... -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (2)
-
oldnick -
Ondrej Zajicek