diff --git a/protocols/pcep/pcepio/pom.xml b/protocols/pcep/pcepio/pom.xml
index bce857f..7b06b79 100644
--- a/protocols/pcep/pcepio/pom.xml
+++ b/protocols/pcep/pcepio/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-pcep-controller</artifactId>
+        <artifactId>onos-pcep-protocol</artifactId>
         <version>1.12.0-SNAPSHOT</version>
     </parent>
 
@@ -29,7 +29,6 @@
     <packaging>bundle</packaging>
 
     <description>ONOS Pcepio Protocol subsystem</description>
-   
 
     <dependencies>
         <dependency>
diff --git a/protocols/pcep/pom.xml b/protocols/pcep/pom.xml
index 99c0482..07b39e5 100644
--- a/protocols/pcep/pom.xml
+++ b/protocols/pcep/pom.xml
@@ -25,14 +25,13 @@
         <version>1.12.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>onos-pcep-controller</artifactId>
+    <artifactId>onos-pcep-protocol</artifactId>
     <packaging>pom</packaging>
 
     <description>ONOS Pcep Protocol subsystem</description>
 
     <modules>
-        <module>api</module>
-        <module>ctl</module>
+        <module>server</module>
         <module>pcepio</module>
     </modules>
 
diff --git a/protocols/pcep/server/BUCK b/protocols/pcep/server/BUCK
new file mode 100644
index 0000000..1835e30
--- /dev/null
+++ b/protocols/pcep/server/BUCK
@@ -0,0 +1,11 @@
+BUNDLES = [
+    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
+    '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
+]
+
+onos_app (
+  title = 'PCEP Server Module',
+  category = 'Utility',
+  url = 'http://onosproject.org',
+  included_bundles = BUNDLES,
+)
diff --git a/protocols/pcep/api/BUCK b/protocols/pcep/server/api/BUCK
similarity index 100%
rename from protocols/pcep/api/BUCK
rename to protocols/pcep/server/api/BUCK
diff --git a/protocols/pcep/api/pom.xml b/protocols/pcep/server/api/pom.xml
similarity index 94%
rename from protocols/pcep/api/pom.xml
rename to protocols/pcep/server/api/pom.xml
index 8932451..0861ad3 100644
--- a/protocols/pcep/api/pom.xml
+++ b/protocols/pcep/server/api/pom.xml
@@ -21,11 +21,11 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-pcep-controller</artifactId>
+        <artifactId>onos-pcep-server</artifactId>
         <version>1.12.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>onos-pcep-controller-api</artifactId>
