[Bug 572205] New: ifup-route eat 100% CPU when i use big routing table
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c0 Summary: ifup-route eat 100% CPU when i use big routing table Classification: openSUSE Product: openSUSE 11.2 Version: Final Platform: All OS/Version: openSUSE 11.2 Status: NEW Severity: Normal Priority: P5 - None Component: Network AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: adrian.ban@mantech.ro QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729) ifup-route take 100% CPU and a long time to finish when i try to shutdown/fireup an interfece and i'm using quagga with BGP using around 8000 routes or the worst case when i'm using full routing table. PPPoE1:/etc/sysconfig/network/scripts # /etc/init.d/network stop bond0.11 Shutting down network interfaces: bond0.11 name: VLAN 11 - Servers Interconnect top - 13:11:48 up 4 days, 12:49, 3 users, load average: 0.60, 0.14, 0.05 Tasks: 179 total, 2 running, 177 sleeping, 0 stopped, 0 zombie Cpu(s): 93.2%us, 1.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 1.0%hi, 3.9%si, 0.0%st Mem: 500400k total, 493048k used, 7352k free, 135788k buffers Swap: 514040k total, 0k used, 514040k free, 218848k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9932 root 20 0 9108 7472 1056 R 97.6 1.5 0:17.87 ifdown-route 9941 root 20 0 2564 1056 780 R 2.0 0.2 0:00.05 top 1 root 20 0 1940 656 572 S 0.0 0.1 0:01.27 init Reproducible: Always Steps to Reproduce: 1. configure quagga with a bgp session that install a big number of routes 2. fireup zebra + bgp 3. try to start/stop an interface Actual Results: CPU is 100% used by ifup-route and the network service take a long time to shutdown/fireup the interface. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c yang xiaoyu <xyyang@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xyyang@novell.com AssignedTo|bnc-team-screening@forge.pr |prusnak@novell.com |ovo.novell.com | -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c1 Pavol Rusnak <prusnak@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |prusnak@novell.com AssignedTo|prusnak@novell.com |mt@novell.com --- Comment #1 from Pavol Rusnak <prusnak@novell.com> 2010-01-21 18:09:14 CET --- Reassigning to Marius (maintainer of ifup/ifdown). -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c2 --- Comment #2 from Adrian Ban <adrian.ban@mantech.ro> 2010-01-21 19:19:06 UTC --- Created an attachment (id=338092) --> (http://bugzilla.novell.com/attachment.cgi?id=338092) Path for ifup-route -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c Adrian Ban <adrian.ban@mantech.ro> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #338092|Path for ifup-route |Patch for ifup-route. I've description| |filter the output of "ip | |route" from "proto zebra". | |This will reduce | |dramaticaly number of | |undirecly conected routes | |installed via zebra. | | | |If somebody has another | |idea, i'm happy to hear it. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c Adrian Ban <adrian.ban@mantech.ro> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #338092|Patch for ifup-route. I've |Patch for ifup-route. description|filter the output of "ip | |route" from "proto zebra". | |This will reduce | |dramaticaly number of | |undirecly conected routes | |installed via zebra. | | | |If somebody has another | |idea, i'm happy to hear it. | -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c3 --- Comment #3 from Adrian Ban <adrian.ban@mantech.ro> 2010-01-21 19:47:06 UTC --- I've filter the output of "ip route" from "proto zebra". This will reduce dramaticaly number of undirecly conected routes installed via zebra. If somebody has another idea, i'm happy to hear it. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c5 --- Comment #5 from Marius Tomaschewski <mt@novell.com> 2010-01-22 12:25:20 UTC --- Hmm... I thinks this is something for factory. There are several proto names possible, see /etc/iproute2/rt_protos (that can also override the names). It would be better to filter out all protos except of "proto static" and when the proto is missed (unspec) and replace all the ip route show calls with a function call that greps properly. Or perhaps we can replace/avoid some of the code completely somehow. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c7 --- Comment #7 from Marcus Meissner <meissner@novell.com> 2010-01-22 12:57:51 UTC --- the syconfig updates are checked in already again, and it looks like you dont have a final fix yet. so not in the current update, just get clarity first on where and what to fix. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c9 --- Comment #9 from Adrian Ban <adrian.ban@mantech.ro> 2010-01-22 14:32:00 UTC --- After i read your comments i tried those commands: Opteron:~ # ip r l | grep -v "proto zebra" | wc -l 34 Opteron:~ # ip r l proto kernel | wc -l 34 Opteron:~ # ip r l | wc -l 305433 PPPoE1:~ # ip r l | grep -v "proto zebra" | wc -l 41 PPPoE1:~ # ip r l proto kernel | wc -l 38 PPPoE1:~ # ip r l | wc -l 6606 PPPoE1:~ # ip r l proto boot | wc -l 3 PPPoE1:~ # ip r l proto boot 169.254.0.0/16 dev eth0.10 scope link 127.0.0.0/8 dev lo scope link default via a.b.c.d dev eth0.11 So .. i thing it could be a combination of proto boot and proto kernel. Proto static i don't have anyware. When proto static should be setted? Theoreticaly all staticaly routes should be setted with proto static .. but .. even static routes installed via zebra they are setted with proto zebra. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c10 --- Comment #10 from Marius Tomaschewski <mt@novell.com> 2010-01-22 15:06:31 UTC --- Created an attachment (id=338310) --> (http://bugzilla.novell.com/attachment.cgi?id=338310) Improved patch to consider protos that the user may set in routes file (In reply to comment #9)
PPPoE1:~ # ip r l proto boot 169.254.0.0/16 dev eth0.10 scope link 127.0.0.0/8 dev lo scope link default via a.b.c.d dev eth0.11
So .. i thing it could be a combination of proto boot and proto kernel.
No, proto kernel is not really interesting and can be skipped too; this are routes set by the kernel automatically.
Proto static i don't have anyware. When proto static should be setted? Theoreticaly all staticaly routes should be setted with proto static.. but .. even static routes installed via zebra they are setted with proto zebra.
All routes that don't have any proto visible (as usually set by ifup) in "ip r l", are of type "proto boot" (not "unspec" as I was thinking in comment 5). The user can set "proto static" (or whatever) in the routes file, e.g.: 172.16.10.0/24 172.16.1.200 - br0 proto static See also "man 8 ip" (search for RTPROTO): redirect - the route was installed due to an ICMP redirect. kernel - the route was installed by the kernel during autoconfiguration. boot - the route was installed during the bootup sequence. If a routing daemon starts, it will purge all of them. static - the route was installed by the administrator to override dynamic routing. Routing daemon will respect them and, probably, even advertise them to its peers. ra - the route was installed by Router Discovery protocol. So for ifstatus, only "proto boot" (no proto visible) and all that are used in routes file are interesting. I think the attached patch implements it correctly. Can you test it please? -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c11 --- Comment #11 from Marius Tomaschewski <mt@novell.com> 2010-01-22 15:11:16 UTC --- (In reply to comment #9)
Theoreticaly all staticaly routes should be setted with proto static ..
Yes, all routes ifup sets. I don't think we should change the behavior here to use the default of "proto boot". I'd say, user can configure this themself when needed. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c12 --- Comment #12 from Adrian Ban <adrian.ban@mantech.ro> 2010-01-22 15:24:39 UTC --- Confirmed that works good .. I've apply the patch and seems to work like a charm :). -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c Swamp Workflow Management <swamp@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard| |maint:planned:update -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c17 Swamp Workflow Management <swamp@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard|maint:planned:update |maint:running:31745 --- Comment #17 from Swamp Workflow Management <swamp@suse.com> 2010-03-05 10:41:30 UTC --- The SWAMPID for this issue is 31745. Please submit the patch and patchinfo file using this ID. (https://swamp.suse.de/webswamp/wf/31745) -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c18 --- Comment #18 from Marius Tomaschewski <mt@novell.com> 2010-03-15 16:07:12 UTC --- Submitted patchinfo and package and for 11.2 -- request id: 34839 State:new By:mtomaschewski When:2010-03-15T17:02:25 submit: home:mtomaschewski:branches:openSUSE:11.2:Update:Test/sysconfig -> openSUSE:11.2:Update:Test Descr: 'swampid 31945, bnc#572205: ifup-route eats 100% CPU with huge routing tables' -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c19 Marius Tomaschewski <mt@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #19 from Marius Tomaschewski <mt@novell.com> 2010-03-15 16:08:00 UTC --- fixed. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c20 Swamp Workflow Management <swamp@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard|maint:running:31745 |maint:running:31745 | |maint:released:11.2:31948 --- Comment #20 from Swamp Workflow Management <swamp@suse.com> 2010-05-25 18:39:15 UTC --- Update released for: sysconfig, sysconfig-debuginfo, sysconfig-debugsource Products: openSUSE 11.2 (debug, i586, x86_64) -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c21 Swamp Workflow Management <swamp@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard|maint:running:31745 |maint:running:31745 |maint:released:11.2:31948 |maint:released:11.2:31948 | |maint:released:sle10-sp3:32 | |349 --- Comment #21 from Swamp Workflow Management <swamp@suse.com> 2010-05-26 00:09:21 UTC --- Update released for: sysconfig, sysconfig-debuginfo Products: SLE-DEBUGINFO 10-SP3 (i386, ia64, ppc, s390x, x86_64) SLE-DESKTOP 10-SP3 (i386, x86_64) SLE-SAP-APL 10-SP3 (x86_64) SLE-SERVER 10-SP3 (i386, ia64, ppc, s390x, x86_64) -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c Swamp Workflow Management <swamp@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard|maint:running:31745 |maint:released:11.2:31948 |maint:released:11.2:31948 |maint:released:sle10-sp3:32 |maint:released:sle10-sp3:32 |349 |349 | -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=572205 http://bugzilla.novell.com/show_bug.cgi?id=572205#c22 --- Comment #22 from Bernhard Wiedemann <bwiedemann@suse.com> --- This is an autogenerated message for OBS integration: This bug (572205) was mentioned in https://build.opensuse.org/request/show/34839 11.2:Test / sysconfig -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com