Cherry picks from 1.6 branch

Change-Id: I596247425802fc759463bcf77ea3c885f3161581
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
index d4d4808..c0326b6 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
@@ -254,6 +254,7 @@
 
         tunnelConsumerIdGen = coreService.getIdGenerator(TUNNEL_CONSUMER_ID_GEN_TOPIC);
         localLspIdIdGen = coreService.getIdGenerator(LOCAL_LSP_ID_GEN_TOPIC);
+        localLspIdIdGen.getNewId(); // To prevent 0, the 1st value generated from being used in protocol.
         localLspIdFreeList = storageService.<Short>setBuilder()
                 .withName("pcepLocalLspIdDeletedList")
                 .withSerializer(Serializer.using(KryoNamespaces.API))
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceccSrTeBeHandler.java b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceccSrTeBeHandler.java
index 63eed1b..0a79716 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceccSrTeBeHandler.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceccSrTeBeHandler.java
@@ -406,15 +406,6 @@
             DeviceId deviceId = null;
             for (Iterator<Link> iterator = linkList.iterator(); iterator.hasNext();) {
                 link = iterator.next();
-                // Add source device label now
-                deviceId = link.src().deviceId();
-                nodeLabelId = pceStore.getGlobalNodeLabel(deviceId);
-                if (nodeLabelId == null) {
-                    log.error("Unable to find node label for a device id {} in store.", deviceId.toString());
-                    return null;
-                }
-                labelStack.add(nodeLabelId);
-
                 // Add adjacency label for this link
                 adjLabelId = pceStore.getAdjLabel(link);
                 if (adjLabelId == null) {
@@ -422,11 +413,7 @@
                     return null;
                 }
                 labelStack.add(adjLabelId);
-            }
 
-            // This is the last link in path
-            // Add destination device label now.
-            if (link != null) {
                 deviceId = link.dst().deviceId();
                 nodeLabelId = pceStore.getGlobalNodeLabel(deviceId);
                 if (nodeLabelId == null) {