On Fri, 2013-11-01 at 19:00 +0000, Zoltan Kiss wrote:I still couldn't find time to try out this scenario, but I think in this case packet goes through deliver_skb, which means it will get copied. So performance would be a bit worse due to the extra map/unmap. And I'm afraid we can't help that too much due to this:On 01/11/13 10:50, Ian Campbell wrote:Does this always avoid copying when bridging/openvswitching/forwardingI've tested the domU->domU, domU->physical with bridge and openvswitch
(e.g. masquerading etc)? For both domU->domU and domU->physical NIC?
usecase, and now I've created a new stat counter to see how often copy
happens (the callback's second parameter tells you whether the skb was
freed or copied). It doesn't do copy in all of these scenarios.
What do you mean by forwarding? The scenario when you use bridge and
iptables mangling with the packet, not just filtering?
I mean using L3 routing rather L2 bridging. Which might involve
NAT/MASQUERADE or might just be normal IP routing.
Now I had time to check it: broadcast packets get copied only once, when cloning happens. It will swap out the frags with local ones, so any subsequent cloning will have a local SKB.How does it deal with broadcast traffic?