BIRD taking 50% CPU with RIP and 90 Routes
Hi, i have seen a very high load produced by bird on one of my machines. I am basically using the beneath config. I think it has something to do with a misconfigured device not having enabled Split Horizon. The Ascend Max announced the local ethernet ip address so bird deleted the local ethernet route but couldnt add the route with a gateway because the kernel returned "host unreachble". With this configuration and 12 hours runtime the process grew to 25MB (With only ~90 Routes) and took at least 50% CPU time. Somebody got an idea ? Due to a braino myself the machine is now - aehm - unreachable and about 400km away - I have to get someone to reboot then ill send logfile output. ----------- log syslog { info, remote, warning, error, auth, fatal, bug }; protocol kernel { scan time 120; export all; } protocol device { scan time 120; } protocol rip ripd { debug all; interface "eth0" { mode quiet; mode broadcast; }; honor neighbor; authentication none; import filter { print "importing"; accept; }; export filter { print "exporting"; accept; }; } --------------------------------- Flo -- Florian Lohoff flo@rfc822.org +49-waiting-4-telekom "If you're not having fun right now, you're wasting your time."
Hi!
i have seen a very high load produced by bird on one of my machines. I am basically using the beneath config.
You are running bird on more than one machine? Wow!
I think it has something to do with a misconfigured device not having enabled Split Horizon. The Ascend Max announced the local ethernet ip address so bird deleted the local ethernet route but couldnt add the route with a gateway because the kernel returned "host unreachble". With this configuration
Should bird delete local ethernet route under any circumstances?
and 12 hours runtime the process grew to 25MB (With only ~90 Routes) and took at least 50% CPU time. Somebody got an idea ?
rip is set into quiet mode, so it should not cause any kind of packet storm. I do not know what is going on.
protocol rip ripd { debug all; interface "eth0" { mode quiet; mode broadcast; }; honor neighbor; authentication none; import filter { print "importing"; accept; }; export filter { print "exporting"; accept; }; }
-- I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care." Panos Katsaloulis describing me w.r.t. patents me at discuss@linmodems.org
On Thu, Jun 15, 2000 at 11:32:49PM +0200, Pavel Machek wrote:
Hi!
i have seen a very high load produced by bird on one of my machines. I am basically using the beneath config.
You are running bird on more than one machine? Wow!
Yep - Going to distribute it to ~200 Machines in the next Months.
Should bird delete local ethernet route under any circumstances?
I think all routing daemons could as long as "local" or "direct" interfaces are not "known" to the routing process itself. The problem was i think that Bird failed to add routes to the routing table as the local ethernet was gone. Somewhere there in the "kernel" protocol could be a tight loop retrying to add routes. Flo -- Florian Lohoff flo@rfc822.org +49-waiting-4-telekom "If you're not having fun right now, you're wasting your time."
Hello!
i have seen a very high load produced by bird on one of my machines. I am basically using the beneath config. I think it has something to do with a misconfigured device not having enabled Split Horizon. The Ascend Max announced the local ethernet ip address so bird deleted the local ethernet route but couldnt add the route with a gateway because the kernel returned "host unreachble".
This is impossible, direct device routes have always higher preference than RIP routes (unless you tweak the preferences in the configuration which you apparently don't) and if it were a host route, it would be rejected as invalid.
With this configuration and 12 hours runtime the process grew to 25MB (With only ~90 Routes) and took at least 50% CPU time. Somebody got an idea ?
Are you compiling bird with any debugging switches? Can you enable tracing of the kernel protocol? Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!
On Sat, Jun 17, 2000 at 01:11:29AM +0200, Martin Mares wrote:
This is impossible, direct device routes have always higher preference than RIP routes (unless you tweak the preferences in the configuration which you apparently don't) and if it were a host route, it would be rejected as invalid.
I didnt have a "direct" statement in the config as i mentioned - That was my problem - But that might not lead bird to take 50% CPU.
With this configuration and 12 hours runtime the process grew to 25MB (With only ~90 Routes) and took at least 50% CPU time. Somebody got an idea ?
Are you compiling bird with any debugging switches? Can you enable tracing of the kernel protocol?
Ill do as soon as i am at home - Currently i am 8000km away in San Diego (Usenix) Flo -- Florian Lohoff flo@rfc822.org +49-waiting-4-telekom "If you're not having fun right now, you're wasting your time."
participants (3)
-
Florian Lohoff -
Martin Mares -
Pavel Machek