[Click] 10GE Click performance
Luigi Rizzo
rizzo at iet.unipi.it
Fri Jan 20 13:54:22 EST 2012
On Fri, Jan 20, 2012 at 09:19:43AM -0800, Roman Chertov wrote:
> >
> > Kinda wonder how prepared click is for the netmap work being done and
> > 10Gb performance, and if it will help
>
> I recall reading on the list that netmap maintains a TX ring and as such
> it is not friendly to Click configs that can hold on to some packets for
> a while.
>
> FromDevice(ethX) -> cl::Classifier(...)[0]
> -> Queue
> -> DelayShaper(DELAY)
> -> outQ;
>
> cl[1] -> outQ;
>
> Any clarifications from people familiar with netmap?
Click uses the libpcap emulation to run on top of netmap,
so it doesn't know anything about the netmap rings.
Incoming frames are copied into Click's Packets in the callback
passed tp pcap_dispatch(), and they
can be stored for as long as you like provided there is
enough (userspace) memory.
When it is time to transmit, pcap_inject() copies the payload
from the Packet to the netmap ring and the packet goes out.
The two copies are moderately expensive but we are still talking
3-4Mpps for FromDevice -> EtherSwitch -> ToDevice .
Anything that takes a timestamp is going to hurt much more
than the memory copies.
cheers
luigi
More information about the click
mailing list