[ONOS-5623] Enhance map server to handle Info-Request control msg
Change-Id: If5f68041fbef786e912fc17e33a0e296df73cd3d
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java
index 29cd39e..5ab4f96 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java
@@ -128,7 +128,7 @@
@Override
- public InfoReplyBuilder withInfoReply(boolean infoReply) {
+ public InfoReplyBuilder withIsInfoReply(boolean infoReply) {
this.infoReply = infoReply;
return this;
}
@@ -236,7 +236,7 @@
LispNatLcafAddress natLcafAddress = new LispNatLcafAddress.NatLcafAddressReader().readFrom(byteBuf);
return new DefaultInfoReplyBuilder()
- .withInfoReply(lispInfo.isInfoReply())
+ .withIsInfoReply(lispInfo.isInfoReply())
.withNonce(lispInfo.getNonce())
.withKeyId(lispInfo.getKeyId())
.withAuthDataLength(lispInfo.getAuthDataLength())
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoRequest.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoRequest.java
index a24fd1a..18a055f 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoRequest.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoRequest.java
@@ -114,7 +114,7 @@
@Override
- public InfoRequestBuilder withInfoReply(boolean infoReply) {
+ public InfoRequestBuilder withIsInfoReply(boolean infoReply) {
this.infoReply = infoReply;
return this;
}
@@ -215,7 +215,7 @@
LispInfo lispInfo = DefaultLispInfo.deserialize(byteBuf);
return new DefaultInfoRequestBuilder()
- .withInfoReply(lispInfo.isInfoReply())
+ .withIsInfoReply(lispInfo.isInfoReply())
.withNonce(lispInfo.getNonce())
.withKeyId(lispInfo.getKeyId())
.withAuthDataLength(lispInfo.getAuthDataLength())
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/InfoBuilder.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/InfoBuilder.java
index 655eb49..159bbd7 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/InfoBuilder.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/InfoBuilder.java
@@ -29,7 +29,7 @@
* @param infoReply info reply
* @return T object
*/
- T withInfoReply(boolean infoReply);
+ T withIsInfoReply(boolean infoReply);
/**
* Sets nonce value.
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoReply.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoReply.java
index 05c642c..4e8af92 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoReply.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoReply.java
@@ -20,8 +20,8 @@
/**
* LISP info reply message interface.
* <p>
- * LISP info reply message format is defined in draft-ermagan-lisp-nat-traversal-01.
- * https://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-01#page-8
+ * LISP info reply message format is defined in draft-ermagan-lisp-nat-traversal-11.
+ * https://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-11#page-9
*
* <pre>
* {@literal
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoRequest.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoRequest.java
index 81a9dcf..40fb1f8 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoRequest.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispInfoRequest.java
@@ -18,8 +18,8 @@
/**
* LISP info request message interface.
* <p>
- * LISP info request message format is defined in draft-ermagan-lisp-nat-traversal-01.
- * https://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-01#page-7
+ * LISP info request message format is defined in draft-ermagan-lisp-nat-traversal-11.
+ * https://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-11#page-7
*
* <pre>
* {@literal
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispAfiAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispAfiAddress.java
index 7f67277..0942431 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispAfiAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispAfiAddress.java
@@ -92,6 +92,7 @@
// handle no address
if (afiCode == NO_ADDRESS.getIanaCode()) {
byteBuf.readUnsignedShort();
+ return new LispNoAddress.NoAddressReader().readFrom(byteBuf);
}
// handle IPv4 and IPv6 address
@@ -136,6 +137,9 @@
byteBuf.writeShort(address.getAfi().getIanaCode());
switch (address.getAfi()) {
+ case NO_ADDRESS:
+ new LispNoAddress.NoAddressWriter().writeTo(byteBuf, (LispNoAddress) address);
+ break;
case IP4:
new LispIpAddress.IpAddressWriter().writeTo(byteBuf, (LispIpv4Address) address);
break;
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispNoAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispNoAddress.java
index a8894eb..a36c386 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispNoAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispNoAddress.java
@@ -49,7 +49,7 @@
@Override
public void writeTo(ByteBuf byteBuf, LispNoAddress address) throws LispWriterException {
-
+ // since there is nothing to write to channel, we just leave it empty
}
}
}