+    <artifactId>onos-pcep-server-api</artifactId>
     <packaging>bundle</packaging>
 
     <description>ONOS Pcep client controller subsystem API</description>
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/ClientCapability.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/ClientCapability.java
similarity index 98%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/ClientCapability.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/ClientCapability.java
index 9356747..2a6c71a 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/ClientCapability.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/ClientCapability.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import java.util.Objects;
 
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/LspKey.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/LspKey.java
similarity index 97%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/LspKey.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/LspKey.java
index ed63ee7..2cba240 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/LspKey.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/LspKey.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import java.util.Objects;
 
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/LspType.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/LspType.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/LspType.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/LspType.java
index fae4956..6cfcd37 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/LspType.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/LspType.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * Representation of LSP type.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PccId.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PccId.java
similarity index 97%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PccId.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PccId.java
index aaa682c..9fdd605 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PccId.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PccId.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import org.onlab.packet.IpAddress;
 import org.onlab.util.Identifier;
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepAnnotationKeys.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepAnnotationKeys.java
similarity index 97%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepAnnotationKeys.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepAnnotationKeys.java
index c984d2b..bdcd35a 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepAnnotationKeys.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepAnnotationKeys.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * Collection of keys for annotation for PCEP tunnels.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepCfg.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepCfg.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepCfg.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepCfg.java
index d61d1cb..af5debf 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepCfg.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepCfg.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * PCEP peer state information.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClient.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClient.java
similarity index 98%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClient.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClient.java
index af7ffb8..cace76a 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClient.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClient.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import java.util.List;
 
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClientController.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClientController.java
similarity index 98%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClientController.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClientController.java
index 2eebe60..226944e 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClientController.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClientController.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import org.onosproject.incubator.net.tunnel.DefaultLabelStack;
 import org.onosproject.incubator.net.tunnel.LabelStack;
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClientListener.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClientListener.java
similarity index 95%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClientListener.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClientListener.java
index 93a4e03..5a0d5bc 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepClientListener.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepClientListener.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * Allows for providers interested in PCC client events to be notified.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepErrorDetail.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepErrorDetail.java
similarity index 98%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepErrorDetail.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepErrorDetail.java
index 144434d..37ea6d0 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepErrorDetail.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepErrorDetail.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import java.util.Map;
 import java.util.TreeMap;
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepErrorType.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepErrorType.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepErrorType.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepErrorType.java
index 8186bb6..8d51999 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepErrorType.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepErrorType.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * PCEP error message type information.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepEventListener.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepEventListener.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepEventListener.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepEventListener.java
index 491de69..06d49ed 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepEventListener.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepEventListener.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import org.onosproject.incubator.net.tunnel.Tunnel;
 import org.onosproject.pcepio.protocol.PcepMessage;
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepLspStatus.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepLspStatus.java
similarity index 97%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepLspStatus.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepLspStatus.java
index b237e84..9ced00a 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepLspStatus.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepLspStatus.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import org.onosproject.incubator.net.tunnel.Tunnel.State;
 
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepLspSyncAction.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepLspSyncAction.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepLspSyncAction.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepLspSyncAction.java
index cdbe539..c120df3 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepLspSyncAction.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepLspSyncAction.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * Representation of actions to be taken for LSPs on end of LSP-DB sync.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepNodeListener.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepNodeListener.java
similarity index 95%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepNodeListener.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepNodeListener.java
index 4b423ff..1bb0b95 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepNodeListener.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepNodeListener.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * Notifies providers about PCEP node events.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepPacketStats.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepPacketStats.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepPacketStats.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepPacketStats.java
index 5d714c3..5802cc5 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepPacketStats.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepPacketStats.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * The representation for PCEP packet statistics.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepSyncStatus.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepSyncStatus.java
similarity index 96%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepSyncStatus.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepSyncStatus.java
index 51b2c32..e487b95 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/PcepSyncStatus.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/PcepSyncStatus.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 /**
  * Representation of PCEP database sync status on session establishment.
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/SrpIdGenerators.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/SrpIdGenerators.java
similarity index 97%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/SrpIdGenerators.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/SrpIdGenerators.java
index 4a85ff2..8d73287 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/SrpIdGenerators.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/SrpIdGenerators.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
 
 import static org.slf4j.LoggerFactory.getLogger;
 
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepAgent.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepAgent.java
similarity index 94%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepAgent.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepAgent.java
index b9b0ff8..42f25cc 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepAgent.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepAgent.java
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.driver;
+package org.onosproject.pcep.server.driver;
 
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepClient;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepClient;
 import org.onosproject.pcepio.protocol.PcepMessage;
 
 /**
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepClientDriver.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepClientDriver.java
similarity index 92%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepClientDriver.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepClientDriver.java
index 4ac9d4a..58fc33f 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepClientDriver.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepClientDriver.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.driver;
+package org.onosproject.pcep.server.driver;
 
 import org.jboss.netty.channel.Channel;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepPacketStats;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepPacketStats;
 import org.onosproject.pcepio.protocol.PcepVersion;
 
 
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepClientDriverFactory.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepClientDriverFactory.java
similarity index 95%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepClientDriverFactory.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepClientDriverFactory.java
index 734f508..46e04ff 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/PcepClientDriverFactory.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/PcepClientDriverFactory.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.driver;
+package org.onosproject.pcep.server.driver;
 
 import org.onlab.packet.IpAddress;
 import org.onosproject.pcepio.protocol.PcepVersion;
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/package-info.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/package-info.java
similarity index 92%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/package-info.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/package-info.java
index c6bee47..6e542e7 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/driver/package-info.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/driver/package-info.java
@@ -17,4 +17,4 @@
 /**
  * PCEP client controller driver API.
  */
-package org.onosproject.pcep.controller.driver;
+package org.onosproject.pcep.server.driver;
diff --git a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/package-info.java b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/package-info.java
similarity index 93%
rename from protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/package-info.java
rename to protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/package-info.java
index 753952b..8ed1233 100644
--- a/protocols/pcep/api/src/main/java/org/onosproject/pcep/controller/package-info.java
+++ b/protocols/pcep/server/api/src/main/java/org/onosproject/pcep/server/package-info.java
@@ -17,4 +17,4 @@
 /**
  * PCEP client controller API.
  */
