Reorganize mappingservice.implementation
[lispflowmapping.git] / mappingservice / yangmodel / src / main / java / org / opendaylight / lispflowmapping / lisp / util / MapRequestUtil.java
similarity index 59%
rename from mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/MapRequestUtil.java
rename to mappingservice/yangmodel/src/main/java/org/opendaylight/lispflowmapping/lisp/util/MapRequestUtil.java
index dab186459bfbe2957566453b9866822847610144..8a325cf7cc6287a511ef1daa24a161c244cfb643 100644 (file)
@@ -5,16 +5,22 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.lispflowmapping.implementation.util;
+package org.opendaylight.lispflowmapping.lisp.util;
 
 import java.net.InetAddress;
 import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.Random;
 
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.MapRequest;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.Address;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.address.Ipv4;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.address.Ipv6;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.maprequest.ItrRloc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.maprequest.ItrRlocBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.maprequest.SourceEidBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.maprequestnotification.MapRequestBuilder;
 
 public class MapRequestUtil {
     public static InetAddress selectItrRloc(MapRequest request) {
@@ -41,4 +47,23 @@ public class MapRequestUtil {
         }
         return selectedItrRloc;
     }
+
+    public static MapRequestBuilder prepareSMR(LispAddressContainer srcEid, LispAddressContainer itrRloc) {
+        MapRequestBuilder builder = new MapRequestBuilder();
+        builder.setAuthoritative(false);
+        builder.setMapDataPresent(false);
+        builder.setPitr(false);
+        builder.setProbe(false);
+        builder.setSmr(true);
+        builder.setSmrInvoked(false);
+
+        builder.setSourceEid(new SourceEidBuilder().setLispAddressContainer(srcEid).build());
+        builder.setItrRloc(new ArrayList<ItrRloc>());
+        builder.getItrRloc().add(new ItrRlocBuilder().setLispAddressContainer(itrRloc).build());
+        builder.setMapReply(null);
+        builder.setNonce(new Random().nextLong());
+
+        return builder;
+    }
+
 }