dpif-linux: Give each port its own userspace-kernel channel.
authorJustin Pettit <jpettit@nicira.com>
Sat, 5 Jan 2013 02:34:26 +0000 (18:34 -0800)
committerJustin Pettit <jpettit@nicira.com>
Thu, 10 Jan 2013 22:38:42 +0000 (14:38 -0800)
Userspace-kernel communication is a possible bottleneck when OVS is
receiving a large number of flow set up requests.  To help prevent a bad
actor from consuming too much of this resource, we introduced channels
to segegrate traffic.  Previously, we created 17 channels and
round-robin assigned ports to one of 16 channels (the 17th was reserved
for use by the system).  This meant if there were more than 16 ports,
sharing of channels would occur.

This commit creates a new channel for each port, so that there is no
more sharing and better isolation.  The special system port uses the
"ovs-system"'s channel (port 0), since it is not heavily loaded.

This also fixes an issue introduced in commit acf60855 (ofproto-dpif:
Use a single underlying datapath across multiple bridges.) where ports
that were added at run-time were given the special system channel.

Issue #12073

Signed-off-by: Justin Pettit <jpettit@nicira.com>

No differences found