-package org.onosproject.pcep.controller;
+package org.onosproject.pcep.server;
diff --git a/protocols/pcep/ctl/BUCK b/protocols/pcep/server/ctl/BUCK
similarity index 84%
rename from protocols/pcep/ctl/BUCK
rename to protocols/pcep/server/ctl/BUCK
index 9eb1a8c..e247e20 100644
--- a/protocols/pcep/ctl/BUCK
+++ b/protocols/pcep/server/ctl/BUCK
@@ -5,7 +5,7 @@
     '//lib:KRYO',
     '//incubator/api:onos-incubator-api',
     '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-    '//protocols/pcep/api:onos-protocols-pcep-api',
+    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
     '//core/store/serializers:onos-core-serializers',
     '//apps/pcep-api:onos-apps-pcep-api',
     '//lib:netty',
diff --git a/protocols/pcep/ctl/pom.xml b/protocols/pcep/server/ctl/pom.xml
similarity index 92%
rename from protocols/pcep/ctl/pom.xml
rename to protocols/pcep/server/ctl/pom.xml
index 269117a..69b62fd 100644
--- a/protocols/pcep/ctl/pom.xml
+++ b/protocols/pcep/server/ctl/pom.xml
@@ -20,11 +20,11 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-pcep-controller</artifactId>
+        <artifactId>onos-pcep-server</artifactId>
         <version>1.12.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>onos-pcep-controller-impl</artifactId>
+    <artifactId>onos-pcep-server-impl</artifactId>
     <packaging>bundle</packaging>
 
     <description>ONOS PCEP client controller subsystem API implementation</description>
@@ -32,7 +32,7 @@
     <dependencies>
         <dependency>
             <groupId>org.onosproject</groupId>
-            <artifactId>onos-pcep-controller-api</artifactId>
+            <artifactId>onos-pcep-server-api</artifactId>
         </dependency>
         <dependency>
             <groupId>io.netty</groupId>
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfo.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfo.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfo.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfo.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/DistributedPceLabelStore.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/PcepLabelOp.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/PcepLabelOp.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/PcepLabelOp.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/PcepLabelOp.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/api/LspLocalLabelInfo.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/api/LspLocalLabelInfo.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/api/LspLocalLabelInfo.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/api/LspLocalLabelInfo.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/api/PceLabelStore.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/api/PceLabelStore.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/api/PceLabelStore.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/api/PceLabelStore.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/api/package-info.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/api/package-info.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/api/package-info.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/api/package-info.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/package-info.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/package-info.java
similarity index 100%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcelabelstore/package-info.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcelabelstore/package-info.java
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/BasicPceccHandler.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/BasicPceccHandler.java
similarity index 97%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/BasicPceccHandler.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/BasicPceccHandler.java
index dae8a1c..c547b35 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/BasicPceccHandler.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/BasicPceccHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
@@ -40,12 +40,12 @@
 import org.onosproject.pcelabelstore.PcepLabelOp;
 import org.onosproject.pcelabelstore.api.LspLocalLabelInfo;
 import org.onosproject.pcelabelstore.api.PceLabelStore;
-import org.onosproject.pcep.controller.LspType;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepAnnotationKeys;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepClientController;
-import org.onosproject.pcep.controller.SrpIdGenerators;
+import org.onosproject.pcep.server.LspType;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepAnnotationKeys;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepClientController;
+import org.onosproject.pcep.server.SrpIdGenerators;
 import org.onosproject.pcepio.exceptions.PcepParseException;
 import org.onosproject.pcepio.protocol.PcepAttribute;
 import org.onosproject.pcepio.protocol.PcepBandwidthObject;
@@ -73,10 +73,10 @@
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Multimap;
 
