ovs-vswitchd: Preserve datapath ports across graceful shutdown.
authorBen Pfaff <blp@ovn.org>
Thu, 4 Feb 2016 17:48:54 +0000 (09:48 -0800)
committerBen Pfaff <blp@ovn.org>
Fri, 5 Feb 2016 19:43:55 +0000 (11:43 -0800)
commitde37dacd7825d345c1cc8579a4c0ac3f26bbff42
treec67947e53d63255ca9e24595a152279881201613
parent010ce67c211a30c4b1a3906666b700ec5dbaf678
ovs-vswitchd: Preserve datapath ports across graceful shutdown.

Until now, asking ovs-vswitchd to shut down gracefully, e.g. with
"ovs-appctl exit", would cause it to first remove all the ports from
kernel-based datapaths.  This has the unfortunate side effect that IP
addresses on any removed "internal" ports are lost, even if the ports are
added again when ovs-vswitchd is restarted.  This is long-standing
behavior, but it only became important when the OVS control scripts were
changed to try to do graceful shutdown first instead of using a signal.

This commit changes graceful shutdown so that it leaves ports in the
datapath, fixing the problem.

Fixes: 9b5422a98f8 (ovs-lib: Try to call exit before killing.)
Reported-by: Edgar Cantu <eocantu@us.ibm.com>
Reported-at: http://openvswitch.org/pipermail/discuss/2016-January/020024.html
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Gurucharan Shetty <guru@ovn.org>
ofproto/ofproto-dpif.c
ofproto/ofproto-provider.h
ofproto/ofproto.c
ofproto/ofproto.h
vswitchd/bridge.c