ofproto-dpif: Implement patch ports in userspace.
authorEthan Jackson <ethan@nicira.com>
Thu, 20 Dec 2012 23:32:03 +0000 (15:32 -0800)
committerEthan Jackson <ethan@nicira.com>
Thu, 24 Jan 2013 20:34:07 +0000 (12:34 -0800)
commit0a740f48293efa6162accc385f06def13b15f49b
treedfb0d7618f227c74faa5f4fe60d75d39f53ffaec
parentaf37354d92f45f1f276bb0bbf754b2851e29d14b
ofproto-dpif: Implement patch ports in userspace.

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@nicira.com>
FAQ
NEWS
lib/netdev-provider.h
lib/netdev-vport.c
lib/netdev-vport.h
lib/netdev.c
lib/netdev.h
ofproto/ofproto-dpif.c
tests/ofproto-dpif.at