-import static org.onosproject.pcep.controller.PcepAnnotationKeys.BANDWIDTH;
-import static org.onosproject.pcep.controller.PcepAnnotationKeys.LSP_SIG_TYPE;
-import static org.onosproject.pcep.controller.PcepAnnotationKeys.PCE_INIT;
-import static org.onosproject.pcep.controller.PcepAnnotationKeys.DELEGATE;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.BANDWIDTH;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.PCE_INIT;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.DELEGATE;
 
 /**
  * Basic PCECC handler.
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/Controller.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java
similarity index 96%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/Controller.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java
index efe4175..c85e22a 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/Controller.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import static org.onlab.util.Tools.groupedThreads;
 
@@ -32,11 +32,11 @@
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.channel.group.DefaultChannelGroup;
 import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepCfg;
-import org.onosproject.pcep.controller.PcepPacketStats;
-import org.onosproject.pcep.controller.driver.PcepAgent;
-import org.onosproject.pcep.controller.driver.PcepClientDriver;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepCfg;
+import org.onosproject.pcep.server.PcepPacketStats;
+import org.onosproject.pcep.server.driver.PcepAgent;
+import org.onosproject.pcep.server.driver.PcepClientDriver;
 import org.onosproject.pcepio.protocol.PcepFactories;
 import org.onosproject.pcepio.protocol.PcepFactory;
 import org.onosproject.pcepio.protocol.PcepVersion;
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/LabelType.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/LabelType.java
similarity index 95%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/LabelType.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/LabelType.java
index 6bfd4c7..ca7cc7c 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/LabelType.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/LabelType.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 /**
  * Describes about Label type.
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PceccSrTeBeHandler.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PceccSrTeBeHandler.java
similarity index 97%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PceccSrTeBeHandler.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PceccSrTeBeHandler.java
index 851b0fb..8d50149 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PceccSrTeBeHandler.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PceccSrTeBeHandler.java
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onosproject.pcep.controller.PcepSyncStatus.IN_SYNC;
-import static org.onosproject.pcep.controller.PcepSyncStatus.SYNCED;
+import static org.onosproject.pcep.server.PcepSyncStatus.IN_SYNC;
+import static org.onosproject.pcep.server.PcepSyncStatus.SYNCED;
 
 import java.util.Collection;
 import java.util.Iterator;
@@ -42,10 +42,10 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.Link;
 import org.onosproject.net.Path;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepClientController;
-import org.onosproject.pcep.controller.SrpIdGenerators;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepClientController;
+import org.onosproject.pcep.server.SrpIdGenerators;
 import org.onosproject.pcepio.exceptions.PcepParseException;
 import org.onosproject.pcepio.protocol.PcepFecObjectIPv4;
 import org.onosproject.pcepio.protocol.PcepFecObjectIPv4Adjacency;
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepChannelHandler.java
similarity index 98%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepChannelHandler.java
index dce864b..dce5fa0 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepChannelHandler.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -38,10 +38,10 @@
 import org.jboss.netty.handler.timeout.IdleStateHandler;
 import org.jboss.netty.handler.timeout.ReadTimeoutException;
 import org.onlab.packet.IpAddress;
-import org.onosproject.pcep.controller.ClientCapability;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepCfg;
-import org.onosproject.pcep.controller.driver.PcepClientDriver;
+import org.onosproject.pcep.server.ClientCapability;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepCfg;
+import org.onosproject.pcep.server.driver.PcepClientDriver;
 import org.onosproject.pcepio.exceptions.PcepParseException;
 import org.onosproject.pcepio.protocol.PcepError;
 import org.onosproject.pcepio.protocol.PcepErrorInfo;
@@ -63,7 +63,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.onosproject.pcep.controller.PcepSyncStatus.NOT_SYNCED;
+import static org.onosproject.pcep.server.PcepSyncStatus.NOT_SYNCED;
 
 /**
  * Channel handler deals with the pcc client connection and dispatches
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java
similarity index 96%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java
index 27c211d..2ddc819 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientControllerImpl.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import java.util.Map;
 import java.util.TreeMap;
@@ -68,17 +68,17 @@
 import org.onosproject.pcelabelstore.PcepLabelOp;
 import org.onosproject.pcelabelstore.api.PceLabelStore;
 import org.onosproject.pcep.api.DeviceCapability;
-import org.onosproject.pcep.controller.LspKey;
-import org.onosproject.pcep.controller.LspType;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepClientController;
-import org.onosproject.pcep.controller.PcepClientListener;
-import org.onosproject.pcep.controller.PcepEventListener;
-import org.onosproject.pcep.controller.PcepLspStatus;
-import org.onosproject.pcep.controller.PcepNodeListener;
-import org.onosproject.pcep.controller.SrpIdGenerators;
-import org.onosproject.pcep.controller.driver.PcepAgent;
+import org.onosproject.pcep.server.LspKey;
+import org.onosproject.pcep.server.LspType;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepClientController;
+import org.onosproject.pcep.server.PcepClientListener;
+import org.onosproject.pcep.server.PcepEventListener;
+import org.onosproject.pcep.server.PcepLspStatus;
+import org.onosproject.pcep.server.PcepNodeListener;
+import org.onosproject.pcep.server.SrpIdGenerators;
+import org.onosproject.pcep.server.driver.PcepAgent;
 import org.onosproject.pcepio.exceptions.PcepParseException;
 import org.onosproject.pcepio.protocol.PcInitiatedLspRequest;
 import org.onosproject.pcepio.protocol.PcepError;
@@ -106,24 +106,24 @@
 import com.google.common.collect.Sets;
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import static org.onosproject.pcep.controller.PcepSyncStatus.IN_SYNC;
-import static org.onosproject.pcep.controller.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR;
-import static org.onosproject.pcep.controller.LspType.WITH_SIGNALLING;
-import static org.onosproject.pcep.controller.PcepLspSyncAction.REMOVE;
-import static org.onosproject.pcep.controller.PcepLspSyncAction.SEND_UPDATE;
-import static org.onosproject.pcep.controller.PcepLspSyncAction.UNSTABLE;
+import static org.onosproject.pcep.server.PcepSyncStatus.IN_SYNC;
+import static org.onosproject.pcep.server.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR;
+import static org.onosproject.pcep.server.LspType.WITH_SIGNALLING;
+import static org.onosproject.pcep.server.PcepLspSyncAction.REMOVE;
+import static org.onosproject.pcep.server.PcepLspSyncAction.SEND_UPDATE;
+import static org.onosproject.pcep.server.PcepLspSyncAction.UNSTABLE;
 import static org.onosproject.pcepio.types.PcepErrorDetailInfo.ERROR_TYPE_19;
 import static org.onosproject.pcepio.types.PcepErrorDetailInfo.ERROR_VALUE_5;
-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.PCE_INIT;
-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.pcep.controller.PcepSyncStatus.SYNCED;
-import static org.onosproject.pcep.controller.PcepSyncStatus.NOT_SYNCED;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.BANDWIDTH;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.LOCAL_LSP_ID;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.LSP_SIG_TYPE;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.PCC_TUNNEL_ID;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.PCE_INIT;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.PLSP_ID;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.DELEGATE;
+import static org.onosproject.pcep.server.PcepAnnotationKeys.COST_TYPE;
+import static org.onosproject.pcep.server.PcepSyncStatus.SYNCED;
+import static org.onosproject.pcep.server.PcepSyncStatus.NOT_SYNCED;
 
 /**
  * Implementation of PCEP client controller.
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientImpl.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientImpl.java
similarity index 94%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientImpl.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientImpl.java
index 49ea507..7e52c19 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientImpl.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepClientImpl.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
@@ -27,14 +27,14 @@
 
 import org.jboss.netty.channel.Channel;
 import org.onlab.packet.IpAddress;
-import org.onosproject.pcep.controller.ClientCapability;
-import org.onosproject.pcep.controller.LspKey;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepPacketStats;
-import org.onosproject.pcep.controller.PcepSyncStatus;
-import org.onosproject.pcep.controller.driver.PcepAgent;
-import org.onosproject.pcep.controller.driver.PcepClientDriver;
+import org.onosproject.pcep.server.ClientCapability;
+import org.onosproject.pcep.server.LspKey;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepPacketStats;
+import org.onosproject.pcep.server.PcepSyncStatus;
+import org.onosproject.pcep.server.driver.PcepAgent;
+import org.onosproject.pcep.server.driver.PcepClientDriver;
 import org.onosproject.pcepio.protocol.PcepFactories;
 import org.onosproject.pcepio.protocol.PcepFactory;
 import org.onosproject.pcepio.protocol.PcepMessage;
@@ -132,7 +132,7 @@
     @Override
     public final void setConnected(boolean connected) {
         this.connected = connected;
-    }
+    };
 
     @Override
     public final void setChannel(Channel channel) {
@@ -147,7 +147,7 @@
                 channelId = '[' + ipAddress.toString() + "]:" + inetAddress.getPort();
             }
         }
-    }
+    };
 
     @Override
     public String channelId() {
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepConfig.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepConfig.java
similarity index 88%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepConfig.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepConfig.java
index 5a7dda9..e6b5fe1 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepConfig.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepConfig.java
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepCfg;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepCfg;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepControllerImpl.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java
similarity index 98%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepControllerImpl.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java
index ebc7f2f..8d9bc23 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepControllerImpl.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepControllerImpl.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import com.google.common.collect.Sets;
 
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepMessageDecoder.java
similarity index 98%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepMessageDecoder.java
index 660f2d8..2c21b73 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepMessageDecoder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import java.util.LinkedList;
 import java.util.List;
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageEncoder.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepMessageEncoder.java
similarity index 97%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageEncoder.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepMessageEncoder.java
index 7fd9c99..4c26f88 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageEncoder.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepMessageEncoder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import java.util.List;
 
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepPacketStatsImpl.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepPacketStatsImpl.java
similarity index 95%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepPacketStatsImpl.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepPacketStatsImpl.java
index e53d97c..1659247 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepPacketStatsImpl.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepPacketStatsImpl.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
-import org.onosproject.pcep.controller.PcepPacketStats;
+import org.onosproject.pcep.server.PcepPacketStats;
 
 /**
  * The implementation for PCEP packet statistics.
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepPipelineFactory.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepPipelineFactory.java
similarity index 97%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepPipelineFactory.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepPipelineFactory.java
index 12603f5..f1932e9 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepPipelineFactory.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/PcepPipelineFactory.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
 
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/package-info.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/package-info.java
similarity index 93%
rename from protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/package-info.java
rename to protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/package-info.java
index 6f45c16..4fd2660 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/package-info.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Implementation of the PCEP client controller subsystem.
  */
