[ONOS-4663] [ONOS-4664] ST defect fixes in session establishment/sync
Change-Id: I0bdb4ad08295fe30c488e9170923847112fab647
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java b/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
index b7dbfda..cb40ea0 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
+++ b/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
@@ -236,8 +236,10 @@
ListIterator<PcepStateReport> listIterator = ((PcepReportMsg) msg).getStateReportList().listIterator();
while (listIterator.hasNext()) {
PcepStateReport stateRpt = listIterator.next();
- if (stateRpt.getLspObject().getSFlag()) {
+ PcepLspObject lspObj = stateRpt.getLspObject();
+ if (lspObj.getSFlag()) {
if (pc.lspDbSyncStatus() != PcepSyncStatus.IN_SYNC) {
+ log.debug("LSP DB sync started for PCC {}", pc.getPccId().id().toString());
// Initialize LSP DB sync and temporary cache.
pc.setLspDbSyncStatus(PcepSyncStatus.IN_SYNC);
pc.initializeSyncMsgList(pccId);
@@ -247,13 +249,16 @@
// Don't send to provider as of now.
continue;
- } else {
- if (pc.lspDbSyncStatus() == PcepSyncStatus.IN_SYNC) {
+ } else if (lspObj.getPlspId() == 0) {
+ if (pc.lspDbSyncStatus() == PcepSyncStatus.IN_SYNC
+ || pc.lspDbSyncStatus() == PcepSyncStatus.NOT_SYNCED) {
// Set end of LSPDB sync.
+ log.debug("LSP DB sync completed for PCC {}", pc.getPccId().id().toString());
pc.setLspDbSyncStatus(PcepSyncStatus.SYNCED);
// Call packet provider to initiate label DB sync (only if PCECC capable).
if (pc.capability().pceccCapability()) {
+ log.debug("Trigger label DB sync for PCC {}", pc.getPccId().id().toString());
pc.setLabelDbSyncStatus(IN_SYNC);
for (PcepPacketListener l : pcepPacketListener) {
l.sendPacketIn(pccId);