[Xorp-hackers] Some performance numbers

Hasso Tepper hasso@linux.ee
Thu, 23 Feb 2006 15:11:22 +0200


I have played with BGP full feed during last days and found out that 
unfortunately performance isn't acceptable for real world usage. Tests 
have been done with 1.8 Pentium M (speed-step off) laptop 512MB memory.
One eBGP multihop peer announcing full table. For nexthop resolving static 
the default route is entered into Xorp.

Peer up without static default route (no routes installed into RIB):
********************************************************************
It takes about 4 seconds to receive full table, xorp_bgp takes about 90MB 
of memory after this. Not very bad IMHO.

Peer up with static default route (routes installed into RIB and FIB):
**********************************************************************
It takes about 60 seconds to receive full table and to put routes into 
RIB/FIB, xorp_bgp takes about 100MB of memory after this. Memory usage is 
still acceptable, but 60 seconds is certainly very far from being 
acceptable.

Peer down with static default route (routes removed from RIB and FIB):
**********************************************************************
Just entered "disable: true" into peer config and committed. It takes 
about 4 minutes and 40 seconds to remove all routes from RIB and FIB. 
This isn't acceptable at all of course.

I wouldn't expect from Xorp instant failover and peer up/down times like 
hardware router vendors can achieve. They have many tricks in use which 
are not available for software routers. But it should be certainly happen 
during max some seconds, not minutes.

Questions ... Is anyone aware of problem? Is it BGP or RIB or IPC or ... 
problem? Is it worth of effort to open bugreport regarding this? Can I 
help with something? I'm not familiar enough with design of XORP and C++ 
coding yet to solve design related problems though yet. But I have 
environment and can profile (direction, please?), test patches etc.


regards,

-- 
Hasso Tepper