-package org.onosproject.pcep.controller.impl;
+package org.onosproject.pcep.server.impl;
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfoTest.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfoTest.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfoTest.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/DefaultLspLocalLabelInfoTest.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/DistributedPceLabelStoreTest.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/DistributedPceLabelStoreTest.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/DistributedPceLabelStoreTest.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/DistributedPceLabelStoreTest.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/label/BasicPceccHandlerTest.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/label/BasicPceccHandlerTest.java
similarity index 98%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/label/BasicPceccHandlerTest.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/label/BasicPceccHandlerTest.java
index f918b1c..201b701 100644
--- a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/label/BasicPceccHandlerTest.java
+++ b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/label/BasicPceccHandlerTest.java
@@ -53,8 +53,8 @@
 import org.onosproject.pcelabelstore.util.LabelResourceAdapter;
 import org.onosproject.pcelabelstore.util.MockDeviceService;
 import org.onosproject.pcelabelstore.util.PceLabelStoreAdapter;
-import org.onosproject.pcep.controller.impl.BasicPceccHandler;
-import org.onosproject.pcep.controller.impl.PcepClientControllerImpl;
+import org.onosproject.pcep.server.impl.BasicPceccHandler;
+import org.onosproject.pcep.server.impl.PcepClientControllerImpl;
 import org.onosproject.net.DefaultLink;
 import org.onosproject.net.Link;
 
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/label/PceccSrTeBeHandlerTest.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/label/PceccSrTeBeHandlerTest.java
similarity index 99%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/label/PceccSrTeBeHandlerTest.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/label/PceccSrTeBeHandlerTest.java
index 20bd5a4..38ea63a 100644
--- a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/label/PceccSrTeBeHandlerTest.java
+++ b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/label/PceccSrTeBeHandlerTest.java
@@ -51,8 +51,8 @@
 import org.onosproject.pcelabelstore.util.PceLabelStoreAdapter;
 import org.onosproject.pcelabelstore.util.PcepClientAdapter;
 import org.onosproject.pcep.api.DeviceCapability;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.impl.PceccSrTeBeHandler;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.impl.PceccSrTeBeHandler;
 import org.onosproject.pcepio.protocol.PcepVersion;
 import org.onosproject.net.DefaultLink;
 import org.onosproject.net.Link;
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/ConsistentMapAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/ConsistentMapAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/ConsistentMapAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/ConsistentMapAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/DistributedSetAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/DistributedSetAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/DistributedSetAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/DistributedSetAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/EventuallyConsistentMapAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/EventuallyConsistentMapAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/EventuallyConsistentMapAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/EventuallyConsistentMapAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/LabelResourceAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/LabelResourceAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/LabelResourceAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/LabelResourceAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockDeviceService.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockDeviceService.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockDeviceService.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockDeviceService.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockNetConfigRegistryAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockNetConfigRegistryAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockNetConfigRegistryAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockNetConfigRegistryAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockPcepClientController.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockPcepClientController.java
similarity index 91%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockPcepClientController.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockPcepClientController.java
index 08a314e..07bf81c 100644
--- a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockPcepClientController.java
+++ b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/MockPcepClientController.java
@@ -21,12 +21,12 @@
 import org.onosproject.incubator.net.tunnel.LabelStack;
 import org.onosproject.incubator.net.tunnel.Tunnel;
 import org.onosproject.net.Path;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepClientController;
