import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;\r
import org.opendaylight.genius.mdsalutil.MDSALUtil;\r
+import org.opendaylight.genius.mdsalutil.NwConstants;\r
import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetDpidFromInterfaceInput;\r
\r
BigInteger dpnId = new BigInteger("0");\r
InstanceIdentifier<RouterToNaptSwitch> routerToNaptSwitch = NatUtil.buildNaptSwitchRouterIdentifier(routerId.getValue());\r
- Optional<RouterToNaptSwitch> rtrToNapt = MDSALUtil.read(dataBroker, LogicalDatastoreType.OPERATIONAL, routerToNaptSwitch );\r
+ Optional<RouterToNaptSwitch> rtrToNapt = MDSALUtil.read(dataBroker, LogicalDatastoreType.CONFIGURATION, routerToNaptSwitch );\r
if(rtrToNapt.isPresent()) {\r
dpnId = rtrToNapt.get().getPrimarySwitchId();\r
}\r
LOG.debug("NAT Service : got primarySwitch as dpnId{} ", dpnId);\r
+ if (dpnId == null || dpnId.equals(BigInteger.ZERO)) {\r
+ LOG.debug("NAT Service : primary napt Switch not found for router {} in associateExternalNetworkWithVPN", routerId);\r
+ return;\r
+ }\r
\r
Long routerIdentifier = NatUtil.getVpnId(dataBroker, routerId.getValue());\r
InstanceIdentifierBuilder<org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.intext.ip.map.IpMapping> idBuilder =\r
String externalIp = ipMap.getExternalIp();\r
LOG.debug("NAT Service : got externalIp as {}", externalIp);\r
LOG.debug("NAT Service : About to call advToBgpAndInstallFibAndTsFlows for dpnId {}, vpnName {} and externalIp {}", dpnId, vpnName, externalIp);\r
- externalRouterListener.advToBgpAndInstallFibAndTsFlows(dpnId, NatConstants.INBOUND_NAPT_TABLE, vpnName, NatUtil.getVpnId(dataBroker, routerId.getValue()), externalIp, vpnService, fibService, bgpManager, dataBroker, LOG);\r
+ externalRouterListener.advToBgpAndInstallFibAndTsFlows(dpnId, NwConstants.INBOUND_NAPT_TABLE, vpnName, NatUtil.getVpnId(dataBroker, routerId.getValue()), externalIp, vpnService, fibService, bgpManager, dataBroker, LOG);\r
}\r
} else {\r
LOG.warn("NAT Service : No ipMapping present fot the routerId {}", routerId);\r