[ONOS-4743] - DB sync is suspended if PCEP session is formed before BGP devices are learnt
Change-Id: I543201c54883e06182c1c83c4c64dd16a18e096c
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/pceservice/PceManagerTest.java b/apps/pce/app/src/test/java/org/onosproject/pce/pceservice/PceManagerTest.java
index 602c328..852a7c1 100644
--- a/apps/pce/app/src/test/java/org/onosproject/pce/pceservice/PceManagerTest.java
+++ b/apps/pce/app/src/test/java/org/onosproject/pce/pceservice/PceManagerTest.java
@@ -690,6 +690,7 @@
LabelResourceId node1Label = LabelResourceId.labelResourceId(5200);
LabelResourceId node2Label = LabelResourceId.labelResourceId(5201);
+ pceManager.pceStore.addLsrIdDevice(deviceD1.annotations().value(LSRID), deviceD1.id());
pceManager.pceStore.addGlobalNodeLabel(D1.deviceId(), node1Label);
pceManager.pceStore.addGlobalNodeLabel(D2.deviceId(), node2Label);
@@ -713,7 +714,7 @@
eth.setEtherType(Ethernet.TYPE_IPV4);
eth.setPayload(ipv4);
- InboundPacket inPkt = new DefaultInboundPacket(new ConnectPoint(D1.deviceId(),
+ InboundPacket inPkt = new DefaultInboundPacket(new ConnectPoint(DeviceId.deviceId("1.1.1.1"),
PortNumber.portNumber(PCEP_PORT)),
eth, null);
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/util/PceStoreAdapter.java b/apps/pce/app/src/test/java/org/onosproject/pce/util/PceStoreAdapter.java
index beaf8ae..48120ad 100644
--- a/apps/pce/app/src/test/java/org/onosproject/pce/util/PceStoreAdapter.java
+++ b/apps/pce/app/src/test/java/org/onosproject/pce/util/PceStoreAdapter.java
@@ -19,6 +19,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -52,6 +54,9 @@
// Set of Path info
private Set<PcePathInfo> failedPathInfoSet = new HashSet<>();
+ // Locally maintain LSRID to device id mapping for better performance.
+ private Map<String, DeviceId> lsrIdDeviceIdMap = new HashMap<>();
+
@Override
public boolean existsGlobalNodeLabel(DeviceId id) {
return globalNodeLabelMap.containsKey(id);
@@ -208,4 +213,39 @@
}
return true;
}
+
+ @Override
+ public boolean addLsrIdDevice(String lsrId, DeviceId deviceId) {
+ lsrIdDeviceIdMap.put(lsrId, deviceId);
+ return true;
+ }
+
+ @Override
+ public boolean removeLsrIdDevice(String lsrId) {
+ lsrIdDeviceIdMap.remove(lsrId);
+ return true;
+ }
+
+ @Override
+ public DeviceId getLsrIdDevice(String lsrId) {
+ return lsrIdDeviceIdMap.get(lsrId);
+ }
+
+ @Override
+ public boolean addPccLsr(DeviceId lsrId) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean removePccLsr(DeviceId lsrId) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean hasPccLsr(DeviceId lsrId) {
+ // TODO Auto-generated method stub
+ return false;
+ }
}