-import org.onosproject.pcep.controller.PcepClientListener;
-import org.onosproject.pcep.controller.PcepEventListener;
-import org.onosproject.pcep.controller.PcepNodeListener;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepClientController;
+import org.onosproject.pcep.server.PcepClientListener;
+import org.onosproject.pcep.server.PcepEventListener;
+import org.onosproject.pcep.server.PcepNodeListener;
 import org.onosproject.pcepio.protocol.PcepMessage;
 import org.onosproject.pcepio.types.PcepValueType;
 
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/PceLabelStoreAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/PceLabelStoreAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/PceLabelStoreAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/PceLabelStoreAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/PcepClientAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/PcepClientAdapter.java
similarity index 94%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/PcepClientAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/PcepClientAdapter.java
index 91e58ec..7ab16ef 100644
--- a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/PcepClientAdapter.java
+++ b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/PcepClientAdapter.java
@@ -23,11 +23,11 @@
 import java.util.concurrent.RejectedExecutionException;
 
 import org.jboss.netty.channel.Channel;
-import org.onosproject.pcep.controller.ClientCapability;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.LspKey;
-import org.onosproject.pcep.controller.PcepClient;
-import org.onosproject.pcep.controller.PcepSyncStatus;
+import org.onosproject.pcep.server.ClientCapability;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.LspKey;
+import org.onosproject.pcep.server.PcepClient;
+import org.onosproject.pcep.server.PcepSyncStatus;
 import org.onosproject.pcepio.protocol.PcepFactories;
 import org.onosproject.pcepio.protocol.PcepFactory;
 import org.onosproject.pcepio.protocol.PcepMessage;
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/StorageServiceAdapter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/StorageServiceAdapter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/StorageServiceAdapter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/StorageServiceAdapter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestAtomicCounter.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestAtomicCounter.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestAtomicCounter.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestAtomicCounter.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestConsistentMap.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestConsistentMap.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestConsistentMap.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestConsistentMap.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestDistributedSet.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestDistributedSet.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestDistributedSet.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestDistributedSet.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestEventuallyConsistentMap.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestEventuallyConsistentMap.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestEventuallyConsistentMap.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestEventuallyConsistentMap.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestStorageService.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestStorageService.java
similarity index 100%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestStorageService.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcelabelstore/util/TestStorageService.java
diff --git a/protocols/pcep/ctl/src/test/java/org/onosproject/pcep/controller/impl/PcepClientControllerImplTest.java b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcep/controller/impl/PcepClientControllerImplTest.java
similarity index 92%
rename from protocols/pcep/ctl/src/test/java/org/onosproject/pcep/controller/impl/PcepClientControllerImplTest.java
rename to protocols/pcep/server/ctl/src/test/java/org/onosproject/pcep/controller/impl/PcepClientControllerImplTest.java
index a4ba2bb..73ff8d6 100644
--- a/protocols/pcep/ctl/src/test/java/org/onosproject/pcep/controller/impl/PcepClientControllerImplTest.java
+++ b/protocols/pcep/server/ctl/src/test/java/org/onosproject/pcep/controller/impl/PcepClientControllerImplTest.java
@@ -16,8 +16,8 @@
 
 package org.onosproject.pcep.controller.impl;
 
