package org.opendaylight.lispflowmapping.lisp.util;
import com.google.common.net.InetAddresses;
+
import java.net.InetAddress;
+import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Random;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4Binary;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6Binary;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRequest;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRloc;
InetAddress selectedItrRloc = null;
for (ItrRloc itr : request.getItrRloc()) {
Address addr = itr.getRloc().getAddress();
+ if (addr instanceof Ipv4Binary) {
+ try {
+ selectedItrRloc = InetAddress.getByAddress(((Ipv4Binary) addr).getIpv4Binary().getValue());
+ } catch (UnknownHostException e) {
+ LOG.debug("Cannot convert Ipv6Binary to InetAddress", e);
+ }
+ break;
+ }
+ if (addr instanceof Ipv6Binary) {
+ try {
+ selectedItrRloc = InetAddress.getByAddress(((Ipv6Binary) addr).getIpv6Binary().getValue());
+ } catch (UnknownHostException e) {
+ LOG.debug("Cannot convert Ipv6Binary to InetAddress", e);
+ }
+ break;
+ }
if (addr instanceof Ipv4) {
selectedItrRloc = InetAddresses.forString(((Ipv4) addr).getIpv4().getValue());
break;