diff options
Diffstat (limited to 'vswitchd')
-rw-r--r-- | vswitchd/bridge.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index b504b85b..5e2ad697 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -432,8 +432,12 @@ bridge_reconfigure(const struct ovsrec_open_vswitch *ovs_cfg) * has at least one iface, every "struct iface" has a valid ofp_port and * netdev. */ HMAP_FOR_EACH_SAFE (br, next, node, &all_bridges) { - if (!br->ofproto && !bridge_add_ofprotos(br)) { - bridge_destroy(br); + if (!br->ofproto) { + if (bridge_add_ofprotos(br)) { + bridge_del_ofproto_ports(br); + } else { + bridge_destroy(br); + } } } HMAP_FOR_EACH (br, node, &all_bridges) { |