[ovs-discuss] Some questions on ovs
dtiron at debian.armed.us
Fri Jan 7 18:31:16 UTC 2011
Thanks for your answer.
> >> Data isn't copied during packet forwarding. If you mirror a port it
> >> copies the packet metadata and adds a reference.
> > So the performance impact should be rather small when a mirror port?
> > I'm really curious what my performance measurements will show. ;-)
> Well the actual impact of mirroring should be small. However, what
> you do with the packet afterwards can have significant cost. If
> you're trying to get the packet to userspace, you'll incur a full
> packet copy.
Yes, I have to get the packets into the userspace. But I have to do this
anyway because I need to process the data with a monitoring tool called
vermont . So there's no chance I can keep the data in kernel space
and do my stuff there. The capturing engine in my setup is PF_RING which
*does* a full copy of each skb. I suppose this is the one copy you're
talking about, too?
As I see it, the necessary copy has nothing to do with or without using
a mirror port -> the performance should not differ very much from
capturing from br0 (= configured as mirror) to capturing from tapXX
(without a mirror port)? What would you say?
> Kernels 2.6.36 and newer support registering handlers on a per-device
> basis, which is done in netdev_rx_handler_register() instead of a
> global function pointer. This avoids conflicts with the bridge.
That sounds good. ;-) I didn't look at the source code yet, but I
suppose the idea is the same as before: Kernel provides a callback-hook
and ovs registers its own handler function, but in this case for each
Thank you very much.
More information about the discuss