[Click] How to make a fast multi-core UDP generator ??

Luigi Rizzo rizzo at iet.unipi.it
Thu Oct 13 11:14:39 EDT 2011


On Thu, Oct 13, 2011 at 04:37:30PM +0200, borkmann at iogearbox.net wrote:
> 
> Quoting borkmann at iogearbox.net:
> > Quoting shule ney <neyshule at gmail.com>:
> >> Thanks borkmann???I'm wondering if 1,38Mio pps is the bottleneck speed of
> >> 1Gbps NIC?? Since I only have 1Gbps NIC, if it's NIC???s own problem, I think
> >> I can't send faster than 1,38Mio pps. Great thanks for all your guys' help.
> >
> > I've seen some IXIA machines that were able to generate ~1,48M pps, but I
> > assume that this was achieved with specialized hardware. I think/assume in
> > software, you won't reach faster rates than the kernelspace pktgen.
> 
> Well, or maybe not. ;-) I just got an email with this:
> 
> trafgen -d p1p1 -c /etc/netsniff-ng/trafgen/nst_udp_pkt_18.txf -b 0
> trafgen -d p1p1 -c /etc/netsniff-ng/trafgen/nst_udp_pkt_18.txf -b 1
> 
> Sustained rate at: 1.416mps...

my experience is that not all cards can do line rate no matter
how fast is the software. I have two different intel 1G card,
one of them can do 1.38Mpps, the other one only 1.15Mpps even with
netmap (so there is no shortage of CPU).
You can do line rate (14.88Mpps @ 10Gbit/s) with the netmap
image you can find below, but you need a good NIC (82599) and need
to use 2 or more queues. I have tried the 82598 and it seems to
top at around 13Mpps

http://info.iet.unipi.it/~luigi/netmap/

Other factors can influence your performance e.g. flow control
frames from the receiver can slow down the sender

cheers
luigi

> >> 2011/10/13 <borkmann at iogearbox.net>
> >>> You can also try the zero-copy traffic generator "trafgen" that is part of
> >>> the netsniff-ng
> >>> toolkit: http://netsniff-ng.org/ there is a Git repository, where you can
> >>> get it from. On
> >>> Gigabit Ethernet, I was able to generate about 1,25Mio 64 Byte pps from
> >>> userspace
> >>> (comp. pktgen from kernelspace: 1,38Mio pps). Other, fast packet
> >>> generators, that run
> >>> in userspace like Mausezahn (http://www.perihel.at/sec/mz/**) only reach
> >>> about 800k pps.
> >>>
> >>> Quoting Nikolay Denev <ndenev at gmail.com>:
> >>>
> >>>> You can try the NETMAP image from here : http://info.iet.unipi.it/~**
> >>>> luigi/netmap/ <http://info.iet.unipi.it/~luigi/netmap/>
> >>>> With it I was able to generate 13-14Mpps (64byte packets) with a Intel
> >>>> 10GigE card.
> >>>>
> >>>> On Oct 13, 2011, at 7:39 AM, shule ney wrote:
> >>>>
> >>>>  Hi there:
> >>>>> I'm trying to make a UDP generator by using udpgen.click but single
> >>>>> thread
> >>>>> kernel click seems not fast enough(around 1.4Mpps with 64B packet), so I
> >>>>> try
> >>>>> to configure and run click as multi-threaded version, However it does not
> >>>>> work for me when I'm using udpgen.click. once I type *click-install -t
> >>>>> 2*,
> >>>>> it tells me ignore the parameter, while other click configuration file
> >>>>> works
> >>>>> fine, I don't know why this udpgen.click can't work with multi-thread.
> >>>>> Another question is which is the possible bottleneck, NIC or CPU? Thanks
> >>>>> for
> >>>>> your help.
> >>>>>
> >>>>> Best
> >>>>> shule
> >>>>> ______________________________**_________________
> >>>>> click mailing list
> >>>>> click at amsterdam.lcs.mit.edu
> >>>>> https://amsterdam.lcs.mit.edu/**mailman/listinfo/click<https://amsterdam.lcs.mit.edu/mailman/listinfo/click>
> >>>>>
> >>>>
> >>>>
> >>>> ______________________________**_________________
> >>>> click mailing list
> >>>> click at amsterdam.lcs.mit.edu
> >>>> https://amsterdam.lcs.mit.edu/**mailman/listinfo/click<https://amsterdam.lcs.mit.edu/mailman/listinfo/click>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>
> >
> >
> >
> >
> > _______________________________________________
> > click mailing list
> > click at amsterdam.lcs.mit.edu
> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> >
> 
> 
> 
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list