projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ovs-brcompatd: Delete Bridge record when deleting a bridge.
[openvswitch]
/
vswitchd
/
ovs-brcompatd.c
diff --git
a/vswitchd/ovs-brcompatd.c
b/vswitchd/ovs-brcompatd.c
index 9994fdb98f1cbaa1370f5e9b0c2ebf4b060a1a91..bf571d743a11465ff7a8b4719f8b3f3056e57a74 100644
(file)
--- a/
vswitchd/ovs-brcompatd.c
+++ b/
vswitchd/ovs-brcompatd.c
@@
-479,6
+479,8
@@
del_port(const struct ovsrec_bridge *br, const char *port_name)
}
ovsrec_bridge_set_ports(br, ports, n);
free(ports);
}
ovsrec_bridge_set_ports(br, ports, n);
free(ports);
+
+ ovsrec_port_delete(port_rec);
}
}
}
}
@@
-507,6
+509,9
@@
del_bridge(const struct ovsrec_open_vswitch *ovs, const char *br_name)
ovsrec_open_vswitch_set_bridges(ovs, bridges, n);
free(bridges);
ovsrec_open_vswitch_set_bridges(ovs, bridges, n);
free(bridges);
+ /* Delete the bridge itself. */
+ ovsrec_bridge_delete(br);
+
VLOG_INFO("delbr %s: success", br_name);
return 0;
VLOG_INFO("delbr %s: success", br_name);
return 0;
@@
-756,7
+761,7
@@
handle_fdb_query_cmd(const struct ovsrec_open_vswitch *ovs,
struct netdev *netdev;
error = netdev_open_default(iface_name, &netdev);
struct netdev *netdev;
error = netdev_open_default(iface_name, &netdev);
- if (
netdev
) {
+ if (
!error
) {
if (!netdev_get_etheraddr(netdev, mac->addr)) {
n_local_macs++;
}
if (!netdev_get_etheraddr(netdev, mac->addr)) {
n_local_macs++;
}
@@
-1225,7
+1230,6
@@
main(int argc, char *argv[])
ovsdb_idl_txn_wait(txn);
poll_block();
}
ovsdb_idl_txn_wait(txn);
poll_block();
}
- ovsdb_idl_txn_destroy(txn);
switch (status) {
case TXN_INCOMPLETE:
switch (status) {
case TXN_INCOMPLETE:
@@
-1241,16
+1245,19
@@
main(int argc, char *argv[])
case TXN_TRY_AGAIN:
/* xxx Handle this better! */
case TXN_TRY_AGAIN:
/* xxx Handle this better! */
-
printf("xxx We need to try again!\n
");
+
VLOG_ERR("OVSDB transaction needs retry
");
break;
case TXN_ERROR:
break;
case TXN_ERROR:
- /* xxx Is this what we want to do? */
- ovs_fatal(0, "transaction error");
-
+ /* xxx Handle this better! */
+ VLOG_ERR("OVSDB transaction failed: %s",
+ ovsdb_idl_txn_get_error(txn));
+ break;
+
default:
NOT_REACHED();
}
default:
NOT_REACHED();
}
+ ovsdb_idl_txn_destroy(txn);
nl_sock_wait(brc_sock, POLLIN);
ovsdb_idl_wait(idl);
nl_sock_wait(brc_sock, POLLIN);
ovsdb_idl_wait(idl);