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:35 +0000 (11:43 -0800)
commit9aad5a5a96bac423b05b5bb3afb7add2df44bba9
tree8dd745de2b1b2c51c7e9ab9f9ca0d31b3b424022
parent8147cec9ee8feea9440cf79365709ddc32ff57d5
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