Hi there, I'm working on a use case with two routers (foundry) emiting RIPv2 messages in multicast over an ethernet link and one Ubuntu/Linux/64 server with BIRD configured as a quiet RIP listener. Configuration is simple and working well. But as you can see below, BIRD seems to eat memory after each message it receive (+4K after receiving 2*3 RIP paquets). Memory used by BIRD seems to grow endless. I' cant say if it's a bug but it sound like. On the mailing list, i've found a thread of three messages speaking about things between libc and kernel. But I'm not sure this is related. Do you have notice this behavior and do you have find a solution ? Regards, Stephane. at 11h44: root@srtools:~# /etc/init.d/bird start root@srtools:~# birdc BIRD 1.2.4 ready. bird> show memory BIRD memory usage Routing tables: 25 kB Route attributes: 4592 B Protocols: 26 kB Total: 81 kB at 12h15: bird> show memory BIRD memory usage Routing tables: 325 kB Route attributes: 4592 B Protocols: 34 kB Total: 390 kB at 12h54: bird> show memory BIRD memory usage Routing tables: 682 kB Route attributes: 4592 B Protocols: 34 kB Total: 747 kB at 14h01: bird> show memory BIRD memory usage Routing tables: 1311 kB Route attributes: 4592 B Protocols: 34 kB Total: 1376 kB Config. file /etc/bird.conf log "/var/log/bird.log" { error }; define NEED_MASQUERADE = 1; protocol kernel { learn; # Learn all alien routes from the kernel (ex: manualy inserted) persist; # Décommenter en production. Permet de ne pas flusher les routes export all; # Default is export none } protocol device { } protocol static { export all; } protocol direct { export all; } filter rip_select_gateway ip set wks; { wks = [ 172.19.127.252, 172.19.127.253 ]; if !(from ~ wks) then reject " !REJECT! Talker ", from, " is not in the WELL_KNOWN_SOURCES"; if net ~ [ 0.0.0.0/0 ] then { if NEED_MASQUERADE != 0 then { if rip_metric = 14 then accept " ACCEPTING MASQUERADE GW"; else reject " REJECTING NON-MASQUERADE GW"; } else { if rip_metric = 14 then reject " REJECTING MASQUERADE GW"; else accept " ACCEPTING NON-MASQUERADE GW"; } } else accept; } protocol rip { description "Listen only RIPv2 routes"; export none; import filter rip_select_gateway; interface "eth0" { mode quiet; }; }
Hi, Morning at 09:54 (GMT+2) root@srtools:~# birdc BIRD 1.2.4 ready. bird> show memory BIRD memory usage Routing tables: 12 MB Route attributes: 4592 B Protocols: 34 kB Total: 12 MB Memory consumption has been multiplied by 480 in less than 24 hours. I guess this is not a normal behavior isn't it ? Regards, Stéphane. Le 31/08/2010 14:36, Stéphane Bunel a écrit :
Hi there,
I'm working on a use case with two routers (foundry) emiting RIPv2 messages in multicast over an ethernet link and one Ubuntu/Linux/64 server with BIRD configured as a quiet RIP listener.
Configuration is simple and working well. But as you can see below, BIRD seems to eat memory after each message it receive (+4K after receiving 2*3 RIP paquets). Memory used by BIRD seems to grow endless. I' cant say if it's a bug but it sound like.
On the mailing list, i've found a thread of three messages speaking about things between libc and kernel. But I'm not sure this is related.
Do you have notice this behavior and do you have find a solution ?
Regards, Stephane.
at 11h44:
root@srtools:~# /etc/init.d/bird start root@srtools:~# birdc BIRD 1.2.4 ready. bird> show memory BIRD memory usage Routing tables: 25 kB Route attributes: 4592 B Protocols: 26 kB Total: 81 kB
at 12h15:
bird> show memory BIRD memory usage Routing tables: 325 kB Route attributes: 4592 B Protocols: 34 kB Total: 390 kB
at 12h54:
bird> show memory BIRD memory usage Routing tables: 682 kB Route attributes: 4592 B Protocols: 34 kB Total: 747 kB
at 14h01:
bird> show memory BIRD memory usage Routing tables: 1311 kB Route attributes: 4592 B Protocols: 34 kB Total: 1376 kB
Config. file /etc/bird.conf
log "/var/log/bird.log" { error }; define NEED_MASQUERADE = 1; protocol kernel { learn; # Learn all alien routes from the kernel (ex: manualy inserted) persist; # Décommenter en production. Permet de ne pas flusher les routes export all; # Default is export none }
protocol device { }
protocol static { export all; }
protocol direct { export all; }
filter rip_select_gateway ip set wks; { wks = [ 172.19.127.252, 172.19.127.253 ]; if !(from ~ wks) then reject " !REJECT! Talker ", from, " is not in the WELL_KNOWN_SOURCES";
if net ~ [ 0.0.0.0/0 ] then { if NEED_MASQUERADE != 0 then { if rip_metric = 14 then accept " ACCEPTING MASQUERADE GW"; else reject " REJECTING NON-MASQUERADE GW"; } else { if rip_metric = 14 then reject " REJECTING MASQUERADE GW"; else accept " ACCEPTING NON-MASQUERADE GW"; } } else accept; }
protocol rip { description "Listen only RIPv2 routes"; export none; import filter rip_select_gateway; interface "eth0" { mode quiet; }; }
On Wed, Sep 01, 2010 at 10:18:53AM +0200, Stéphane Bunel wrote:
Hi,
Morning at 09:54 (GMT+2)
root@srtools:~# birdc BIRD 1.2.4 ready. bird> show memory BIRD memory usage Routing tables: 12 MB Route attributes: 4592 B Protocols: 34 kB Total: 12 MB
Memory consumption has been multiplied by 480 in less than 24 hours.
I guess this is not a normal behavior isn't it ?
Definitely not. I will check that. Could you send an output of 'show route all' cmd ? -- 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."
Le 01/09/2010 10:33, Ondrej Zajicek a écrit :
On Wed, Sep 01, 2010 at 10:18:53AM +0200, Stéphane Bunel wrote:
Hi,
Morning at 09:54 (GMT+2)
root@srtools:~# birdc BIRD 1.2.4 ready. bird> show memory BIRD memory usage Routing tables: 12 MB Route attributes: 4592 B Protocols: 34 kB Total: 12 MB
Memory consumption has been multiplied by 480 in less than 24 hours.
I guess this is not a normal behavior isn't it ?
Definitely not. I will check that. Could you send an output of 'show route all' cmd ?
Of course (to your personnal mail to avoid flooding the list). Thanks for your help. root@srtools:~# birdc show route count BIRD 1.2.4 ready. 61 of 61 routes for 58 networks Regards, Stéphane.
On Tue, Aug 31, 2010 at 02:36:38PM +0200, Stéphane Bunel wrote:
Hi there,
I'm working on a use case with two routers (foundry) emiting RIPv2 messages in multicast over an ethernet link and one Ubuntu/Linux/64 server with BIRD configured as a quiet RIP listener.
Configuration is simple and working well. But as you can see below, BIRD seems to eat memory after each message it receive (+4K after receiving 2*3 RIP paquets). Memory used by BIRD seems to grow endless. I' cant say if it's a bug but it sound like.
On the mailing list, i've found a thread of three messages speaking about things between libc and kernel. But I'm not sure this is related.
Do you have notice this behavior and do you have find a solution ?
Could you try an attached patch and report a result? -- 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."
Le 03/09/2010 16:09, Ondrej Zajicek a écrit :
On Tue, Aug 31, 2010 at 02:36:38PM +0200, Stéphane Bunel wrote:
Hi there,
I'm working on a use case with two routers (foundry) emiting RIPv2 messages in multicast over an ethernet link and one Ubuntu/Linux/64 server with BIRD configured as a quiet RIP listener.
Configuration is simple and working well. But as you can see below, BIRD seems to eat memory after each message it receive (+4K after receiving 2*3 RIP paquets). Memory used by BIRD seems to grow endless. I' cant say if it's a bug but it sound like.
On the mailing list, i've found a thread of three messages speaking about things between libc and kernel. But I'm not sure this is related.
Do you have notice this behavior and do you have find a solution ?
Could you try an attached patch and report a result?
My minute test show that the patch seems to fix the problem. Well done ! Regards, Stéphane.
participants (2)
-
Ondrej Zajicek -
Stéphane Bunel