-import static org.onosproject.pcep.controller.PcepLspSyncAction.SEND_UPDATE;
-import static org.onosproject.pcep.controller.PcepLspSyncAction.UNSTABLE;
+import static org.onosproject.pcep.server.PcepLspSyncAction.SEND_UPDATE;
+import static org.onosproject.pcep.server.PcepLspSyncAction.UNSTABLE;
 
 import java.net.SocketAddress;
 import java.util.ArrayList;
@@ -52,12 +52,16 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.ElementId;
 import org.onosproject.net.Path;
-import org.onosproject.pcep.controller.ClientCapability;
-import org.onosproject.pcep.controller.PccId;
-import org.onosproject.pcep.controller.PcepEventListener;
-import org.onosproject.pcep.controller.PcepLspSyncAction;
-import org.onosproject.pcep.controller.PcepPacketStats;
-import org.onosproject.pcep.controller.PcepSyncStatus;
+import org.onosproject.pcep.server.ClientCapability;
+import org.onosproject.pcep.server.PccId;
+import org.onosproject.pcep.server.PcepEventListener;
+import org.onosproject.pcep.server.PcepLspSyncAction;
+import org.onosproject.pcep.server.PcepPacketStats;
+import org.onosproject.pcep.server.PcepSyncStatus;
+import org.onosproject.pcep.server.driver.PcepAgent;
+import org.onosproject.pcep.server.impl.PcepClientControllerImpl;
+import org.onosproject.pcep.server.impl.PcepClientImpl;
+import org.onosproject.pcep.server.impl.PcepPacketStatsImpl;
 import org.onosproject.pcepio.exceptions.PcepOutOfBoundMessageException;
 import org.onosproject.pcepio.exceptions.PcepParseException;
 import org.onosproject.pcepio.protocol.PcepFactories;
