[Xorp-users] Testing L3 IP packet forward performance on CPU with XORP
Kristian Larsson
kristian at spritelink.net
Tue Aug 21 01:37:12 PDT 2007
HJ wrote:
> Hi, I am HJ. Currently I am working on a self study project on
getting > the performance benchmarking on L3 IP packet forwarding on x86
> processor using XORP as the software.
XORP will never touch the forwarding of packets, thus the speed at which
you can forward is not linked to the implementation of XORP. Although,
if XORP eats a lot of resources, less is left to do the actual
forwarding of packets (which is done in the kernel). So far the fastest
operating system I know of for forwarding is Linux. Given it's support
for multiple routing tables and other hacks it is in my opinion the best
OS for use as a "PC router".
> I am very new in this space. I would like to seek for the advise in
> this community on what are the neccessary setup that is needed for
> this test? Also i plan to run it on multi-threaded processor at later
> stage, which will modify some of the coding with OpenMP.
Multi-threading won't do _that_ much in forwarding. It's rather
complicated but if you have a lot of interfaces it can help but in most
cases it still comes to who has the fastest memory bus.
If you want a high performance router I would recommend a dual CPU one
where you use one CPU to forward packets and the other for control plane
related tasks such as running BGP and OSPF.
> 1. So is like in the config.boot file, what are the element is needed
> for this?
This is quite clear in the documentation I believe.
Since XORP is a routing protocol suite, I assume, although you don't
mention it, that you want to run some routing protocol. If all you need
is static / connected routes you don't need XORP.
> 2. Do i need a external packet generator like Smart Bit to act as low
> gen? Or just some test file will do? If it is just a test file, anyway
> that I can do it?
Well, yes and no. You will need something to push a lot of packets and
collect measurement data. Smartbits is one way.
There is also a module for the Linux kernel which can generate packets -
it's bloody fast but won't allow you to do much measuring, that you will
have to figure out one your own.
> 3. If i want to do it as just self alone 1 linux box, how do i need to
> that?
That would be very complicated and given that your machine would have to
both generate packets and forward them, your measurements results
wouldn't be worth much.
Kristian.
More information about the Xorp-users
mailing list