* 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) {
}
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;
+ }
+
}