@@ -71,14 +75,14 @@
 import static org.hamcrest.core.Is.is;
 
 public class PcepClientControllerImplTest {
-    PcepClientControllerImpl controllerImpl = new PcepClientControllerImpl();
+    TestPcepClientControllerImpl controllerImpl = new TestPcepClientControllerImpl();
     TunnelService tunnelService = new MockTunnelService();
     private PcepEventListener listener;
     private Channel channel;
 
     @Before
     public void startUp() {
-        controllerImpl.tunnelService = tunnelService;
+        controllerImpl.setTunnelService(tunnelService);
         listener = new PcepEventListenerAdapter();
         controllerImpl.addEventListener(listener);
         channel = new MockChannel();
@@ -88,7 +92,7 @@
     public void tearDown() {
         controllerImpl.removeEventListener(listener);
         listener = null;
-        controllerImpl.tunnelService = null;
+        controllerImpl.setTunnelService(null);
     }
 
     @Test
@@ -121,11 +125,11 @@
 
         pc.init(pccId, PcepVersion.PCEP_1, pktStats);
         pc.setChannel(channel);
-        pc.setAgent(controllerImpl.agent);
+        pc.setAgent(controllerImpl.agent());
         pc.setConnected(true);
         pc.setCapability(new ClientCapability(true, true, true, true, true));
 
-        controllerImpl.agent.addConnectedClient(pccId, pc);
+        controllerImpl.agent().addConnectedClient(pccId, pc);
         controllerImpl.processClientMessage(pccId, message);
 
         pc.setLspDbSyncStatus(PcepSyncStatus.SYNCED);
@@ -170,11 +174,11 @@
 
         pc.init(pccId, PcepVersion.PCEP_1, pktStats);
         pc.setChannel(channel);
-        pc.setAgent(controllerImpl.agent);
+        pc.setAgent(controllerImpl.agent());
         pc.setConnected(true);
         pc.setCapability(new ClientCapability(true, true, true, true, true));
 
-        controllerImpl.agent.addConnectedClient(pccId, pc);
+        controllerImpl.agent().addConnectedClient(pccId, pc);
         controllerImpl.processClientMessage(pccId, message);
 
         pc.setLspDbSyncStatus(PcepSyncStatus.SYNCED);
@@ -538,4 +542,14 @@
             return null;
         }
     }
+
+    private class TestPcepClientControllerImpl extends PcepClientControllerImpl {
+        public void setTunnelService(TunnelService tunnelService) {
+            this.tunnelService = tunnelService;
+        }
+
+        public PcepAgent agent() {
+            return this.agent;
+        }
+    }
 }
diff --git a/protocols/pcep/server/pom.xml b/protocols/pcep/server/pom.xml
new file mode 100755
index 0000000..4ee228c
--- /dev/null
+++ b/protocols/pcep/server/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onos-pcep-protocol</artifactId>
+        <version>1.12.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>onos-pcep-server</artifactId>
+    <packaging>pom</packaging>
+
+    <description>ONOS Pcep Server Protocol subsystem</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+        </dependency>
+    </dependencies>
+
+    <modules>
+        <module>api</module>
+        <module>ctl</module>
+    </modules>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
