PCEP modificaton to support PCEP-LS

Change-Id: Ic829dd17b0398ad76ec412b4e8293de564b5b56b
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AdministrativeGroupSubTlvTest.java
similarity index 72%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AdministrativeGroupSubTlvTest.java
index 5f10b4c..2ec8b4a 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AdministrativeGroupSubTlvTest.java
@@ -19,13 +19,12 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4NeighborAddressTlv.
+ * Test of the AdministrativeGroupSubTlv.
  */
-public class IPv4NeighborAddressTlvTest {
-
-    private final IPv4NeighborAddressTlv tlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv sameAsTlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv tlv2 = IPv4NeighborAddressTlv.of(3);
+public class AdministrativeGroupSubTlvTest {
+    private final AdministrativeGroupSubTlv tlv1 = AdministrativeGroupSubTlv.of(1);
+    private final AdministrativeGroupSubTlv sameAsTlv1 = AdministrativeGroupSubTlv.of(1);
+    private final AdministrativeGroupSubTlv tlv2 = AdministrativeGroupSubTlv.of(2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AdministrativeGroupTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AdministrativeGroupTlvTest.java
deleted file mode 100644
index 41e8844..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AdministrativeGroupTlvTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the AdministrativeGroupTlv.
- */
-public class AdministrativeGroupTlvTest {
-    private final AdministrativeGroupTlv tlv1 = AdministrativeGroupTlv.of(1);
-    private final AdministrativeGroupTlv sameAsTlv1 = AdministrativeGroupTlv.of(1);
-    private final AdministrativeGroupTlv tlv2 = AdministrativeGroupTlv.of(2);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemNumberSubObjectTest.java
similarity index 61%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemNumberSubObjectTest.java
index 4e022b8..83bb86f 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemNumberSubObjectTest.java
@@ -19,21 +19,19 @@
 import org.junit.Test;
 
 /**
- * Test of the MaximumLinkBandwidthTlv.
+ * Test of the AutonomousSystemNumberSubObject.
  */
-public class MaximumLinkBandwidthTlvTest {
-    private final int rawValue1 = 0x0A;
-    private final int rawValue2 = 0x0B;
+public class AutonomousSystemNumberSubObjectTest {
 
-    private final MaximumLinkBandwidthTlv tlv1 = new MaximumLinkBandwidthTlv(rawValue1);
-    private final MaximumLinkBandwidthTlv sameAsTlv1 = new MaximumLinkBandwidthTlv(rawValue1);
-    private final MaximumLinkBandwidthTlv tlv2 = MaximumLinkBandwidthTlv.of(rawValue2);
+    private final AutonomousSystemNumberSubObject subObj1 = AutonomousSystemNumberSubObject.of((short) 2);
+    private final AutonomousSystemNumberSubObject sameAsSubObj1 = AutonomousSystemNumberSubObject.of((short) 2);
+    private final AutonomousSystemNumberSubObject subObj2 = AutonomousSystemNumberSubObject.of((short) 3);
 
     @Test
     public void basics() {
         new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
+        .addEqualityGroup(subObj1, sameAsSubObj1)
+        .addEqualityGroup(subObj2)
         .testEquals();
     }
 }
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemSubTlvTest.java
similarity index 73%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemSubTlvTest.java
index 5f10b4c..a959af7 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemSubTlvTest.java
@@ -19,13 +19,12 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4NeighborAddressTlv.
+ * Test of the AutonomousSystemSubTlv.
  */
-public class IPv4NeighborAddressTlvTest {
-
-    private final IPv4NeighborAddressTlv tlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv sameAsTlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv tlv2 = IPv4NeighborAddressTlv.of(3);
+public class AutonomousSystemSubTlvTest {
+    private final AutonomousSystemSubTlv tlv1 = AutonomousSystemSubTlv.of(1);
+    private final AutonomousSystemSubTlv sameAsTlv1 = AutonomousSystemSubTlv.of(1);
+    private final AutonomousSystemSubTlv tlv2 = AutonomousSystemSubTlv.of(2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/BgpLsIdentifierSubTlvTest.java
similarity index 74%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/BgpLsIdentifierSubTlvTest.java
index 904a71e..222c468 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/AutonomousSystemTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/BgpLsIdentifierSubTlvTest.java
@@ -19,12 +19,12 @@
 import org.junit.Test;
 
 /**
- * Test of the AutonomousSystemTlv.
+ * Test of the BgpLsIdentifierSubTlv.
  */
-public class AutonomousSystemTlvTest {
-    private final AutonomousSystemTlv tlv1 = AutonomousSystemTlv.of(1);
-    private final AutonomousSystemTlv sameAsTlv1 = AutonomousSystemTlv.of(1);
-    private final AutonomousSystemTlv tlv2 = AutonomousSystemTlv.of(2);
+public class BgpLsIdentifierSubTlvTest {
+    private final BgpLsIdentifierSubTlv tlv1 = BgpLsIdentifierSubTlv.of(1);
+    private final BgpLsIdentifierSubTlv sameAsTlv1 = BgpLsIdentifierSubTlv.of(1);
+    private final BgpLsIdentifierSubTlv tlv2 = BgpLsIdentifierSubTlv.of(2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/BgpLsIdentifierTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/BgpLsIdentifierTlvTest.java
deleted file mode 100644
index 78137a7..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/BgpLsIdentifierTlvTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the BGPLSidentifierTlv.
- */
-public class BgpLsIdentifierTlvTest {
-    private final BgpLsIdentifierTlv tlv1 = BgpLsIdentifierTlv.of(1);
-    private final BgpLsIdentifierTlv sameAsTlv1 = BgpLsIdentifierTlv.of(1);
-    private final BgpLsIdentifierTlv tlv2 = BgpLsIdentifierTlv.of(2);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4InterfaceAddressSubTlvTest.java
similarity index 71%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4InterfaceAddressSubTlvTest.java
index 5f10b4c..40574a9 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4InterfaceAddressSubTlvTest.java
@@ -19,13 +19,13 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4NeighborAddressTlv.
+ * Test of the IPv4InterfaceAddressSubTlv.
  */
-public class IPv4NeighborAddressTlvTest {
+public class IPv4InterfaceAddressSubTlvTest {
 
-    private final IPv4NeighborAddressTlv tlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv sameAsTlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv tlv2 = IPv4NeighborAddressTlv.of(3);
+    private final IPv4InterfaceAddressSubTlv tlv1 = IPv4InterfaceAddressSubTlv.of(2);
+    private final IPv4InterfaceAddressSubTlv sameAsTlv1 = IPv4InterfaceAddressSubTlv.of(2);
+    private final IPv4InterfaceAddressSubTlv tlv2 = IPv4InterfaceAddressSubTlv.of(3);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4InterfaceAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4InterfaceAddressTlvTest.java
deleted file mode 100644
index eb3a16a..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4InterfaceAddressTlvTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the IPv4InterfaceAddressTlv.
- */
-public class IPv4InterfaceAddressTlvTest {
-
-    private final IPv4InterfaceAddressTlv tlv1 = IPv4InterfaceAddressTlv.of(2);
-    private final IPv4InterfaceAddressTlv sameAsTlv1 = IPv4InterfaceAddressTlv.of(2);
-    private final IPv4InterfaceAddressTlv tlv2 = IPv4InterfaceAddressTlv.of(3);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressSubTlvTest.java
similarity index 72%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressSubTlvTest.java
index 5f10b4c..b0d8e2a 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4NeighborAddressSubTlvTest.java
@@ -19,13 +19,13 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4NeighborAddressTlv.
+ * Test of the IPv4NeighborAddressSubTlv.
  */
-public class IPv4NeighborAddressTlvTest {
+public class IPv4NeighborAddressSubTlvTest {
 
-    private final IPv4NeighborAddressTlv tlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv sameAsTlv1 = IPv4NeighborAddressTlv.of(2);
-    private final IPv4NeighborAddressTlv tlv2 = IPv4NeighborAddressTlv.of(3);
+    private final IPv4NeighborAddressSubTlv tlv1 = IPv4NeighborAddressSubTlv.of(2);
+    private final IPv4NeighborAddressSubTlv sameAsTlv1 = IPv4NeighborAddressSubTlv.of(2);
+    private final IPv4NeighborAddressSubTlv tlv2 = IPv4NeighborAddressSubTlv.of(3);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4RouterIdOfLocalNodeSubTlvTest.java
similarity index 70%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4RouterIdOfLocalNodeSubTlvTest.java
index f40ede0..89e1878 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4RouterIdOfLocalNodeSubTlvTest.java
@@ -19,13 +19,13 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4TERouterIdOfRemoteNodeTlv.
+ * Test of the IPv4RouterIdOfLocalNodeSubTlv.
  */
-public class IPv4TERouterIdOfRemoteNodeTlvTest {
+public class IPv4RouterIdOfLocalNodeSubTlvTest {
 
-    private final IPv4TERouterIdOfRemoteNodeTlv tlv1 = IPv4TERouterIdOfRemoteNodeTlv.of(2);
-    private final IPv4TERouterIdOfRemoteNodeTlv sameAsTlv1 = IPv4TERouterIdOfRemoteNodeTlv.of(2);
-    private final IPv4TERouterIdOfRemoteNodeTlv tlv2 = IPv4TERouterIdOfRemoteNodeTlv.of(3);
+    private final IPv4RouterIdOfLocalNodeSubTlv tlv1 = IPv4RouterIdOfLocalNodeSubTlv.of(2);
+    private final IPv4RouterIdOfLocalNodeSubTlv sameAsTlv1 = IPv4RouterIdOfLocalNodeSubTlv.of(2);
+    private final IPv4RouterIdOfLocalNodeSubTlv tlv2 = IPv4RouterIdOfLocalNodeSubTlv.of(3);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4RouterIdOfRemoteNodeSubTlvTest.java
similarity index 70%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4RouterIdOfRemoteNodeSubTlvTest.java
index f40ede0..778d227 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4RouterIdOfRemoteNodeSubTlvTest.java
@@ -19,13 +19,13 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4TERouterIdOfRemoteNodeTlv.
+ * Test of the IPv4RouterIdOfRemoteNodeSubTlv.
  */
-public class IPv4TERouterIdOfRemoteNodeTlvTest {
+public class IPv4RouterIdOfRemoteNodeSubTlvTest {
 
-    private final IPv4TERouterIdOfRemoteNodeTlv tlv1 = IPv4TERouterIdOfRemoteNodeTlv.of(2);
-    private final IPv4TERouterIdOfRemoteNodeTlv sameAsTlv1 = IPv4TERouterIdOfRemoteNodeTlv.of(2);
-    private final IPv4TERouterIdOfRemoteNodeTlv tlv2 = IPv4TERouterIdOfRemoteNodeTlv.of(3);
+    private final IPv4RouterIdOfRemoteNodeSubTlv tlv1 = IPv4RouterIdOfRemoteNodeSubTlv.of(2);
+    private final IPv4RouterIdOfRemoteNodeSubTlv sameAsTlv1 = IPv4RouterIdOfRemoteNodeSubTlv.of(2);
+    private final IPv4RouterIdOfRemoteNodeSubTlv tlv2 = IPv4RouterIdOfRemoteNodeSubTlv.of(3);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfLocalNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfLocalNodeTlvTest.java
deleted file mode 100644
index 3880ca7..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfLocalNodeTlvTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the IPv4TERouterIdOfLocalNodeTlv.
- */
-public class IPv4TERouterIdOfLocalNodeTlvTest {
-
-    private final IPv4TERouterIdOfLocalNodeTlv tlv1 = IPv4TERouterIdOfLocalNodeTlv.of(2);
-    private final IPv4TERouterIdOfLocalNodeTlv sameAsTlv1 = IPv4TERouterIdOfLocalNodeTlv.of(2);
-    private final IPv4TERouterIdOfLocalNodeTlv tlv2 = IPv4TERouterIdOfLocalNodeTlv.of(3);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6InterfaceAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6InterfaceAddressSubTlvTest.java
similarity index 78%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6InterfaceAddressTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6InterfaceAddressSubTlvTest.java
index 0f8e37c..79a3260 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6InterfaceAddressTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6InterfaceAddressSubTlvTest.java
@@ -19,18 +19,18 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv6InterfaceAddressTlv.
+ * Test of the IPv6InterfaceAddressSubTlv.
  */
-public class IPv6InterfaceAddressTlvTest {
+public class IPv6InterfaceAddressSubTlvTest {
 
     private final byte[] b1 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x29, 0x00, 0x02, 0x00, 0x00};
     private final byte[] b2 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x30, 0x00, 0x02, 0x00, 0x01};
 
-    private final IPv6InterfaceAddressTlv tlv1 = IPv6InterfaceAddressTlv.of(b1);
-    private final IPv6InterfaceAddressTlv sameAsTlv1 = IPv6InterfaceAddressTlv.of(b1);
-    private final IPv6InterfaceAddressTlv tlv2 = IPv6InterfaceAddressTlv.of(b2);
+    private final IPv6InterfaceAddressSubTlv tlv1 = IPv6InterfaceAddressSubTlv.of(b1);
+    private final IPv6InterfaceAddressSubTlv sameAsTlv1 = IPv6InterfaceAddressSubTlv.of(b1);
+    private final IPv6InterfaceAddressSubTlv tlv2 = IPv6InterfaceAddressSubTlv.of(b2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6NeighborAddressTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6NeighborAddressSubTlvTest.java
similarity index 79%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6NeighborAddressTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6NeighborAddressSubTlvTest.java
index 57ad769..375ce49 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6NeighborAddressTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6NeighborAddressSubTlvTest.java
@@ -19,18 +19,18 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv6NeighborAddressTlv.
+ * Test of the IPv6NeighborAddressSubTlv.
  */
-public class IPv6NeighborAddressTlvTest {
+public class IPv6NeighborAddressSubTlvTest {
 
     private final byte[] b1 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x29, 0x00, 0x02, 0x00, 0x00};
     private final byte[] b2 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x30, 0x00, 0x02, 0x00, 0x01};
 
-    private final IPv6NeighborAddressTlv tlv1 = IPv6NeighborAddressTlv.of(b1);
-    private final IPv6NeighborAddressTlv sameAsTlv1 = IPv6NeighborAddressTlv.of(b1);
-    private final IPv6NeighborAddressTlv tlv2 = IPv6NeighborAddressTlv.of(b2);
+    private final IPv6NeighborAddressSubTlv tlv1 = IPv6NeighborAddressSubTlv.of(b1);
+    private final IPv6NeighborAddressSubTlv sameAsTlv1 = IPv6NeighborAddressSubTlv.of(b1);
+    private final IPv6NeighborAddressSubTlv tlv2 = IPv6NeighborAddressSubTlv.of(b2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofRemoteNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6RouterIdofLocalNodeSubTlvTest.java
similarity index 77%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofRemoteNodeTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6RouterIdofLocalNodeSubTlvTest.java
index f382860..6bd63a6 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofRemoteNodeTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6RouterIdofLocalNodeSubTlvTest.java
@@ -19,18 +19,18 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv6TERouterIdofRemoteNodeTlv.
+ * Test of the IPv6RouterIdofLocalNodeSubTlv.
  */
-public class IPv6TERouterIdofRemoteNodeTlvTest {
+public class IPv6RouterIdofLocalNodeSubTlvTest {
 
     private final byte[] b1 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x29, 0x00, 0x02, 0x00, 0x00};
     private final byte[] b2 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x30, 0x00, 0x02, 0x00, 0x00 };
 
-    private final IPv6TERouterIdofRemoteNodeTlv tlv1 = IPv6TERouterIdofRemoteNodeTlv.of(b1);
-    private final IPv6TERouterIdofRemoteNodeTlv sameAsTlv1 = IPv6TERouterIdofRemoteNodeTlv.of(b1);
-    private final IPv6TERouterIdofRemoteNodeTlv tlv2 = IPv6TERouterIdofRemoteNodeTlv.of(b2);
+    private final IPv6RouterIdofLocalNodeSubTlv tlv1 = IPv6RouterIdofLocalNodeSubTlv.of(b1);
+    private final IPv6RouterIdofLocalNodeSubTlv sameAsTlv1 = IPv6RouterIdofLocalNodeSubTlv.of(b1);
+    private final IPv6RouterIdofLocalNodeSubTlv tlv2 = IPv6RouterIdofLocalNodeSubTlv.of(b2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofRemoteNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6RouterIdofRemoteNodeSubTlvTest.java
similarity index 77%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofRemoteNodeTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6RouterIdofRemoteNodeSubTlvTest.java
index f382860..eb04558 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofRemoteNodeTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6RouterIdofRemoteNodeSubTlvTest.java
@@ -19,18 +19,18 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv6TERouterIdofRemoteNodeTlv.
+ * Test of the IPv6RouterIdofRemoteNodeSubTlv.
  */
-public class IPv6TERouterIdofRemoteNodeTlvTest {
+public class IPv6RouterIdofRemoteNodeSubTlvTest {
 
     private final byte[] b1 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x29, 0x00, 0x02, 0x00, 0x00};
     private final byte[] b2 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
             (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x30, 0x00, 0x02, 0x00, 0x00 };
 
-    private final IPv6TERouterIdofRemoteNodeTlv tlv1 = IPv6TERouterIdofRemoteNodeTlv.of(b1);
-    private final IPv6TERouterIdofRemoteNodeTlv sameAsTlv1 = IPv6TERouterIdofRemoteNodeTlv.of(b1);
-    private final IPv6TERouterIdofRemoteNodeTlv tlv2 = IPv6TERouterIdofRemoteNodeTlv.of(b2);
+    private final IPv6RouterIdofRemoteNodeSubTlv tlv1 = IPv6RouterIdofRemoteNodeSubTlv.of(b1);
+    private final IPv6RouterIdofRemoteNodeSubTlv sameAsTlv1 = IPv6RouterIdofRemoteNodeSubTlv.of(b1);
+    private final IPv6RouterIdofRemoteNodeSubTlv tlv2 = IPv6RouterIdofRemoteNodeSubTlv.of(b2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofLocalNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofLocalNodeTlvTest.java
deleted file mode 100644
index 6516ed3..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv6TERouterIdofLocalNodeTlvTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the IPv6TERouterIdofLocalNodeTlv.
- */
-public class IPv6TERouterIdofLocalNodeTlvTest {
-
-    private final byte[] b1 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
-            (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x29, 0x00, 0x02, 0x00, 0x00};
-    private final byte[] b2 = new byte[] {(byte) 0xFE, (byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
-            (byte) 0xB3, (byte) 0xFF, (byte) 0xFE, 0x1E, (byte) 0x83, 0x30, 0x00, 0x02, 0x00, 0x00 };
-
-    private final IPv6TERouterIdofLocalNodeTlv tlv1 = IPv6TERouterIdofLocalNodeTlv.of(b1);
-    private final IPv6TERouterIdofLocalNodeTlv sameAsTlv1 = IPv6TERouterIdofLocalNodeTlv.of(b1);
-    private final IPv6TERouterIdofLocalNodeTlv tlv2 = IPv6TERouterIdofLocalNodeTlv.of(b2);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpMetricTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpMetricSubTlvTest.java
similarity index 77%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpMetricTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpMetricSubTlvTest.java
index 20c9dc7..20945f2 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpMetricTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpMetricSubTlvTest.java
@@ -19,14 +19,14 @@
 import org.junit.Test;
 
 /**
- * Test of the IGPMetricTlv.
+ * Test of the IgpMetricSubTlv.
  */
-public class IgpMetricTlvTest {
+public class IgpMetricSubTlvTest {
     private final byte[] b1 = new byte[] {0x01, 0x02};
     private final byte[] b2 = new byte[] {0x01, 0x03};
-    private final IgpMetricTlv tlv1 = IgpMetricTlv.of(b1, (short) 2);
-    private final IgpMetricTlv sameAsTlv1 = IgpMetricTlv.of(b1, (short) 2);
-    private final IgpMetricTlv tlv2 = IgpMetricTlv.of(b2, (short) 2);
+    private final IgpMetricSubTlv tlv1 = IgpMetricSubTlv.of(b1, (short) 2);
+    private final IgpMetricSubTlv sameAsTlv1 = IgpMetricSubTlv.of(b1, (short) 2);
+    private final IgpMetricSubTlv tlv2 = IgpMetricSubTlv.of(b2, (short) 2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RouterIDSubTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpRouterIdSubTlvTest.java
similarity index 77%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RouterIDSubTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpRouterIdSubTlvTest.java
index 2f9e18a..5f36f90 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RouterIDSubTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IgpRouterIdSubTlvTest.java
@@ -19,20 +19,20 @@
 import org.junit.Test;
 
 /**
- * Test case for Router ID Sub tlv.
+ * Test case for IgpRouterIdSubTlv.
  */
-public class RouterIDSubTlvTest {
+public class IgpRouterIdSubTlvTest {
 
     private final byte[] value1 = {1, 2 };
     private final Short length1 = 2;
-    private final RouterIDSubTlv tlv1 = RouterIDSubTlv.of(value1, length1);
+    private final IgpRouterIdSubTlv tlv1 = IgpRouterIdSubTlv.of(value1, length1);
 
     private final Short length2 = 2;
-    private final RouterIDSubTlv tlv2 = RouterIDSubTlv.of(value1, length2);
+    private final IgpRouterIdSubTlv tlv2 = IgpRouterIdSubTlv.of(value1, length2);
 
     private final byte[] value3 = {1, 2, 3 };
     private final Short length3 = 3;
-    private final RouterIDSubTlv tlv3 = RouterIDSubTlv.of(value3, length3);
+    private final IgpRouterIdSubTlv tlv3 = IgpRouterIdSubTlv.of(value3, length3);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IsisAreaIdentifierTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IsisAreaIdentifierSubTlvTest.java
similarity index 74%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IsisAreaIdentifierTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IsisAreaIdentifierSubTlvTest.java
index a5a14c2..1b91fcd 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IsisAreaIdentifierTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IsisAreaIdentifierSubTlvTest.java
@@ -19,16 +19,16 @@
 import org.junit.Test;
 
 /**
- * Test of the ISISAreaIdentifierTlv.
+ * Test of the IsisAreaIdentifierSubTlv.
  */
-public class IsisAreaIdentifierTlvTest {
+public class IsisAreaIdentifierSubTlvTest {
 
     private final byte[] b1 = new byte[] {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
     private final byte[] b2 = new byte[] {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 };
 
-    private final IsisAreaIdentifierTlv tlv1 = IsisAreaIdentifierTlv.of(b1, (short) 20);
-    private final IsisAreaIdentifierTlv sameAsTlv1 = IsisAreaIdentifierTlv.of(b1, (short) 20);
-    private final IsisAreaIdentifierTlv tlv2 = IsisAreaIdentifierTlv.of(b2, (short) 20);
+    private final IsisAreaIdentifierSubTlv tlv1 = IsisAreaIdentifierSubTlv.of(b1, (short) 20);
+    private final IsisAreaIdentifierSubTlv sameAsTlv1 = IsisAreaIdentifierSubTlv.of(b1, (short) 20);
+    private final IsisAreaIdentifierSubTlv tlv2 = IsisAreaIdentifierSubTlv.of(b2, (short) 20);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkAttributesTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkAttributesTlvTest.java
new file mode 100644
index 0000000..8c0cb62
--- /dev/null
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkAttributesTlvTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2015 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.pcepio.types;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Test case for TE Link Attribute Tlv.
+ */
+public class LinkAttributesTlvTest {
+
+    private final AdministrativeGroupSubTlv administrativeGroupTlv1 = new AdministrativeGroupSubTlv(10);
+    private final MaximumReservableLinkBandwidthSubTlv maximumReservableLinkBandwidthTlv1 =
+            new MaximumReservableLinkBandwidthSubTlv(20);
+
+    private final AdministrativeGroupSubTlv administrativeGroupTlv2 = new AdministrativeGroupSubTlv(20);
+    private final MaximumReservableLinkBandwidthSubTlv maximumReservableLinkBandwidthTlv2 =
+            new MaximumReservableLinkBandwidthSubTlv(30);
+
+    private final List<PcepValueType> llLinkAttributesSubTLV1 = new LinkedList<>();
+    private final boolean a = llLinkAttributesSubTLV1.add(administrativeGroupTlv1);
+    private final boolean b = llLinkAttributesSubTLV1.add(maximumReservableLinkBandwidthTlv1);
+
+    private final List<PcepValueType> llLinkAttributesSubTLV2 = new LinkedList<>();
+
+    private final boolean c = llLinkAttributesSubTLV2.add(administrativeGroupTlv2);
+    private final boolean d = llLinkAttributesSubTLV2.add(maximumReservableLinkBandwidthTlv2);
+
+    private final LinkAttributesTlv tlv1 = LinkAttributesTlv.of(llLinkAttributesSubTLV1);
+    private final LinkAttributesTlv sameAsTlv1 = LinkAttributesTlv.of(llLinkAttributesSubTLV1);
+    private final LinkAttributesTlv tlv2 = LinkAttributesTlv.of(llLinkAttributesSubTLV2);
+
+    @Test
+    public void basics() {
+        new EqualsTester().addEqualityGroup(tlv1, sameAsTlv1).addEqualityGroup(tlv2).testEquals();
+    }
+
+}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkDescriptorsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkDescriptorsTlvTest.java
new file mode 100644
index 0000000..d271595
--- /dev/null
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkDescriptorsTlvTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2015 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.pcepio.types;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Test case for TE link descriptors Tlv.
+ */
+public class LinkDescriptorsTlvTest {
+    private final LinkLocalRemoteIdentifiersSubTlv linkLocalRemoteIdentifiersTlv1 = new
+            LinkLocalRemoteIdentifiersSubTlv(10, 10);
+    private final IPv4InterfaceAddressSubTlv iPv4InterfaceAddressTlv1 = new IPv4InterfaceAddressSubTlv(0x01010101);
+
+    private final LinkLocalRemoteIdentifiersSubTlv linkLocalRemoteIdentifiersTlv2 = new
+            LinkLocalRemoteIdentifiersSubTlv(20, 20);
+    private final IPv4InterfaceAddressSubTlv iPv4InterfaceAddressTlv2 = new IPv4InterfaceAddressSubTlv(0x02020202);
+
+    private final List<PcepValueType> llLinkDescriptorsSubTLVs1 = new LinkedList<>();
+    private final boolean a = llLinkDescriptorsSubTLVs1.add(linkLocalRemoteIdentifiersTlv1);
+    private final boolean b = llLinkDescriptorsSubTLVs1.add(iPv4InterfaceAddressTlv1);
+
+    private final List<PcepValueType> llLinkDescriptorsSubTLVs2 = new LinkedList<>();
+    private final boolean c = llLinkDescriptorsSubTLVs2.add(linkLocalRemoteIdentifiersTlv2);
+    private final boolean d = llLinkDescriptorsSubTLVs2.add(iPv4InterfaceAddressTlv2);
+
+    private final LinkDescriptorsTlv tlv1 = LinkDescriptorsTlv.of(llLinkDescriptorsSubTLVs1);
+    private final LinkDescriptorsTlv sameAstlv1 = LinkDescriptorsTlv.of(llLinkDescriptorsSubTLVs1);
+    private final LinkDescriptorsTlv tlv2 = LinkDescriptorsTlv.of(llLinkDescriptorsSubTLVs2);
+
+    @Test
+    public void basics() {
+        new EqualsTester().addEqualityGroup(tlv1, sameAstlv1).addEqualityGroup(tlv2).testEquals();
+    }
+
+}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkLocalRemoteIdentifiersSubTlvTest.java
similarity index 68%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkLocalRemoteIdentifiersSubTlvTest.java
index f40ede0..9752874 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/IPv4TERouterIdOfRemoteNodeTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkLocalRemoteIdentifiersSubTlvTest.java
@@ -19,13 +19,13 @@
 import org.junit.Test;
 
 /**
- * Test of the IPv4TERouterIdOfRemoteNodeTlv.
+ * Test of the LinkLocalRemoteIdentifiersSubTlv.
  */
-public class IPv4TERouterIdOfRemoteNodeTlvTest {
+public class LinkLocalRemoteIdentifiersSubTlvTest {
 
-    private final IPv4TERouterIdOfRemoteNodeTlv tlv1 = IPv4TERouterIdOfRemoteNodeTlv.of(2);
-    private final IPv4TERouterIdOfRemoteNodeTlv sameAsTlv1 = IPv4TERouterIdOfRemoteNodeTlv.of(2);
-    private final IPv4TERouterIdOfRemoteNodeTlv tlv2 = IPv4TERouterIdOfRemoteNodeTlv.of(3);
+    private final LinkLocalRemoteIdentifiersSubTlv tlv1 = LinkLocalRemoteIdentifiersSubTlv.of(10, 20);
+    private final LinkLocalRemoteIdentifiersSubTlv sameAsTlv1 = LinkLocalRemoteIdentifiersSubTlv.of(10, 20);
+    private final LinkLocalRemoteIdentifiersSubTlv tlv2 = LinkLocalRemoteIdentifiersSubTlv.of(20, 30);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkLocalRemoteIdentifiersTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkLocalRemoteIdentifiersTlvTest.java
deleted file mode 100644
index e25bda0..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkLocalRemoteIdentifiersTlvTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the LinkLocalRemoteIdentifiersTlv.
- */
-public class LinkLocalRemoteIdentifiersTlvTest {
-
-    private final LinkLocalRemoteIdentifiersTlv tlv1 = LinkLocalRemoteIdentifiersTlv.of(10, 20);
-    private final LinkLocalRemoteIdentifiersTlv sameAsTlv1 = LinkLocalRemoteIdentifiersTlv.of(10, 20);
-    private final LinkLocalRemoteIdentifiersTlv tlv2 = LinkLocalRemoteIdentifiersTlv.of(20, 30);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkNameTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkNameAttributeSubTlvTest.java
similarity index 70%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkNameTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkNameAttributeSubTlvTest.java
index 7d9dcb2..697f015 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkNameTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkNameAttributeSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Equality test for LinkNameTlv.
+ * Equality test for LinkNameAttributeSubTlv.
  */
-public class LinkNameTlvTest {
+public class LinkNameAttributeSubTlvTest {
     private final byte[] rawValue1 = new byte[] {0x01, 0x00};
     private final byte[] rawValue2 = new byte[] {0x02, 0x00};
 
-    private final LinkNameTlv tlv1 = new LinkNameTlv(rawValue1, (short) rawValue1.length);
-    private final LinkNameTlv sameAsTlv1 = LinkNameTlv.of(tlv1.getValue(), tlv1.getLength());
-    private final LinkNameTlv tlv2 = new LinkNameTlv(rawValue2, (short) 0);
+    private final LinkNameAttributeSubTlv tlv1 = new LinkNameAttributeSubTlv(rawValue1, (short) rawValue1.length);
+    private final LinkNameAttributeSubTlv sameAsTlv1 = LinkNameAttributeSubTlv.of(tlv1.getValue(), tlv1.getLength());
+    private final LinkNameAttributeSubTlv tlv2 = new LinkNameAttributeSubTlv(rawValue2, (short) 0);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkProtectionTypeSubTlvTest.java
similarity index 72%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkProtectionTypeSubTlvTest.java
index fb90fed..412cfcc 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkProtectionTypeSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Test of the NodeFlagBitsTlv.
+ * Test of the LinkProtectionTypeSubTlv.
  */
-public class NodeFlagBitsTlvTest {
+public class LinkProtectionTypeSubTlvTest {
     private final byte rawValue1 = 0x0A;
     private final byte rawValue2 = 0x0B;
 
-    private final NodeFlagBitsTlv tlv1 = new NodeFlagBitsTlv(rawValue1);
-    private final NodeFlagBitsTlv sameAsTlv1 = new NodeFlagBitsTlv(rawValue1);
-    private final NodeFlagBitsTlv tlv2 = NodeFlagBitsTlv.of(rawValue2);
+    private final LinkProtectionTypeSubTlv tlv1 = new LinkProtectionTypeSubTlv(rawValue1);
+    private final LinkProtectionTypeSubTlv sameAsTlv1 = new LinkProtectionTypeSubTlv(rawValue1);
+    private final LinkProtectionTypeSubTlv tlv2 = new LinkProtectionTypeSubTlv(rawValue2, (byte) 0);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkProtectionTypeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkProtectionTypeTlvTest.java
deleted file mode 100644
index 61928f2..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LinkProtectionTypeTlvTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the LinkProtectionTypeTlv.
- */
-public class LinkProtectionTypeTlvTest {
-    private final byte rawValue1 = 0x0A;
-    private final byte rawValue2 = 0x0B;
-
-    private final LinkProtectionTypeTlv tlv1 = new LinkProtectionTypeTlv(rawValue1);
-    private final LinkProtectionTypeTlv sameAsTlv1 = new LinkProtectionTypeTlv(rawValue1);
-    private final LinkProtectionTypeTlv tlv2 = new LinkProtectionTypeTlv(rawValue2, (byte) 0);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LocalNodeDescriptorsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LocalNodeDescriptorsTlvTest.java
new file mode 100644
index 0000000..2570e66
--- /dev/null
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LocalNodeDescriptorsTlvTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2015 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.pcepio.types;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Test of the LocalNodeDescriptorsTlv.
+ */
+public class LocalNodeDescriptorsTlvTest {
+
+    private final AutonomousSystemSubTlv baAutoSysTlvRawValue1 = new AutonomousSystemSubTlv(1);
+    private final BgpLsIdentifierSubTlv baBgplsIdRawValue1 = new BgpLsIdentifierSubTlv(1);
+
+    private final AutonomousSystemSubTlv baAutoSysTlvRawValue2 = new AutonomousSystemSubTlv(2);
+    private final BgpLsIdentifierSubTlv baBgplsIdRawValue2 = new BgpLsIdentifierSubTlv(2);
+
+    private final List<PcepValueType> llNodeDescriptorSubTLVs1 = new LinkedList<PcepValueType>();
+    private final boolean a = llNodeDescriptorSubTLVs1.add(baAutoSysTlvRawValue1);
+    private final boolean b = llNodeDescriptorSubTLVs1.add(baBgplsIdRawValue1);
+
+    private final List<PcepValueType> llNodeDescriptorSubTLVs2 = new LinkedList<PcepValueType>();
+    private final boolean c = llNodeDescriptorSubTLVs2.add(baAutoSysTlvRawValue2);
+    private final boolean d = llNodeDescriptorSubTLVs2.add(baBgplsIdRawValue2);
+
+    private final LocalNodeDescriptorsTlv tlv1 = LocalNodeDescriptorsTlv.of(llNodeDescriptorSubTLVs1);
+    private final LocalNodeDescriptorsTlv sameAstlv1 = LocalNodeDescriptorsTlv.of(llNodeDescriptorSubTLVs1);
+    private final LocalNodeDescriptorsTlv tlv2 = LocalNodeDescriptorsTlv.of(llNodeDescriptorSubTLVs2);
+
+    @Test
+    public void basics() {
+        new EqualsTester().addEqualityGroup(tlv1, sameAstlv1).addEqualityGroup(tlv2).testEquals();
+    }
+}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LocalTENodeDescriptorsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LocalTENodeDescriptorsTlvTest.java
deleted file mode 100644
index 17daa75..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LocalTENodeDescriptorsTlvTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-import java.util.LinkedList;
-
-/**
- * Test of the LocalTENodeDescriptorsTlv.
- */
-public class LocalTENodeDescriptorsTlvTest {
-
-    private final AutonomousSystemTlv baAutoSysTlvRawValue1 = new AutonomousSystemTlv(1);
-    private final BgpLsIdentifierTlv baBgplsIdRawValue1 = new BgpLsIdentifierTlv(1);
-
-    private final AutonomousSystemTlv baAutoSysTlvRawValue2 = new AutonomousSystemTlv(2);
-    private final BgpLsIdentifierTlv baBgplsIdRawValue2 = new BgpLsIdentifierTlv(2);
-
-    private final LinkedList<PcepValueType> llNodeDescriptorSubTLVs1 = new LinkedList<PcepValueType>();
-    private final boolean a = llNodeDescriptorSubTLVs1.add(baAutoSysTlvRawValue1);
-    private final boolean b = llNodeDescriptorSubTLVs1.add(baBgplsIdRawValue1);
-
-    private final LinkedList<PcepValueType> llNodeDescriptorSubTLVs2 = new LinkedList<PcepValueType>();
-    private final boolean c = llNodeDescriptorSubTLVs2.add(baAutoSysTlvRawValue2);
-    private final boolean d = llNodeDescriptorSubTLVs2.add(baBgplsIdRawValue2);
-
-    private final LocalTENodeDescriptorsTlv tlv1 = LocalTENodeDescriptorsTlv.of(llNodeDescriptorSubTLVs1);
-    private final LocalTENodeDescriptorsTlv sameAstlv1 = LocalTENodeDescriptorsTlv.of(llNodeDescriptorSubTLVs1);
-    private final LocalTENodeDescriptorsTlv tlv2 = LocalTENodeDescriptorsTlv.of(llNodeDescriptorSubTLVs2);
-
-    @Test
-    public void basics() {
-        new EqualsTester().addEqualityGroup(tlv1, sameAstlv1).addEqualityGroup(tlv2).testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TedCapabilityTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LsCapabilityTlvTest.java
similarity index 79%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TedCapabilityTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LsCapabilityTlvTest.java
index 18677ca..3766a4d 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TedCapabilityTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/LsCapabilityTlvTest.java
@@ -21,11 +21,11 @@
 /**
  * Test case for TED Capability tlv.
  */
-public class TedCapabilityTlvTest {
+public class LsCapabilityTlvTest {
 
-    private final TedCapabilityTlv tlv1 = TedCapabilityTlv.of(1);
-    private final TedCapabilityTlv tlv2 = TedCapabilityTlv.of(1);
-    private final TedCapabilityTlv tlv3 = TedCapabilityTlv.of(2);
+    private final LsCapabilityTlv tlv1 = LsCapabilityTlv.of(1);
+    private final LsCapabilityTlv tlv2 = LsCapabilityTlv.of(1);
+    private final LsCapabilityTlv tlv3 = LsCapabilityTlv.of(2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthSubTlvTest.java
similarity index 72%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthSubTlvTest.java
index 4e022b8..d4b9c6b 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Test of the MaximumLinkBandwidthTlv.
+ * Test of the MaximumLinkBandwidthSubTlv.
  */
-public class MaximumLinkBandwidthTlvTest {
+public class MaximumLinkBandwidthSubTlvTest {
     private final int rawValue1 = 0x0A;
     private final int rawValue2 = 0x0B;
 
-    private final MaximumLinkBandwidthTlv tlv1 = new MaximumLinkBandwidthTlv(rawValue1);
-    private final MaximumLinkBandwidthTlv sameAsTlv1 = new MaximumLinkBandwidthTlv(rawValue1);
-    private final MaximumLinkBandwidthTlv tlv2 = MaximumLinkBandwidthTlv.of(rawValue2);
+    private final MaximumLinkBandwidthSubTlv tlv1 = new MaximumLinkBandwidthSubTlv(rawValue1);
+    private final MaximumLinkBandwidthSubTlv sameAsTlv1 = new MaximumLinkBandwidthSubTlv(rawValue1);
+    private final MaximumLinkBandwidthSubTlv tlv2 = MaximumLinkBandwidthSubTlv.of(rawValue2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumReservableLinkBandwidthSubTlvTest.java
similarity index 68%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumReservableLinkBandwidthSubTlvTest.java
index 4e022b8..85e108d 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumLinkBandwidthTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumReservableLinkBandwidthSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Test of the MaximumLinkBandwidthTlv.
+ * Test of the MaximumReservableLinkBandwidthSubTlv.
  */
-public class MaximumLinkBandwidthTlvTest {
+public class MaximumReservableLinkBandwidthSubTlvTest {
     private final int rawValue1 = 0x0A;
     private final int rawValue2 = 0x0B;
 
-    private final MaximumLinkBandwidthTlv tlv1 = new MaximumLinkBandwidthTlv(rawValue1);
-    private final MaximumLinkBandwidthTlv sameAsTlv1 = new MaximumLinkBandwidthTlv(rawValue1);
-    private final MaximumLinkBandwidthTlv tlv2 = MaximumLinkBandwidthTlv.of(rawValue2);
+    private final MaximumReservableLinkBandwidthSubTlv tlv1 = new MaximumReservableLinkBandwidthSubTlv(rawValue1);
+    private final MaximumReservableLinkBandwidthSubTlv sameAsTlv1 = new MaximumReservableLinkBandwidthSubTlv(rawValue1);
+    private final MaximumReservableLinkBandwidthSubTlv tlv2 = MaximumReservableLinkBandwidthSubTlv.of(rawValue2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumReservableLinkBandwidthTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumReservableLinkBandwidthTlvTest.java
deleted file mode 100644
index 7b37035..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MaximumReservableLinkBandwidthTlvTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the MaximumReservableLinkBandwidthTlv.
- */
-public class MaximumReservableLinkBandwidthTlvTest {
-    private final int rawValue1 = 0x0A;
-    private final int rawValue2 = 0x0B;
-
-    private final MaximumReservableLinkBandwidthTlv tlv1 = new MaximumReservableLinkBandwidthTlv(rawValue1);
-    private final MaximumReservableLinkBandwidthTlv sameAsTlv1 = new MaximumReservableLinkBandwidthTlv(rawValue1);
-    private final MaximumReservableLinkBandwidthTlv tlv2 = MaximumReservableLinkBandwidthTlv.of(rawValue2);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MplsProtocolMaskSubTlvTest.java
similarity index 73%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MplsProtocolMaskSubTlvTest.java
index fb90fed..6e396b8 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MplsProtocolMaskSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Test of the NodeFlagBitsTlv.
+ * Test of the MplsProtocolMaskSubTlv.
  */
-public class NodeFlagBitsTlvTest {
+public class MplsProtocolMaskSubTlvTest {
     private final byte rawValue1 = 0x0A;
     private final byte rawValue2 = 0x0B;
 
-    private final NodeFlagBitsTlv tlv1 = new NodeFlagBitsTlv(rawValue1);
-    private final NodeFlagBitsTlv sameAsTlv1 = new NodeFlagBitsTlv(rawValue1);
-    private final NodeFlagBitsTlv tlv2 = NodeFlagBitsTlv.of(rawValue2);
+    private final MplsProtocolMaskSubTlv tlv1 = new MplsProtocolMaskSubTlv(rawValue1);
+    private final MplsProtocolMaskSubTlv sameAsTlv1 = new MplsProtocolMaskSubTlv(rawValue1);
+    private final MplsProtocolMaskSubTlv tlv2 = MplsProtocolMaskSubTlv.of(rawValue2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MplsProtocolMaskTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MplsProtocolMaskTlvTest.java
deleted file mode 100644
index ff87b7a..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/MplsProtocolMaskTlvTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test of the MPLSProtocolMaskTlv.
- */
-public class MplsProtocolMaskTlvTest {
-    private final byte rawValue1 = 0x0A;
-    private final byte rawValue2 = 0x0B;
-
-    private final MplsProtocolMaskTlv tlv1 = new MplsProtocolMaskTlv(rawValue1);
-    private final MplsProtocolMaskTlv sameAsTlv1 = new MplsProtocolMaskTlv(rawValue1);
-    private final MplsProtocolMaskTlv tlv2 = MplsProtocolMaskTlv.of(rawValue2);
-
-    @Test
-    public void basics() {
-        new EqualsTester()
-        .addEqualityGroup(tlv1, sameAsTlv1)
-        .addEqualityGroup(tlv2)
-        .testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeAttributesTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeAttributesTlvTest.java
new file mode 100644
index 0000000..2c9664d
--- /dev/null
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeAttributesTlvTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2015 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.pcepio.types;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Test case for TE Node Attribute tlv.
+ */
+public class NodeAttributesTlvTest {
+
+    private final NodeFlagBitsSubTlv nodeFlagBitsTlv1 = new NodeFlagBitsSubTlv((byte) 10);
+    private final IPv4RouterIdOfLocalNodeSubTlv iPv4TERouterIdOfLocalNodeTlv1 = new
+            IPv4RouterIdOfLocalNodeSubTlv(0x01010101);
+
+    private final NodeFlagBitsSubTlv nodeFlagBitsTlv2 = new NodeFlagBitsSubTlv((byte) 20);
+    private final IPv4RouterIdOfLocalNodeSubTlv iPv4TERouterIdOfLocalNodeTlv2 = new
+            IPv4RouterIdOfLocalNodeSubTlv(0x02020202);
+
+    private final List<PcepValueType> llNodeAttributesSubTLV1 = new LinkedList<>();
+    private final boolean a = llNodeAttributesSubTLV1.add(nodeFlagBitsTlv1);
+    private final boolean b = llNodeAttributesSubTLV1.add(iPv4TERouterIdOfLocalNodeTlv1);
+
+    private final List<PcepValueType> llNodeAttributesSubTLV2 = new LinkedList<>();
+
+    private final boolean c = llNodeAttributesSubTLV2.add(nodeFlagBitsTlv2);
+    private final boolean d = llNodeAttributesSubTLV2.add(iPv4TERouterIdOfLocalNodeTlv2);
+
+    private final NodeAttributesTlv tlv1 = NodeAttributesTlv.of(llNodeAttributesSubTLV1);
+    private final NodeAttributesTlv sameAsTlv1 = NodeAttributesTlv.of(llNodeAttributesSubTLV1);
+    private final NodeAttributesTlv tlv2 = NodeAttributesTlv.of(llNodeAttributesSubTLV2);
+
+    @Test
+    public void basics() {
+        new EqualsTester().addEqualityGroup(tlv1, sameAsTlv1).addEqualityGroup(tlv2).testEquals();
+    }
+
+}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsSubTlvTest.java
similarity index 76%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsSubTlvTest.java
index fb90fed..5179a2c 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeFlagBitsSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Test of the NodeFlagBitsTlv.
+ * Test of the NodeFlagBitsSubTlv.
  */
-public class NodeFlagBitsTlvTest {
+public class NodeFlagBitsSubTlvTest {
     private final byte rawValue1 = 0x0A;
     private final byte rawValue2 = 0x0B;
 
-    private final NodeFlagBitsTlv tlv1 = new NodeFlagBitsTlv(rawValue1);
-    private final NodeFlagBitsTlv sameAsTlv1 = new NodeFlagBitsTlv(rawValue1);
-    private final NodeFlagBitsTlv tlv2 = NodeFlagBitsTlv.of(rawValue2);
+    private final NodeFlagBitsSubTlv tlv1 = new NodeFlagBitsSubTlv(rawValue1);
+    private final NodeFlagBitsSubTlv sameAsTlv1 = new NodeFlagBitsSubTlv(rawValue1);
+    private final NodeFlagBitsSubTlv tlv2 = NodeFlagBitsSubTlv.of(rawValue2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeNameTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeNameSubTlvTest.java
similarity index 74%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeNameTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeNameSubTlvTest.java
index d6d53d6..c21c986 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeNameTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/NodeNameSubTlvTest.java
@@ -19,15 +19,15 @@
 import org.junit.Test;
 
 /**
- * Test of the NodeNameTlv.
+ * Test of the NodeNameSubTlv.
  */
-public class NodeNameTlvTest {
+public class NodeNameSubTlvTest {
     private final byte[] rawValue1 = new byte[] {0x01, 0x02};
     private final byte[] rawValue2 = new byte[] {0x14, 0x15};
 
-    private final NodeNameTlv tlv1 = new NodeNameTlv(rawValue1, (short) rawValue1.length);
-    private final NodeNameTlv sameAsTlv1 = NodeNameTlv.of(tlv1.getValue(), tlv1.getLength());
-    private final NodeNameTlv tlv2 = new NodeNameTlv(rawValue2, (short) 0);
+    private final NodeNameSubTlv tlv1 = new NodeNameSubTlv(rawValue1, (short) rawValue1.length);
+    private final NodeNameSubTlv sameAsTlv1 = NodeNameSubTlv.of(tlv1.getValue(), tlv1.getLength());
+    private final NodeNameSubTlv tlv2 = new NodeNameSubTlv(rawValue2, (short) 0);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OpaqueLinkAttributeTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OpaqueLinkAttributeSubTlvTest.java
similarity index 69%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OpaqueLinkAttributeTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OpaqueLinkAttributeSubTlvTest.java
index f437fb5..4a4c29e 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OpaqueLinkAttributeTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OpaqueLinkAttributeSubTlvTest.java
@@ -19,15 +19,17 @@
 import org.junit.Test;
 
 /**
- * Test of the OpaqueLinkAttributeTlv.
+ * Test of the OpaqueLinkAttributeSubTlv.
  */
-public class OpaqueLinkAttributeTlvTest {
+public class OpaqueLinkAttributeSubTlvTest {
     private final byte[] rawValue1 = new byte[] {0x01, 0x02};
     private final byte[] rawValue2 = new byte[] {0x14, 0x15};
 
-    private final OpaqueLinkAttributeTlv tlv1 = new OpaqueLinkAttributeTlv(rawValue1, (short) rawValue1.length);
-    private final OpaqueLinkAttributeTlv sameAsTlv1 = OpaqueLinkAttributeTlv.of(tlv1.getValue(), tlv1.getLength());
-    private final OpaqueLinkAttributeTlv tlv2 = new OpaqueLinkAttributeTlv(rawValue2, (short) 0);
+    private final OpaqueLinkAttributeSubTlv tlv1 =
+            new OpaqueLinkAttributeSubTlv(rawValue1, (short) rawValue1.length);
+    private final OpaqueLinkAttributeSubTlv sameAsTlv1 =
+            OpaqueLinkAttributeSubTlv.of(tlv1.getValue(), tlv1.getLength());
+    private final OpaqueLinkAttributeSubTlv tlv2 = new OpaqueLinkAttributeSubTlv(rawValue2, (short) 0);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OspfAreaIdSubTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OspfAreaIdSubTlvTest.java
index 2ea3511..4dc4fdd 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OspfAreaIdSubTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/OspfAreaIdSubTlvTest.java
@@ -19,7 +19,7 @@
 import org.junit.Test;
 
 /**
- * Test of the OSPFareaIDsubTlv.
+ * Test of the OspfAreaIdSubTlv.
  */
 public class OspfAreaIdSubTlvTest {
     private final int rawValue1 = 0x0A;
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RemoteNodeDescriptorsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RemoteNodeDescriptorsTlvTest.java
new file mode 100644
index 0000000..ee78b57
--- /dev/null
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RemoteNodeDescriptorsTlvTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2015 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.pcepio.types;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Test case for Remote TE Node Descriptors tlv.
+ */
+public class RemoteNodeDescriptorsTlvTest {
+
+    private final AutonomousSystemSubTlv autonomousSystemTlv1 = new AutonomousSystemSubTlv(10);
+    private final BgpLsIdentifierSubTlv bGPLSidentifierTlv1 = new BgpLsIdentifierSubTlv(20);
+
+    private final AutonomousSystemSubTlv autonomousSystemTlv2 = new AutonomousSystemSubTlv(20);
+    private final BgpLsIdentifierSubTlv bGPLSidentifierTlv2 = new BgpLsIdentifierSubTlv(30);
+
+    private final List<PcepValueType> llRemoteTENodeDescriptorSubTLV1 = new LinkedList<>();
+    private final boolean a = llRemoteTENodeDescriptorSubTLV1.add(autonomousSystemTlv1);
+    private final boolean b = llRemoteTENodeDescriptorSubTLV1.add(bGPLSidentifierTlv1);
+
+    private final List<PcepValueType> llRemoteTENodeDescriptorSubTLV2 = new LinkedList<>();
+    private final boolean c = llRemoteTENodeDescriptorSubTLV2.add(autonomousSystemTlv2);
+    private final boolean d = llRemoteTENodeDescriptorSubTLV2.add(bGPLSidentifierTlv2);
+
+    private final RemoteNodeDescriptorsTlv tlv1 = RemoteNodeDescriptorsTlv.of(llRemoteTENodeDescriptorSubTLV1);
+    private final RemoteNodeDescriptorsTlv sameAsTlv1 =
+            RemoteNodeDescriptorsTlv.of(llRemoteTENodeDescriptorSubTLV1);
+    private final RemoteNodeDescriptorsTlv tlv2 = RemoteNodeDescriptorsTlv.of(llRemoteTENodeDescriptorSubTLV2);
+
+    @Test
+    public void basics() {
+        new EqualsTester().addEqualityGroup(tlv1, sameAsTlv1).addEqualityGroup(tlv2).testEquals();
+    }
+
+}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RemoteTENodeDescriptorsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RemoteTENodeDescriptorsTlvTest.java
deleted file mode 100644
index 8e74921..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/RemoteTENodeDescriptorsTlvTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-import java.util.LinkedList;
-
-/**
- * Test case for Remote TE Node Descriptors tlv.
- */
-public class RemoteTENodeDescriptorsTlvTest {
-
-    private final AutonomousSystemTlv autonomousSystemTlv1 = new AutonomousSystemTlv(10);
-    private final BgpLsIdentifierTlv bGPLSidentifierTlv1 = new BgpLsIdentifierTlv(20);
-
-    private final AutonomousSystemTlv autonomousSystemTlv2 = new AutonomousSystemTlv(20);
-    private final BgpLsIdentifierTlv bGPLSidentifierTlv2 = new BgpLsIdentifierTlv(30);
-
-    private final LinkedList<PcepValueType> llRemoteTENodeDescriptorSubTLV1 = new LinkedList<>();
-    private final boolean a = llRemoteTENodeDescriptorSubTLV1.add(autonomousSystemTlv1);
-    private final boolean b = llRemoteTENodeDescriptorSubTLV1.add(bGPLSidentifierTlv1);
-
-    private final LinkedList<PcepValueType> llRemoteTENodeDescriptorSubTLV2 = new LinkedList<>();
-    private final boolean c = llRemoteTENodeDescriptorSubTLV2.add(autonomousSystemTlv2);
-    private final boolean d = llRemoteTENodeDescriptorSubTLV2.add(bGPLSidentifierTlv2);
-
-    private final RemoteTENodeDescriptorsTlv tlv1 = RemoteTENodeDescriptorsTlv.of(llRemoteTENodeDescriptorSubTLV1);
-    private final RemoteTENodeDescriptorsTlv sameAsTlv1 =
-            RemoteTENodeDescriptorsTlv.of(llRemoteTENodeDescriptorSubTLV1);
-    private final RemoteTENodeDescriptorsTlv tlv2 = RemoteTENodeDescriptorsTlv.of(llRemoteTENodeDescriptorSubTLV2);
-
-    @Test
-    public void basics() {
-        new EqualsTester().addEqualityGroup(tlv1, sameAsTlv1).addEqualityGroup(tlv2).testEquals();
-    }
-
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/SharedRiskLinkGroupTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/SharedRiskLinkGroupSubTlvTest.java
similarity index 72%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/SharedRiskLinkGroupTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/SharedRiskLinkGroupSubTlvTest.java
index 7c8ec57..777ff9c 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/SharedRiskLinkGroupTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/SharedRiskLinkGroupSubTlvTest.java
@@ -19,19 +19,19 @@
 import org.junit.Test;
 
 /**
- * Test case for Shared Risk Link Group tlv.
+ * Test case for SharedRiskLinkGroupSubTlv.
  */
-public class SharedRiskLinkGroupTlvTest {
+public class SharedRiskLinkGroupSubTlvTest {
 
     private final int[] raw = {1 };
     private final Short hLength = 2;
-    private final SharedRiskLinkGroupTlv tlv1 = SharedRiskLinkGroupTlv.of(raw, hLength);
+    private final SharedRiskLinkGroupSubTlv tlv1 = SharedRiskLinkGroupSubTlv.of(raw, hLength);
 
-    private final SharedRiskLinkGroupTlv sameAsTlv1 = SharedRiskLinkGroupTlv.of(raw, hLength);
+    private final SharedRiskLinkGroupSubTlv sameAsTlv1 = SharedRiskLinkGroupSubTlv.of(raw, hLength);
 
     private final int[] raw2 = {2 };
     private final Short hLength2 = 3;
-    private final SharedRiskLinkGroupTlv tlv2 = SharedRiskLinkGroupTlv.of(raw2, hLength2);
+    private final SharedRiskLinkGroupSubTlv tlv2 = SharedRiskLinkGroupSubTlv.of(raw2, hLength2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TedCapabilityTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TEDefaultMetricSubTlvTest.java
similarity index 73%
copy from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TedCapabilityTlvTest.java
copy to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TEDefaultMetricSubTlvTest.java
index 18677ca..ee63621 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TedCapabilityTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TEDefaultMetricSubTlvTest.java
@@ -19,13 +19,13 @@
 import org.junit.Test;
 
 /**
- * Test case for TED Capability tlv.
+ * Test case for TEDefaultMetricSubTlv.
  */
-public class TedCapabilityTlvTest {
+public class TEDefaultMetricSubTlvTest {
 
-    private final TedCapabilityTlv tlv1 = TedCapabilityTlv.of(1);
-    private final TedCapabilityTlv tlv2 = TedCapabilityTlv.of(1);
-    private final TedCapabilityTlv tlv3 = TedCapabilityTlv.of(2);
+    private final TEDefaultMetricSubTlv tlv1 = TEDefaultMetricSubTlv.of(1);
+    private final TEDefaultMetricSubTlv tlv2 = TEDefaultMetricSubTlv.of(1);
+    private final TEDefaultMetricSubTlv tlv3 = TEDefaultMetricSubTlv.of(2);
 
     @Test
     public void basics() {
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TEDefaultMetricTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TEDefaultMetricTlvTest.java
deleted file mode 100644
index c46b0af..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TEDefaultMetricTlvTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-/**
- * Test case for TE Default Metric tlv.
- */
-public class TEDefaultMetricTlvTest {
-
-    private final TEDefaultMetricTlv tlv1 = TEDefaultMetricTlv.of(1);
-    private final TEDefaultMetricTlv tlv2 = TEDefaultMetricTlv.of(1);
-    private final TEDefaultMetricTlv tlv3 = TEDefaultMetricTlv.of(2);
-
-    @Test
-    public void basics() {
-        new EqualsTester().addEqualityGroup(tlv1, tlv2).addEqualityGroup(tlv3).testEquals();
-    }
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TELinkAttributesTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TELinkAttributesTlvTest.java
deleted file mode 100644
index 8504a87..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TELinkAttributesTlvTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-import java.util.LinkedList;
-
-/**
- * Test case for TE Link Attribute Tlv.
- */
-public class TELinkAttributesTlvTest {
-
-    private final AdministrativeGroupTlv administrativeGroupTlv1 = new AdministrativeGroupTlv(10);
-    private final MaximumReservableLinkBandwidthTlv maximumReservableLinkBandwidthTlv1 =
-            new MaximumReservableLinkBandwidthTlv(20);
-
-    private final AdministrativeGroupTlv administrativeGroupTlv2 = new AdministrativeGroupTlv(20);
-    private final MaximumReservableLinkBandwidthTlv maximumReservableLinkBandwidthTlv2 =
-            new MaximumReservableLinkBandwidthTlv(30);
-
-    private final LinkedList<PcepValueType> llLinkAttributesSubTLV1 = new LinkedList<>();
-    private final boolean a = llLinkAttributesSubTLV1.add(administrativeGroupTlv1);
-    private final boolean b = llLinkAttributesSubTLV1.add(maximumReservableLinkBandwidthTlv1);
-
-    private final LinkedList<PcepValueType> llLinkAttributesSubTLV2 = new LinkedList<>();
-
-    private final boolean c = llLinkAttributesSubTLV2.add(administrativeGroupTlv2);
-    private final boolean d = llLinkAttributesSubTLV2.add(maximumReservableLinkBandwidthTlv2);
-
-    private final TELinkAttributesTlv tlv1 = TELinkAttributesTlv.of(llLinkAttributesSubTLV1);
-    private final TELinkAttributesTlv sameAsTlv1 = TELinkAttributesTlv.of(llLinkAttributesSubTLV1);
-    private final TELinkAttributesTlv tlv2 = TELinkAttributesTlv.of(llLinkAttributesSubTLV2);
-
-    @Test
-    public void basics() {
-        new EqualsTester().addEqualityGroup(tlv1, sameAsTlv1).addEqualityGroup(tlv2).testEquals();
-    }
-
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TELinkDescriptorsTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TELinkDescriptorsTlvTest.java
deleted file mode 100644
index 4e94209..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TELinkDescriptorsTlvTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-import java.util.LinkedList;
-
-/**
- * Test case for TE link descriptors Tlv.
- */
-public class TELinkDescriptorsTlvTest {
-    private final LinkLocalRemoteIdentifiersTlv linkLocalRemoteIdentifiersTlv1 = new
-            LinkLocalRemoteIdentifiersTlv(10, 10);
-    private final IPv4InterfaceAddressTlv iPv4InterfaceAddressTlv1 = new IPv4InterfaceAddressTlv(0x01010101);
-
-    private final LinkLocalRemoteIdentifiersTlv linkLocalRemoteIdentifiersTlv2 = new
-            LinkLocalRemoteIdentifiersTlv(20, 20);
-    private final IPv4InterfaceAddressTlv iPv4InterfaceAddressTlv2 = new IPv4InterfaceAddressTlv(0x02020202);
-
-    private final LinkedList<PcepValueType> llLinkDescriptorsSubTLVs1 = new LinkedList<>();
-    private final boolean a = llLinkDescriptorsSubTLVs1.add(linkLocalRemoteIdentifiersTlv1);
-    private final boolean b = llLinkDescriptorsSubTLVs1.add(iPv4InterfaceAddressTlv1);
-
-    private final LinkedList<PcepValueType> llLinkDescriptorsSubTLVs2 = new LinkedList<>();
-    private final boolean c = llLinkDescriptorsSubTLVs2.add(linkLocalRemoteIdentifiersTlv2);
-    private final boolean d = llLinkDescriptorsSubTLVs2.add(iPv4InterfaceAddressTlv2);
-
-    private final TELinkDescriptorsTlv tlv1 = TELinkDescriptorsTlv.of(llLinkDescriptorsSubTLVs1);
-    private final TELinkDescriptorsTlv sameAstlv1 = TELinkDescriptorsTlv.of(llLinkDescriptorsSubTLVs1);
-    private final TELinkDescriptorsTlv tlv2 = TELinkDescriptorsTlv.of(llLinkDescriptorsSubTLVs2);
-
-    @Test
-    public void basics() {
-        new EqualsTester().addEqualityGroup(tlv1, sameAstlv1).addEqualityGroup(tlv2).testEquals();
-    }
-
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TENodeAttributesTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TENodeAttributesTlvTest.java
deleted file mode 100644
index 28cf27d..0000000
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/TENodeAttributesTlvTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2015 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.pcepio.types;
-
-import com.google.common.testing.EqualsTester;
-import org.junit.Test;
-
-import java.util.LinkedList;
-
-/**
- * Test case for TE Node Attribute tlv.
- */
-public class TENodeAttributesTlvTest {
-
-    private final NodeFlagBitsTlv nodeFlagBitsTlv1 = new NodeFlagBitsTlv((byte) 10);
-    private final IPv4TERouterIdOfLocalNodeTlv iPv4TERouterIdOfLocalNodeTlv1 = new
-            IPv4TERouterIdOfLocalNodeTlv(0x01010101);
-
-    private final NodeFlagBitsTlv nodeFlagBitsTlv2 = new NodeFlagBitsTlv((byte) 20);
-    private final IPv4TERouterIdOfLocalNodeTlv iPv4TERouterIdOfLocalNodeTlv2 = new
-            IPv4TERouterIdOfLocalNodeTlv(0x02020202);
-
-    private final LinkedList<PcepValueType> llNodeAttributesSubTLV1 = new LinkedList<>();
-    private final boolean a = llNodeAttributesSubTLV1.add(nodeFlagBitsTlv1);
-    private final boolean b = llNodeAttributesSubTLV1.add(iPv4TERouterIdOfLocalNodeTlv1);
-
-    private final LinkedList<PcepValueType> llNodeAttributesSubTLV2 = new LinkedList<>();
-
-    private final boolean c = llNodeAttributesSubTLV2.add(nodeFlagBitsTlv2);
-    private final boolean d = llNodeAttributesSubTLV2.add(iPv4TERouterIdOfLocalNodeTlv2);
-
-    private final TENodeAttributesTlv tlv1 = TENodeAttributesTlv.of(llNodeAttributesSubTLV1);
-    private final TENodeAttributesTlv sameAsTlv1 = TENodeAttributesTlv.of(llNodeAttributesSubTLV1);
-    private final TENodeAttributesTlv tlv2 = TENodeAttributesTlv.of(llNodeAttributesSubTLV2);
-
-    @Test
-    public void basics() {
-        new EqualsTester().addEqualityGroup(tlv1, sameAsTlv1).addEqualityGroup(tlv2).testEquals();
-    }
-
-}
diff --git a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/UnreservedBandwidthTlvTest.java b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/UnreservedBandwidthSubTlvTest.java
similarity index 72%
rename from protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/UnreservedBandwidthTlvTest.java
rename to protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/UnreservedBandwidthSubTlvTest.java
index a50fd9f..f33018f 100644
--- a/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/UnreservedBandwidthTlvTest.java
+++ b/protocols/pcep/pcepio/src/test/java/org/onosproject/pcepio/types/UnreservedBandwidthSubTlvTest.java
@@ -19,14 +19,14 @@
 import org.junit.Test;
 
 /**
- * Unit Test case for Unreserved Bandwidth Tlv.
+ * Unit Test case for UnreservedBandwidthSubTlv.
  */
-public class UnreservedBandwidthTlvTest {
+public class UnreservedBandwidthSubTlvTest {
 
     // Objects of unreserved bandwidth tlv
-    private final UnreservedBandwidthTlv tlv1 = UnreservedBandwidthTlv.of(100);
-    private final UnreservedBandwidthTlv tlv2 = UnreservedBandwidthTlv.of(100);
-    private final UnreservedBandwidthTlv tlv3 = UnreservedBandwidthTlv.of(200);
+    private final UnreservedBandwidthSubTlv tlv1 = UnreservedBandwidthSubTlv.of(100);
+    private final UnreservedBandwidthSubTlv tlv2 = UnreservedBandwidthSubTlv.of(100);
+    private final UnreservedBandwidthSubTlv tlv3 = UnreservedBandwidthSubTlv.of(200);
 
     @Test
     public void basics() {