[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