[ONOS-4687] GoldenEye - Label map download issues.
Change-Id: I5b56ccc6b8bad3c585f4d33ddd6d9094751c8797
diff --git a/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java b/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java
index b005132..6f0f10a 100644
--- a/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java
+++ b/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java
@@ -15,6 +15,9 @@
*/
package org.onosproject.provider.bgpcep.flow.impl;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@@ -28,7 +31,6 @@
import org.onlab.packet.IpPrefix;
import org.onlab.packet.MplsLabel;
import org.onosproject.bgp.controller.BgpController;
-import org.onosproject.cfg.ComponentConfigService;
import org.onosproject.core.ApplicationId;
import org.onosproject.incubator.net.resource.label.LabelResourceId;
import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
@@ -42,21 +44,24 @@
import org.onosproject.net.Path;
import org.onosproject.net.PortNumber;
import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.flow.CompletedBatchOperation;
+import org.onosproject.net.flow.DefaultFlowEntry;
+import org.onosproject.net.flow.FlowEntry;
import org.onosproject.net.flow.FlowRule;
+import org.onosproject.net.flow.FlowRuleBatchEntry;
import org.onosproject.net.flow.FlowRuleBatchOperation;
import org.onosproject.net.flow.FlowRuleProvider;
import org.onosproject.net.flow.FlowRuleProviderRegistry;
import org.onosproject.net.flow.FlowRuleProviderService;
import org.onosproject.net.flow.TrafficSelector;
+import org.onosproject.net.flow.FlowEntry.FlowEntryState;
import org.onosproject.net.flow.criteria.Criterion;
import org.onosproject.net.flow.criteria.IPCriterion;
import org.onosproject.net.flow.criteria.MetadataCriterion;
import org.onosproject.net.flow.criteria.MplsBosCriterion;
import org.onosproject.net.flow.criteria.MplsCriterion;
import org.onosproject.net.flow.criteria.PortCriterion;
-import org.onosproject.net.flow.criteria.TcpPortCriterion;
import org.onosproject.net.flow.criteria.TunnelIdCriterion;
-import org.onosproject.net.flowobjective.Objective;
import org.onosproject.net.provider.AbstractProvider;
import org.onosproject.net.provider.ProviderId;
import org.onosproject.net.resource.ResourceService;
@@ -81,13 +86,14 @@
import org.onosproject.pcepio.types.PcepLabelMap;
import org.onosproject.pcepio.types.PcepValueType;
import org.onosproject.pcepio.types.StatefulIPv4LspIdentifiersTlv;
-import org.onosproject.provider.pcep.tunnel.impl.SrpIdGenerators;
-import org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys;
+import org.onosproject.pcep.controller.SrpIdGenerators;
+import org.onosproject.pcep.controller.PcepAnnotationKeys;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import static org.onosproject.pcep.controller.PcepSyncStatus.IN_SYNC;
import static org.onosproject.pcep.controller.PcepSyncStatus.SYNCED;
+import static org.onosproject.net.flow.criteria.Criterion.Type.EXTENSION;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.slf4j.LoggerFactory.getLogger;
@@ -104,9 +110,6 @@
protected FlowRuleProviderRegistry providerRegistry;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected ComponentConfigService cfgService;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected BgpController bgpController;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
@@ -129,6 +132,12 @@
public static final long SET = 0xFFFFFFFFL;
private static final String LSRID = "lsrId";
+ private enum PcepFlowType {
+ ADD,
+ MODIFY,
+ REMOVE
+ }
+
/**
* Creates a BgpFlow host provider.
*/
@@ -138,14 +147,12 @@
@Activate
public void activate(ComponentContext context) {
- cfgService.registerProperties(getClass());
providerService = providerRegistry.register(this);
log.info("Started");
}
@Deactivate
public void deactivate(ComponentContext context) {
- cfgService.unregisterProperties(getClass(), false);
providerRegistry.unregister(this);
providerService = null;
log.info("Stopped");
@@ -154,26 +161,25 @@
@Override
public void applyFlowRule(FlowRule... flowRules) {
for (FlowRule flowRule : flowRules) {
- processRule(flowRule, Objective.Operation.ADD);
+ processRule(flowRule, PcepFlowType.ADD);
}
}
@Override
public void removeFlowRule(FlowRule... flowRules) {
for (FlowRule flowRule : flowRules) {
- processRule(flowRule, Objective.Operation.REMOVE);
+ processRule(flowRule, PcepFlowType.REMOVE);
}
}
- private void processRule(FlowRule flowRule, Objective.Operation type) {
+ private void processRule(FlowRule flowRule, PcepFlowType type) {
MplsLabel mplsLabel = null;
- IpPrefix ip4Prefix = null;
+ IpPrefix ip4PrefixSrc = null;
+ IpPrefix ip4PrefixDst = null;
PortNumber port = null;
TunnelId tunnelId = null;
long labelType = 0;
boolean bottomOfStack = false;
- int srcPort = 0;
- int dstPort = 0;
TrafficSelector selector = flowRule.selector();
for (Criterion c : selector.criteria()) {
@@ -184,20 +190,16 @@
break;
case IPV4_SRC:
IPCriterion ipCriterion = (IPCriterion) c;
- ip4Prefix = ipCriterion.ip().getIp4Prefix();
+ ip4PrefixSrc = ipCriterion.ip().getIp4Prefix();
+ break;
+ case IPV4_DST:
+ ipCriterion = (IPCriterion) c;
+ ip4PrefixDst = ipCriterion.ip().getIp4Prefix();
break;
case IN_PORT:
PortCriterion inPort = (PortCriterion) c;
port = inPort.port();
break;
- case TCP_SRC:
- TcpPortCriterion srcTcpPort = (TcpPortCriterion) c;
- srcPort = srcTcpPort.tcpPort().toInt();
- break;
- case TCP_DST:
- TcpPortCriterion dstTcpPort = (TcpPortCriterion) c;
- dstPort = dstTcpPort.tcpPort().toInt();
- break;
case TUNNEL_ID:
TunnelIdCriterion tc = (TunnelIdCriterion) c;
tunnelId = TunnelId.valueOf(String.valueOf(tc.tunnelId()));
@@ -224,13 +226,12 @@
return;
}
- if (srcPort != 0 && dstPort != 0) {
- pushAdjacencyLabel(flowRule.deviceId(), label, PortNumber.portNumber(srcPort),
- PortNumber.portNumber(dstPort), type);
+ if (ip4PrefixDst != null) {
+ pushAdjacencyLabel(flowRule.deviceId(), label, ip4PrefixSrc, ip4PrefixDst, type);
return;
}
- pushGlobalNodeLabel(flowRule.deviceId(), label, ip4Prefix, type, bottomOfStack);
+ pushGlobalNodeLabel(flowRule.deviceId(), label, ip4PrefixSrc, type, bottomOfStack);
} catch (PcepParseException e) {
log.error("Exception occured while sending label message to PCC {}", e.getMessage());
@@ -255,7 +256,7 @@
//Pushes node labels to the specified device.
private void pushGlobalNodeLabel(DeviceId deviceId, LabelResourceId labelId,
- IpPrefix ipPrefix, Objective.Operation type, boolean isBos) throws PcepParseException {
+ IpPrefix ipPrefix, PcepFlowType type, boolean isBos) throws PcepParseException {
checkNotNull(deviceId);
checkNotNull(labelId);
@@ -271,7 +272,7 @@
if (ipPrefix == null) {
// Pushing self node label to device.
- IpPrefix.valueOf(pc.getPccId().ipAddress(), 32);
+ ipPrefix = IpPrefix.valueOf(pc.getPccId().ipAddress(), 32);
}
PcepFecObjectIPv4 fecObject = pc.factory().buildFecObjectIpv4()
@@ -279,16 +280,9 @@
.build();
boolean bSFlag = false;
- if (pc.labelDbSyncStatus() == IN_SYNC) {
- if (isBos) {
- /*
- * Now the sync is completed.
- * Need to send label DB end-of-sync msg, i.e. S flag in SRP id is reset.
- */
- pc.setLabelDbSyncStatus(SYNCED);
- } else {
- bSFlag = true;
- }
+ if (pc.labelDbSyncStatus() == IN_SYNC && !isBos) {
+ // Need to set sync flag in all messages till sync completes.
+ bSFlag = true;
}
PcepSrpObject srpObj = getSrpObject(pc, type, bSFlag);
@@ -312,14 +306,19 @@
.build();
pc.sendMessage(labelMsg);
+
+ if (isBos) {
+ // Sync is completed.
+ pc.setLabelDbSyncStatus(SYNCED);
+ }
}
- private PcepSrpObject getSrpObject(PcepClient pc, Objective.Operation type, boolean bSFlag)
+ private PcepSrpObject getSrpObject(PcepClient pc, PcepFlowType type, boolean bSFlag)
throws PcepParseException {
PcepSrpObject srpObj;
boolean bRFlag = false;
- if (!type.equals(Objective.Operation.ADD)) {
+ if (!type.equals(PcepFlowType.ADD)) {
// To cleanup labels, R bit is set
bRFlag = true;
}
@@ -334,13 +333,14 @@
}
//Pushes adjacency labels to the specified device.
- private void pushAdjacencyLabel(DeviceId deviceId, LabelResourceId labelId,
- PortNumber srcPortNum, PortNumber dstPortNum, Objective.Operation type) throws PcepParseException {
+ private void pushAdjacencyLabel(DeviceId deviceId, LabelResourceId labelId, IpPrefix ip4PrefixSrc,
+ IpPrefix ip4PrefixDst, PcepFlowType type)
+ throws PcepParseException {
checkNotNull(deviceId);
checkNotNull(labelId);
- checkNotNull(srcPortNum);
- checkNotNull(dstPortNum);
+ checkNotNull(ip4PrefixSrc);
+ checkNotNull(ip4PrefixDst);
checkNotNull(type);
PcepClient pc = getPcepClient(deviceId);
@@ -351,17 +351,21 @@
LinkedList<PcepLabelUpdate> labelUpdateList = new LinkedList<>();
- long srcPortNo = srcPortNum.toLong();
- long dstPortNo = dstPortNum.toLong();
- srcPortNo = ((srcPortNo & IDENTIFIER_SET) == IDENTIFIER_SET) ? srcPortNo & SET : srcPortNo;
- dstPortNo = ((dstPortNo & IDENTIFIER_SET) == IDENTIFIER_SET) ? dstPortNo & SET : dstPortNo;
+ int srcPortNo = ip4PrefixSrc.address().getIp4Address().toInt();
+ int dstPortNo = ip4PrefixDst.address().getIp4Address().toInt();
PcepFecObjectIPv4Adjacency fecAdjObject = pc.factory().buildFecIpv4Adjacency()
- .seRemoteIPv4Address((int) dstPortNo)
- .seLocalIPv4Address((int) srcPortNo)
+ .seRemoteIPv4Address(dstPortNo)
+ .seLocalIPv4Address(srcPortNo)
.build();
- PcepSrpObject srpObj = getSrpObject(pc, type, false);
+ boolean bSFlag = false;
+ if (pc.labelDbSyncStatus() == IN_SYNC) {
+ // Need to set sync flag in all messages till sync completes.
+ bSFlag = true;
+ }
+
+ PcepSrpObject srpObj = getSrpObject(pc, type, bSFlag);
//Adjacency label object
PcepLabelObject labelObject = pc.factory().buildLabelObject()
@@ -387,7 +391,7 @@
//Pushes local labels to the device which is specific to path [CR-case].
private void pushLocalLabels(DeviceId deviceId, LabelResourceId labelId,
PortNumber portNum, TunnelId tunnelId,
- Boolean isBos, Long labelType, Objective.Operation type) throws PcepParseException {
+ Boolean isBos, Long labelType, PcepFlowType type) throws PcepParseException {
checkNotNull(deviceId);
checkNotNull(labelId);
@@ -559,6 +563,31 @@
@Override
public void executeBatch(FlowRuleBatchOperation batch) {
- //TODO
+ Collection<FlowEntry> flowEntries = new ArrayList<>();
+
+ for (FlowRuleBatchEntry fbe : batch.getOperations()) {
+ Criterion criteria = fbe.target().selector().getCriterion(EXTENSION);
+
+ switch (fbe.operator()) {
+ case ADD:
+ if (criteria == null) {
+ processRule(fbe.target(), PcepFlowType.ADD);
+ flowEntries.add(new DefaultFlowEntry(fbe.target(), FlowEntryState.ADDED, 0, 0, 0));
+ }
+ break;
+ case REMOVE:
+ if (criteria == null) {
+ processRule(fbe.target(), PcepFlowType.REMOVE);
+ flowEntries.add(new DefaultFlowEntry(fbe.target(), FlowEntryState.REMOVED, 0, 0, 0));
+ }
+ break;
+ default:
+ log.error("Unknown flow operation: {}", fbe);
+ }
+ }
+
+ CompletedBatchOperation status = new CompletedBatchOperation(true, Collections.emptySet(), batch.deviceId());
+ providerService.batchOperationCompleted(batch.id(), status);
+ providerService.pushFlowMetrics(batch.deviceId(), flowEntries);
}
}
diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepAnnotationKeys.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepAnnotationKeys.java
deleted file mode 100644
index 18292b7..0000000
--- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepAnnotationKeys.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.provider.pcep.tunnel.impl;
-
-/**
- * Collection of keys for annotation for PCEP tunnels.
- */
-public final class PcepAnnotationKeys {
-
- /**
- * Prohibits instantiation.
- */
- private PcepAnnotationKeys() {
- }
-
- /**
- * Annotation key for bandwidth.
- * The value for this key is interpreted as Mbps.
- */
- public static final String BANDWIDTH = "bandwidth";
-
- /**
- * Annotation key for the LSP signaling type.
- */
- public static final String LSP_SIG_TYPE = "lspSigType";
-
- /**
- * Annotation key for the PCC tunnel id.
- */
- public static final String PCC_TUNNEL_ID = "PccTunnelId";
-
- /**
- * Annotation key for the LSP id assigned per tunnel per session.
- */
- public static final String PLSP_ID = "PLspId";
-
- /**
- * Annotation key for the LSP id assigned per tunnel.
- */
- public static final String LOCAL_LSP_ID = "localLspId";
-
- /**
- * Annotation key for the identification of initiated LSP.
- */
- public static final String PCE_INIT = "pceInit";
-
- /**
- * Annotation key for the cost type.
- */
- public static final String COST_TYPE = "costType";
-
- /**
- * Annotation key for the Delegation.
- * Whether LSPs are delegated or not
- */
- public static final String DELEGATE = "delegate";
-}
diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
index 66e7f31..8448528 100644
--- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
+++ b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
@@ -82,6 +82,7 @@
import org.onosproject.pcep.controller.PcepEventListener;
import org.onosproject.pcep.controller.PcepLspStatus;
import org.onosproject.pcep.controller.PcepLspSyncAction;
+import org.onosproject.pcep.controller.SrpIdGenerators;
import org.onosproject.pcepio.exceptions.PcepParseException;
import org.onosproject.pcepio.protocol.PcInitiatedLspRequest;
import org.onosproject.pcepio.protocol.PcepAttribute;
@@ -131,13 +132,13 @@
import static org.onosproject.pcep.api.PcepDpid.uri;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITH_SIGNALLING;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.SR_WITHOUT_SIGNALLING;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.BANDWIDTH;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LOCAL_LSP_ID;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LSP_SIG_TYPE;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.PCC_TUNNEL_ID;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.PLSP_ID;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.DELEGATE;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.COST_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.BANDWIDTH;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LOCAL_LSP_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.PCC_TUNNEL_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.PLSP_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.DELEGATE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.COST_TYPE;
import static org.onosproject.provider.pcep.tunnel.impl.RequestType.CREATE;
import static org.onosproject.provider.pcep.tunnel.impl.RequestType.DELETE;
import static org.onosproject.provider.pcep.tunnel.impl.RequestType.LSP_STATE_RPT;
diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/SrpIdGenerators.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/SrpIdGenerators.java
deleted file mode 100644
index 3e18025..0000000
--- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/SrpIdGenerators.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.provider.pcep.tunnel.impl;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.slf4j.Logger;
-
-/**
- * Unique Srp Id generator for pcep messages.
- */
-public final class SrpIdGenerators {
-
- private static final Logger log = getLogger(SrpIdGenerators.class);
- private static final AtomicInteger SRP_ID_GEN = new AtomicInteger();
- private static final int MAX_SRP_ID = 0x7FFFFFFF;
- private static int srpId;
-
- /**
- * Default constructor.
- */
- private SrpIdGenerators() {
- }
-
- /**
- * Get the next srp id.
- *
- * @return srp id
- */
- public static int create() {
- do {
- if (srpId >= MAX_SRP_ID) {
- if (SRP_ID_GEN.get() >= MAX_SRP_ID) {
- SRP_ID_GEN.set(0);
- }
- }
- srpId = SRP_ID_GEN.incrementAndGet();
- } while (srpId > MAX_SRP_ID);
- return srpId;
- }
-}
diff --git a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepReleaseTunnelProviderTest.java b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepReleaseTunnelProviderTest.java
index 22a683b..e8ed50a 100644
--- a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepReleaseTunnelProviderTest.java
+++ b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepReleaseTunnelProviderTest.java
@@ -23,7 +23,7 @@
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITH_SIGNALLING;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.SR_WITHOUT_SIGNALLING;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepSetupTunnelProviderTest.java b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepSetupTunnelProviderTest.java
index 078deb1..018f50c 100644
--- a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepSetupTunnelProviderTest.java
+++ b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepSetupTunnelProviderTest.java
@@ -23,7 +23,7 @@
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITH_SIGNALLING;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.SR_WITHOUT_SIGNALLING;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelAddedTest.java b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelAddedTest.java
index ce00b5e..537d888 100644
--- a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelAddedTest.java
+++ b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelAddedTest.java
@@ -19,12 +19,12 @@
import static org.hamcrest.core.Is.is;
import static org.onosproject.incubator.net.tunnel.Tunnel.Type.MPLS;
import static org.onosproject.incubator.net.tunnel.Tunnel.State.INIT;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.BANDWIDTH;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LOCAL_LSP_ID;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LSP_SIG_TYPE;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.PCC_TUNNEL_ID;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.PLSP_ID;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.DELEGATE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.BANDWIDTH;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LOCAL_LSP_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.PCC_TUNNEL_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.PLSP_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.DELEGATE;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR;
import static org.onosproject.pcep.controller.PcepSyncStatus.SYNCED;
import static org.onosproject.net.Device.Type.ROUTER;
diff --git a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProviderTest.java b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProviderTest.java
index e641c64..0e7fc99 100644
--- a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProviderTest.java
+++ b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProviderTest.java
@@ -20,7 +20,7 @@
import static org.hamcrest.core.IsNot.not;
import static org.onosproject.net.DefaultAnnotations.EMPTY;
import static org.onosproject.provider.pcep.tunnel.impl.LspType.WITH_SIGNALLING;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepUpdateTunnelProviderTest.java b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepUpdateTunnelProviderTest.java
index 4106dfb..2b85fdf 100644
--- a/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepUpdateTunnelProviderTest.java
+++ b/providers/pcep/tunnel/src/test/java/org/onosproject/provider/pcep/tunnel/impl/PcepUpdateTunnelProviderTest.java
@@ -20,7 +20,9 @@
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsNot.not;
import static org.onosproject.net.DefaultAnnotations.EMPTY;
-import static org.onosproject.provider.pcep.tunnel.impl.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.LOCAL_LSP_ID;
+import static org.onosproject.pcep.controller.PcepAnnotationKeys.PLSP_ID;
import java.io.IOException;
import java.util.ArrayList;
@@ -112,8 +114,8 @@
path = new DefaultPath(pid, links, 20, EMPTY);
Annotations annotations = DefaultAnnotations.builder()
- .set(PcepAnnotationKeys.PLSP_ID, "1")
- .set(PcepAnnotationKeys.LOCAL_LSP_ID, "1")
+ .set(PLSP_ID, "1")
+ .set(LOCAL_LSP_ID, "1")
.set(LSP_SIG_TYPE, WITH_SIGNALLING.name())
.build();
@@ -173,8 +175,8 @@
Annotations annotations = DefaultAnnotations.builder()
.set(LSP_SIG_TYPE, WITH_SIGNALLING.name())
- .set(PcepAnnotationKeys.PLSP_ID, "1")
- .set(PcepAnnotationKeys.LOCAL_LSP_ID, "1")
+ .set(PLSP_ID, "1")
+ .set(LOCAL_LSP_ID, "1")
.build();
tunnel = new DefaultTunnel(pid, ipTunnelEndPointSrc, ipTunnelEndPointDst, Tunnel.Type.MPLS,
@@ -233,8 +235,8 @@
Annotations annotations = DefaultAnnotations.builder()
.set(LSP_SIG_TYPE, SR_WITHOUT_SIGNALLING.name())
- .set(PcepAnnotationKeys.PLSP_ID, "1")
- .set(PcepAnnotationKeys.LOCAL_LSP_ID, "1")
+ .set(PLSP_ID, "1")
+ .set(LOCAL_LSP_ID, "1")
.build();
tunnel = new DefaultTunnel(pid, ipTunnelEndPointSrc, ipTunnelEndPointDst, Tunnel.Type.MPLS,
@@ -293,8 +295,8 @@
Annotations annotations = DefaultAnnotations.builder()
.set(LSP_SIG_TYPE, WITHOUT_SIGNALLING_AND_WITHOUT_SR.name())
- .set(PcepAnnotationKeys.PLSP_ID, "1")
- .set(PcepAnnotationKeys.LOCAL_LSP_ID, "1")
+ .set(PLSP_ID, "1")
+ .set(LOCAL_LSP_ID, "1")
.build();
tunnel = new DefaultTunnel(pid, ipTunnelEndPointSrc, ipTunnelEndPointDst, Tunnel.Type.MPLS,