Skip to content

Commit

Permalink
connmgr: Make treatment of active and passive connections more uniform.
Browse files Browse the repository at this point in the history
Until now, connmgr has handled active and passive OpenFlow connections in
quite different ways.  Any active connection, whether it was currently
connected or not, was always maintained as an ofconn.  Whenever such a
connection (re)connected, its settings were cleared.  On the other hand,
passive connections had a separate listener which created an ofconn when
a new connection came in, and these ofconns would be deleted when such a
connection was closed.  This approach is inelegant and has occasionally
led to bugs when reconnection didn't clear all of the state that it
should have.

There's another motivation here.  Currently, active connections are
always primary controllers and passive connections are always service
controllers (as documented in ovs-vswitchd.conf.db(5)).  Sometimes it would
be useful to have passive primary controllers (maybe active service
controllers too but I haven't personally run into that use case).  As is,
this is difficult to implement because there is so much different code in
use between active and passive connections.  This commit will make it
easier.

Signed-off-by: Ben Pfaff <blp@ovn.org>
  • Loading branch information
blp committed Feb 5, 2019
1 parent ae6e4f1 commit a0baa7d
Show file tree
Hide file tree
Showing 2 changed files with 307 additions and 309 deletions.

0 comments on commit a0baa7d

Please sign in to comment.