[ovs-dev] [patch_ports (rebased) 3/4] ofproto-dpif: Implement patch ports in userspace.

Ben Pfaff blp at nicira.com
Thu Jan 24 00:56:31 UTC 2013


On Wed, Jan 23, 2013 at 12:51:12PM -0800, Ethan Jackson wrote:
> This commit moves responsibility for implementing patch ports from
> the datapath to ofproto-dpif.  There are two main reasons to do
> this.
> 
> The first is a matter of design:  ofproto-dpif both has more
> information than the datapath, and is better suited to handle the
> complexity required to implement patch ports.
> 
> The second is performance.  My setup is a virtual machine with two
> basic learning bridges connected by patch ports.  I used
> ovs-benchmark to ping the virtual router IP residing outside the
> VM.  Over a 60 second run, "ovs-benchmark rate" improves from
> 14618.1 to 19311.9 transactions per second, or a 32% improvement.
> Similarly, "ovs-benchmark latency" improves from 6ms to 4ms.
> 
> Signed-off-by: Ethan Jackson <ethan at nicira.com>

set_patch_config() checks that the peer name is less than IFNAMSIZ
bytes but I don't know why we care.

compose_output_action__() seems to treat patch ports almost like
resubmits but a little too faithfully: it saves and restores the
in_port but not other flow information like the VLAN.

Otherwise this looks good and the performance boost should be awesome.



More information about the dev mailing list