[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
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c1
Pavol Rusnak
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c2
--- Comment #2 from Adrian Ban
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c
Adrian Ban
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c
Adrian Ban
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c3
--- Comment #3 from Adrian Ban
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c5
--- Comment #5 from Marius Tomaschewski
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c7
--- Comment #7 from Marcus Meissner
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c9
--- Comment #9 from Adrian Ban
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c10
--- Comment #10 from Marius Tomaschewski
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
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
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c
Swamp Workflow Management
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c17
Swamp Workflow Management
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c18
--- Comment #18 from Marius Tomaschewski
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c19
Marius Tomaschewski
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c20
Swamp Workflow Management
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c21
Swamp Workflow Management
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c
Swamp Workflow Management
http://bugzilla.novell.com/show_bug.cgi?id=572205
http://bugzilla.novell.com/show_bug.cgi?id=572205#c22
--- Comment #22 from Bernhard Wiedemann
participants (1)
-
bugzilla_noreply@novell.com