[ONOS-4718] Initial implementation of LISP address serializer
Change-Id: I71e1923f6daf1abdf2bf9798a9e421c81926a45c
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java
index 1cc5829..a0df8d8 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java
@@ -18,6 +18,7 @@
import io.netty.buffer.ByteBuf;
import org.onlab.packet.IpAddress;
import org.onosproject.lisp.msg.exceptions.LispParseError;
+import org.onosproject.lisp.msg.exceptions.LispWriterException;
import java.util.Objects;
@@ -74,4 +75,16 @@
return new LispIpv4Address(ipAddress);
}
}
+
+ /**
+ * IPv4 address writer class.
+ */
+ public static class Ipv4AddressWriter implements LispAddressWriter<LispIpv4Address> {
+
+ @Override
+ public void writeTo(ByteBuf byteBuf, LispIpv4Address address) throws LispWriterException {
+ byte[] ipByte = address.getAddress().getIp4Address().toOctets();
+ byteBuf.writeBytes(ipByte);
+ }
+ }
}