diff --git a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java
index d5f0326..2fd3670 100644
--- a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java
+++ b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java
@@ -21,6 +21,7 @@
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.onlab.packet.Ip4Address;
 import org.onosproject.bgpio.exceptions.BGPParseException;
+import org.onosproject.bgpio.util.Validation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,7 +54,7 @@
      *
      * @return Ipv4 address of interface/neighbor
      */
-    public Ip4Address getValue() {
+    public Ip4Address address() {
         return address;
     }
 
@@ -97,8 +98,7 @@
      * @throws BGPParseException while parsing IPv4AddressTlv
      */
     public static IPv4AddressTlv read(ChannelBuffer cb, short type) throws BGPParseException {
-        //TODO: use Validation.toInetAddress once Validation is merged
-        InetAddress ipAddress = (InetAddress) cb.readBytes(LENGTH);
+        InetAddress ipAddress = Validation.toInetAddress(LENGTH, cb);
         if (ipAddress.isMulticastAddress()) {
             throw new BGPParseException(BGPErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
         }
diff --git a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java
index 65b7c16..7bc7518 100644
--- a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java
+++ b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv6AddressTlv.java
@@ -21,6 +21,7 @@
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.onlab.packet.Ip6Address;
 import org.onosproject.bgpio.exceptions.BGPParseException;
+import org.onosproject.bgpio.util.Validation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,7 +54,7 @@
      *
      * @return Ipv6 address of interface/neighbor
      */
-    public Ip6Address getValue() {
+    public Ip6Address address() {
         return address;
     }
 
@@ -97,8 +98,7 @@
      * @throws BGPParseException while parsing IPv6AddressTlv
      */
     public static IPv6AddressTlv read(ChannelBuffer cb, short type) throws BGPParseException {
-        //TODO: use Validation.toInetAddress once Validation is merged
-        InetAddress ipAddress = (InetAddress) cb.readBytes(LENGTH);
+        InetAddress ipAddress = Validation.toInetAddress(LENGTH, cb);
         if (ipAddress.isMulticastAddress()) {
             throw new BGPParseException(BGPErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null);
         }
