diff options
Diffstat (limited to 'framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java')
-rw-r--r-- | framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java index 8a661ab9..5f72606d 100644 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java +++ b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java @@ -578,16 +578,7 @@ public class DefaultOvsdbClient return false; } - String bridgeUuid = getBridgeUuid(bridgeName); - if (bridgeUuid != null) { - log.warn("Bridge {} is already exist", bridgeName); - // remove existing one and re-create? - return false; - } - Bridge bridge = (Bridge) TableGenerator.createTable(dbSchema, OvsdbTable.BRIDGE); - bridge.setName(bridgeName); - Set<String> failMode = new HashSet<>(Arrays.asList("secure")); bridge.setFailMode(failMode); @@ -598,9 +589,15 @@ public class DefaultOvsdbClient options.put("datapath-id", dpid); bridge.setOtherConfig(options); - bridgeUuid = insertConfig(OvsdbConstant.BRIDGE, "_uuid", - OvsdbConstant.DATABASENAME, "bridges", - ovsUuid, bridge.getRow()); + String bridgeUuid = getBridgeUuid(bridgeName); + if (bridgeUuid == null) { + bridge.setName(bridgeName); + bridgeUuid = insertConfig(OvsdbConstant.BRIDGE, "_uuid", + OvsdbConstant.DATABASENAME, "bridges", + ovsUuid, bridge.getRow()); + } else { + updateConfig(OvsdbConstant.BRIDGE, "_uuid", bridgeUuid, bridge.getRow()); + } if (bridgeUuid != null) { createPort(bridgeName, bridgeName); |