Re: Bird 1.5 and 1.6 memory leak
Hello, if it occurs also on 1.6.4, could you please add also "birdcl show route count" output and some logs with debug all switched on? How does it get leaked, do you reconfigure many times? Does the memory consumption increase gradually or by larger amounts? Thanks Maria Quidquid latine dictum sit, altum videtur. -Original Message- From: Willy GoiffonTo: bird-users@network.cz Sent: Fri, 13 Apr 2018 6:21 PM Subject: Bird 1.5 and 1.6 memory leak Hello, I installed different version of bird on Ubuntu 16.04 (namely, 1.5.0, 1.6.3, 1.6.4). After leaving the daemon running for ~1 hour, the memory used by the host is over 8Gib. However, when running `birdc show memory`, I get the following: BIRD memory usage Routing tables: 21 kB Route attributes: 11 kB ROA tables:192 B Protocols: 22 kB Total: 102 kB My config is pretty basic (edited, see attached) as we have 2 BGP protocols using 2 ASN (one public, one private), each exporting the routes learnt from the other. The leak seems to be related to the traffic going through the server, as the memory of the host remains still when there is no traffic going on. It is triggered by bird though, because I don't have the leak when the routes are configured statically and bird is shut down. The weird thing about this is that the memory is not used by the bird process itself. It's shown as used memory by the host, but no process is actually using this memory. I know that it's leaking because of bird though because it's the only process installed and running on this host. Has anyone ever encountered such a behavior, or can see an issue in my configuration? Thanks in advance for your help -- Willy
Re: Unix virtual interfaces
Try # ip link add lo1 type dummy # ip a add 10.10.10.10/24 dev lo1 The ifconfig tool is deprecated. M. Quidquid latine dictum sit, altum videtur. -Original Message- From: RICCARDO RUSSOTo: bird-users@network.cz Sent: Thu, 12 Apr 2018 4:41 PM Subject: Unix virtual interfaces Hello, I'm running bird 2.0.2 on centOS I've configured 2 virtual interfaces (eth1:1 and lo:1) When I run show protocol I don't see them. Are virtual interfaces supported by bird? I need it in order to advertise by BGP lo:1 R --- # ifconfig eth0: flags=4163 mtu 1500 inet 163.162.230.198 netmask 255.255.255.240 broadcast 163.162.230.207 inet6 fe80::2e:a6ff:fe66:5a27 prefixlen 64 scopeid 0x20 ether 02:2e:a6:66:5a:27 txqueuelen 1000 (Ethernet) RX packets 14271 bytes 996507 (973.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2746 bytes 314846 (307.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163 mtu 1500 inet 192.168.200.8 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80::9034:56ff:feee: prefixlen 64 scopeid 0x20 ether 92:34:56:ee:ee:ee txqueuelen 1000 (Ethernet) RX packets 16109 bytes 1066648 (1.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7805 bytes 514801 (502.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1:1: flags=4163 mtu 1500 inet 10.10.10.10 netmask 255.255.255.255 broadcast 10.255.255.255 ether 92:34:56:ee:ee:ee txqueuelen 1000 (Ethernet) lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 6 bytes 416 (416.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6 bytes 416 (416.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo:1: flags=73 mtu 65536 inet 163.162.35.89 netmask 255.255.255.255 loop txqueuelen 1 (Local Loopback) --- # birdc show interfaces BIRD 2.0.2 ready. lo up (index=1) MultiAccess AdminUp LinkUp Loopback Ignored MTU=65536 127.0.0.1/8 (Preferred, scope host) 163.162.35.89/32 (scope univ) ::1/128 (Preferred, scope host) eth0 up (index=2) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 163.162.230.198/28 (Preferred, scope univ) fe80::2e:a6ff:fe66:5a27/64 (Preferred, scope link) eth1 up (index=3) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 192.168.200.8/24 (Preferred, scope site) 10.10.10.10/32 (scope site) fe80::9034:56ff:feee:/64 (Preferred, scope link) Rr
Re: BGP import route
Hello! First of all, we don't support this old version. Please upgrade, either to 1.6.4 or to 2.0.2. Second, the other side seems to send multiprotocol NLRI to you. BIRD in 1.x versions AFAIK does not support this extension and should not announce it. What is the remote software? Writing from my phone with no access to source code, trying to recall it from my memory. I might be wrong. Maria Quidquid latine dictum sit, altum videtur. -Original Message- From: RICCARDO RUSSOTo: bird-users@network.cz Sent: Wed, 11 Apr 2018 6:10 PM Subject: BGP import route Hello, I'm not able to import route from BGP (CentOS 7). In log file I read "Got UPDATE" but "import updates" is always 0. With TCPDUMP I see that BGP receive the routes Rr # more bird.conf log syslog all; log stderr all; log "/var/log/bird.logg" all; debug protocols all; protocol kernel { persist;# Don't remove routes on bird shutdown scan time 20; # Scan kernel routing table every 20 seconds } protocol device { scan time 10; # Scan interfaces every 10 seconds } router id 192.168.200.6; protocol bgp bgp1 { local as 64521; neighbor 192.168.200.1 as 64520; import filter all; } # tail -f /var/log/bird.logg 2018-04-11 17:46:53 kernel1 < interface lo goes up 2018-04-11 17:46:53 kernel1 < interface eth0 goes up 2018-04-11 17:46:53 kernel1 < interface eth1 goes up 2018-04-11 17:46:53 kernel1: State changed to up 2018-04-11 17:46:53 bgp1: Started 2018-04-11 17:46:53 bgp1: Connect delayed by 5 seconds 2018-04-11 17:46:53 kernel1: Scanning routing table 2018-04-11 17:46:53 kernel1: 0.0.0.0/0: [alien] ignored 2018-04-11 17:46:53 kernel1: 192.168.44.0/24: [alien] ignored 2018-04-11 17:46:53 kernel1: Pruning table master 2018-04-11 17:46:57 bgp1: Connecting to 192.168.200.1 from local address 192.168.200.6 2018-04-11 17:46:57 bgp1: Connected 2018-04-11 17:46:57 bgp1: Sending OPEN(ver=4,as=64521,hold=240,id=c0a8c806) 2018-04-11 17:46:57 bgp1: Connection closed 2018-04-11 17:46:57 bgp1: Connect delayed by 5 seconds 2018-04-11 17:47:03 device1: Scanning interfaces 2018-04-11 17:47:03 bgp1: Connecting to 192.168.200.1 from local address 192.168.200.6 2018-04-11 17:47:03 bgp1: Connected 2018-04-11 17:47:03 bgp1: Sending OPEN(ver=4,as=64521,hold=240,id=c0a8c806) 2018-04-11 17:47:03 bgp1: Got OPEN(as=64520,hold=90,id=a3a2e686) 2018-04-11 17:47:03 bgp1: Sending KEEPALIVE 2018-04-11 17:47:03 bgp1: Got KEEPALIVE 2018-04-11 17:47:03 bgp1: BGP session established 2018-04-11 17:47:03 bgp1: Connected to table master 2018-04-11 17:47:03 bgp1: State changed to feed 2018-04-11 17:47:03 bgp1: State changed to up 2018-04-11 17:47:03 bgp1: Sending End-of-RIB 2018-04-11 17:47:03 bgp1: Got UPDATE 2018-04-11 17:47:03 bgp1: Got UPDATE 2018-04-11 17:47:03 bgp1: Got UPDATE 2018-04-11 17:47:03 bgp1: Got UPDATE 2018-04-11 17:47:03 bgp1: Got UPDATE 2018-04-11 17:47:03 ... # birdc show protocols all bgp1 BIRD 1.4.5 ready. name prototablestate since info bgp1 BGP master up 17:47:03Established Preference: 100 Input filter: ACCEPT Output filter: REJECT Routes: 0 imported, 0 exported, 0 preferred Route change stats: received rejected filteredignored accepted Import updates: 0 0 0 0 0 Import withdraws:0 0--- 0 0 Export updates: 0 0 0--- 0 Export withdraws:0--------- 0 BGP state: Established Neighbor address: 192.168.200.1 Neighbor AS: 64520 Neighbor ID: 163.162.230.134 Neighbor caps:restart-aware Session: external Source address: 192.168.200.6 Hold timer: 62/90 Keepalive timer: 22/30 # tcpdump -i eth1 tcp port 179 -vvv -XX 17:37:51.260061 IP (tos 0x0, ttl 1, id 49246, offset 0, flags [DF], proto TCP (6), length 1353) 192.168.200.1.bgp > vm-1.59873: Flags [P.], cksum 0xad25 (correct), seq 61:1362, ack 69, win 210, options [nop,nop,TS val 1643220008 ecr 25496328], length 1301: BGP Update Message (2), length: 66 Origin (1), length: 1, Flags [T]: Incomplete 0x: 02 Next Hop (3), length: 4, Flags [T]: 192.168.200.1 0x: c0a8 c801 Multi Exit Discriminator (4), length: 4, Flags [O]: 100 0x: 0064
Re: RPKI / roa_check() question - BIRD 2.0.2
The bgp_path.last_nonaggregated attribute should help you. Don't have user manual right now here, writing from my phone, just trying to recall it from my memory. Maria Quidquid latine dictum sit, altum videtur. -Original Message- From: Radu AnghelTo: bird-users@network.cz Sent: Wed, 11 Apr 2018 6:34 PM Subject: RPKI / roa_check() question - BIRD 2.0.2 Hello, I have found this while doing RPKI validation: net = 94.127.104.0/21 bgp_path = 48112 6830 174 13110 {30884 65004 65005} BGP.aggregator: 10.253.27.1 AS13110 (don't know how to read this from a var) roa_check(rpki4, net, bgp_path.last) returns ROA_INVALID because BIRD thinks bgp_path.last = 0 There is a valid ROA for 94.127.104.0/21 and AS13110, so I guess the validation should be done on the aggregator AS. Could you tell me what is the corect way to handle this? TIA, Radu
Re: Can't Log information about a double
Bird's internal sprintf doesn't support floats, at least for now, in 1.6.x probably forever. There may be some patch that adds it. Look for some branch with "flowspec", I think I was implementing something like this for printing BGP flowspec and it is probably not merged. I don't have the git here now, maybe I can find it tomorrow. Maria Quidquid latine dictum sit, altum videtur. -Original Message- From: Mattia MilaniTo: BIRD Users Sent: Fri, 30 Mar 2018 6:32 PM Subject: Can't Log information about a double Hello all, I'm trying to log some information during the bird process execution. I'm doing it in the bgp section. I used the command: log(L_INFO "** some text **"); with success, i added to the log some information about an integer variable with success, here it is the code: int a = 5; log(L_INFO "** some text ** %d", a); Now i'm trying to make the same with a double variable but without success double a = 5.5; log(L_INFO "** some text ** %lf", a); the output was: 2018-03-30 18:09:12.270 ** some text ** %f I had already tried with %f instead of %lf but nothing changed in the output How can i log some double value? i need to use another function instead of log()? Thanks, Mattia
Re: static routes and 'src' parameter
We may also add iface address access in future but it isn't as easy as it seems. The iface may have more than one address and we still don't have a method to iterate over a list in filters. Anyway, the "foreach" construction is on our todo list... Stay tuned! M. Quidquid latine dictum sit, altum videtur. -Original Message- From: Saku YttiTo: bird-users@network.cz Sent: Tue, 20 Mar 2018 7:58 PM Subject: Re: static routes and 'src' parameter Pilot error, this works: filter kernel_out { if net = 0.0.0.0/0 then { #krt_prefsrc from lo; krt_prefsrc = 129.250.15.29; accept; } reject; } I wish 'krt_prefsrc from lo' would work, as it would require less tooling to generate config :>. But no biggy. Thanks people! On 20 March 2018 at 20:22, Saku Ytti wrote: > I want default address to use lo as source for locally originated > connections. Is this possible? > > bird> show route > 0.0.0.0/0 via 204.141.224.2 on ens224 [static1 18:11:50] * (200) > 129.250.15.29/32 dev lo [direct1 18:11:50] * (240) > 129.250.0.0/16 via 204.141.224.2 on ens224 [red 18:17:38] * (100) > [AS2914i] >via 204.141.224.0 on ens192 [blue 18:11:56] (100) [AS2914i] > bird> > > protocol static { > route 0.0.0.0/0 recursive 129.250.0.0; > } > > terraform00:~# ip route > default via 204.141.224.2 dev ens224 proto bird metric 64 > default via 204.141.224.0 dev ens192 src 129.250.15.29 metric 200 > default via 204.141.224.2 dev ens224 src 129.250.15.29 metric 205 > 10.20.40.0/24 dev ens256 proto kernel scope link src 10.20.40.1 > 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown > 204.141.224.0/31 dev ens192 proto kernel scope link src 204.141.224.1 > 204.141.224.2/31 dev ens224 proto kernel scope link src 204.141.224.3 > terraform00:~# > > > -- > ++ytti -- ++ytti
Re: Version 2.0.1
Hi, there definitely is some segfault fix but there may be more bugs. If you could send at least your config file, it would be helpful. Anyway, the crash file (corefile) will help much more. Thanks Maria Quidquid latine dictum sit, altum videtur. -Original Message- From: "David S."To: Ondrej Filip Cc: bird Sent: Thu, 18 Jan 2018 8:03 PM Subject: Re: Version 2.0.1 Hi Ondrej, Does this version include segment fault bug fix? I already update version 2.0 to 2.0.1 but I still have problem on FreeBSD 11.1 Here is the crash message when I run configure on birdc: pid 94118 (bird), uid 0: exited on signal 6 (core dumped) I can't provide the crash's file at this time, I'll try later on another machine. Thank you Best regards, David S. e. da...@zeromail.us w. pnyet.web.id p. 087881216110 On Tue, Jan 16, 2018 at 6:32 PM, Ondrej Filip wrote: > Dear BIRD users, > Thank you very much for your intensive testing of 2.0.0. We prepared a > new version based on this feedback. Please note, explicit import and > export policies are required for EBGP channels. > > Version 2.0.1 (2018-01-16) > o Linux MPLS kernel support > o Better handling of channels inherited from templates > o Default EBGP Route Propagation Behavior without Policies (RFC8212) > o Many bugfixes > > Ondrej > >