[ovs-dev] [PATCH] ovn-controller: avoid crash when vswitchd connection is lost

Ben Pfaff blp at ovn.org
Wed Jul 12 05:02:15 UTC 2017


On Wed, Jun 28, 2017 at 02:54:47PM -0400, Lance Richardson wrote:
> When ovs-vswitchd has dropped its connection to ovn-controller,
> rconn_get_version() will return -1. OpenFlow messages built by
> ofctrl_put() in this condition will have an invalid OpenFlow version
> value of 255, which eventually leads to ovn-controller crashing
> due to an assertion failure in raw_instance_get().
> 
> Avoid this crash by improving the ofctrl_can_put() test to ensure
> that the negotiated version is available. (Note that checking
> rconn_is_connected() would not be sufficient since rconn S_IDLE
> state is considered "connected" but version negotiation is not
> necessarily complete).
> 
> Signed-off-by: Lance Richardson <lrichard at redhat.com>

Ouch.  This is nasty.  I want a less surprising implementation here.

Anyway, I applied this to master and backported to 2.7 and 2.6, for now.
Thanks a lot!


More information about the dev mailing list