X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=interfacemgr%2Finterfacemgr-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Finterfacemgr%2Frenderer%2Fovs%2Fconfighelpers%2FOvsInterfaceConfigAddHelper.java;fp=interfacemgr%2Finterfacemgr-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Finterfacemgr%2Frenderer%2Fovs%2Fconfighelpers%2FOvsInterfaceConfigAddHelper.java;h=8a03e5e11db66e524ca03c694a875767ace77f79;hb=ff50887efd3e49baa83d8b36a782ab0d139d4976;hp=49f5da22feb641edae9ad61fbc6d0acdc4b2c6bf;hpb=42339aa187296181b51d6d9334a4f0b679f8cebf;p=vpnservice.git diff --git a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java index 49f5da22..8a03e5e1 100644 --- a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java +++ b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java @@ -139,11 +139,6 @@ public class OvsInterfaceConfigAddHelper { createBridgeEntryIfNotPresent(dpId, dataBroker, t); - BridgeRefEntryKey BridgeRefEntryKey = new BridgeRefEntryKey(dpId); - InstanceIdentifier dpnBridgeEntryIid = - InterfaceMetaUtils.getBridgeRefEntryIdentifier(BridgeRefEntryKey); - BridgeRefEntry bridgeRefEntry = - InterfaceMetaUtils.getBridgeRefEntryFromOperDS(dpnBridgeEntryIid, dataBroker); BridgeEntryKey bridgeEntryKey = new BridgeEntryKey(dpId); BridgeInterfaceEntryKey bridgeInterfaceEntryKey = new BridgeInterfaceEntryKey(interfaceNew.getName()); @@ -152,15 +147,24 @@ public class OvsInterfaceConfigAddHelper { interfaceNew.getName(), t); futures.add(t.submit()); - InstanceIdentifier bridgeIid = - (InstanceIdentifier)bridgeRefEntry.getBridgeReference().getValue(); - Optional bridgeNodeOptional = - IfmUtil.read(LogicalDatastoreType.OPERATIONAL, bridgeIid, dataBroker); - if (bridgeNodeOptional.isPresent()) { - OvsdbBridgeAugmentation ovsdbBridgeAugmentation = bridgeNodeOptional.get(); - String bridgeName = ovsdbBridgeAugmentation.getBridgeName().getValue(); - SouthboundUtils.addPortToBridge(bridgeIid, interfaceNew, - ovsdbBridgeAugmentation, bridgeName, interfaceNew.getName(), dataBroker, futures); + // create bridge on switch, if switch is connected + BridgeRefEntryKey BridgeRefEntryKey = new BridgeRefEntryKey(dpId); + InstanceIdentifier dpnBridgeEntryIid = + InterfaceMetaUtils.getBridgeRefEntryIdentifier(BridgeRefEntryKey); + BridgeRefEntry bridgeRefEntry = + InterfaceMetaUtils.getBridgeRefEntryFromOperDS(dpnBridgeEntryIid, dataBroker); + if(bridgeRefEntry != null && bridgeRefEntry.getBridgeReference() != null) { + LOG.debug("creating bridge interface on dpn {}", bridgeEntryKey); + InstanceIdentifier bridgeIid = + (InstanceIdentifier) bridgeRefEntry.getBridgeReference().getValue(); + Optional bridgeNodeOptional = + IfmUtil.read(LogicalDatastoreType.OPERATIONAL, bridgeIid, dataBroker); + if (bridgeNodeOptional.isPresent()) { + OvsdbBridgeAugmentation ovsdbBridgeAugmentation = bridgeNodeOptional.get(); + String bridgeName = ovsdbBridgeAugmentation.getBridgeName().getValue(); + SouthboundUtils.addPortToBridge(bridgeIid, interfaceNew, + ovsdbBridgeAugmentation, bridgeName, interfaceNew.getName(), dataBroker, futures); + } } }