The explanation I've seen is that the OVS /patch/ interface is optimized for OpenvSwitch. I would like to understand what is being optimized.
I've seen a reply on the OVS mailing list that says OVS /patch/ ports are implemented entirely inside OVS userspace. I don't understand how this is done without a performance penalty. I've thought that as soon a VM sends a packet to its vNIC, the packet will cross from user space to kernel space over the TAP interface. Eventually the packet reaches the OVS bridge (br-int, for example). If at that point the packet must be sent to next OVS bridge over a /patch/ port, does it mean it crosses back to user space? That would incur a performance hit. I am hypothesizing that perhaps the /patch/ port is just a configuration construct to tell the OVS kernel module that the ports on two OVS bridges are connected. Then, somehow the kernel module is able to forward the packets between the two bridges more efficiently than over a /veth/ pair. It would be nice if somebody can confirm if this is the correct explanation or if there is a better one.
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss