<snip>
> Hi William,
> What sort of traffic are you trying to replay? In particular, what sort
> of packet sizes are you using?
> I've found in testing that the packet rate that I'm able to achieve is
> more or less consistent regardless of the packet size. Meaning that if
> I'm replaying large packets (eg. 1k) I can saturate a gigabit link (even
> without the cache option), but if I'm replaying small packets (eg.
> 58bytes) I'll see figures more like 80mb/s.
>
> I second Peter Van Epp's comments about pci-express. If possible I'd go
> for a pci-express x4, or better, card.
>
> Andrew Edgecombe
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Tcpreplay-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/tcpreplay-users
> Support Information: http://tcpreplay.synfin.net/trac/wiki/Support
There are a couple of possible choke points on your 80 meg figure.
Disk is one, raid (which you may already have, in which case more :-)) is
a solution to that. At some point it will be profitable to cut out the file
system (since you don't need one), although code changes would be needed, and
open the raw device and read pcap bytes sequencially direct from the raid
controller (bypassing the file system entirely) and write to the ethernet card
(frankly preferably directly in kernel space to avoid the kernel to user
copies but that is even more complex :-)). Another simpler and possibly
profitable thing to try is change your ethernet driver from interrupt mode to
polled if it supports it. Interrupts are very expensive and limit performance
at high volumes and you may be running in to CPU / memory bandwidth saturation
not disk. The ideal would be a new device driver that could read from the raw
disk (assuming pcap format) and queue (waiting on time the timestamp in the
pcap file)) to the ethernet card directly in the kernel. No kernel/user copies,
no mbufs absolutely not general purpose but fast (and a fairly huge amount of
work :-)).
While I'm here it sounds like one useful an unique (although that
suprises me) packet editing feature would be to edit pcap timestamps. It seems
trivial and I'm suprised there isn't already a package that does that but
from comments in another thread it doesn't seem so.
Peter Van Epp / Operations and Technical Support
Simon Fraser University, Burnaby, B.C. Canada
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Tcpreplay-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tcpreplay-users
Support Information: http://tcpreplay.synfin.net/trac/wiki/Support