import java.nio.ByteBuffer;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana.afn.safi.rev130704.AddressFamily;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IetfInetUtil;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4Afi;
byte[] ipBuffer = new byte[4];
InetAddress address = null;
buffer.get(ipBuffer);
- try {
- address = InetAddress.getByAddress(ipBuffer);
- } catch (UnknownHostException e) {
- LOG.debug("Unknown host {}", ipBuffer, e);
- }
- return new Ipv4Address(address.getHostAddress());
+ return IetfInetUtil.INSTANCE.ipv4AddressFor(ipBuffer);
}
protected interface Length {
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.explicit.locator.path.explicit.locator.path.Hop;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.explicit.locator.path.explicit.locator.path.Hop.LrsBits;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.explicit.locator.path.explicit.locator.path.HopBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IetfInetUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public static Address addressFromInet(InetAddress address) {
if (address instanceof Inet4Address) {
return (Address) new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4Builder()
- .setIpv4(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address(address.getHostAddress())).build();
+ .setIpv4(IetfInetUtil.INSTANCE.ipv4AddressFor(address)).build();
} else if (address instanceof Inet6Address) {
return (Address) new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6Builder()
- .setIpv6(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address(address.getHostAddress())).build();
+ .setIpv6(IetfInetUtil.INSTANCE.ipv6AddressFor(address)).build();
}
return null;
}
}
public static Eid asIpv4PrefixEid(Ipv4Address addr, InstanceIdType vni) {
- return toEid(new IpPrefix(new Ipv4Prefix(addr.getValue() + "/32")), vni);
+ return toEid(new IpPrefix(IetfInetUtil.INSTANCE.ipv4PrefixFor(addr)), vni);
}
public static Eid asIpv6PrefixEid(Ipv6Address addr, InstanceIdType vni) {
- return toEid(new IpPrefix(new Ipv4Prefix(addr.getValue() + "/128")), vni);
+ return toEid(new IpPrefix(IetfInetUtil.INSTANCE.ipv6PrefixFor(addr)), vni);
}
public static Eid asIpv4PrefixEid(Eid eid, Inet4Address address, short mask) {
EidBuilder builder = new EidBuilder();
builder.setAddressType(eid.getAddressType());
builder.setVirtualNetworkId(eid.getVirtualNetworkId());
- builder.setAddress(new Ipv4PrefixBuilder().setIpv4Prefix(new Ipv4Prefix(getStringPrefix(address, mask))).build());
+ builder.setAddress(new Ipv4PrefixBuilder().setIpv4Prefix(IetfInetUtil.INSTANCE.ipv4PrefixFor(address, mask)).build());
return builder.build();
}
EidBuilder builder = new EidBuilder();
builder.setAddressType(eid.getAddressType());
builder.setVirtualNetworkId(eid.getVirtualNetworkId());
- builder.setAddress(new Ipv6PrefixBuilder().setIpv6Prefix(new Ipv6Prefix(getStringPrefix(address, mask))).build());
+ builder.setAddress(new Ipv6PrefixBuilder().setIpv6Prefix(IetfInetUtil.INSTANCE.ipv6PrefixFor(address, mask)).build());
return builder.build();
}
return asKeyValueAddressRloc(new SimpleAddress(new DistinguishedNameType(key)), value);
}
- private static String getStringPrefix(InetAddress address, short mask) {
- StringBuilder sb = new StringBuilder();
- sb.append(address.getHostAddress());
- sb.append('/');
- sb.append(mask);
- return sb.toString();
- }
-
public static SourceDestKey asSrcDst(String src, String dst, int smask, int dmask) {
SourceDestKeyBuilder builder = new SourceDestKeyBuilder();
builder.setSource(new SimpleAddress(asIpPrefix(src, smask)));
*/
package org.opendaylight.lispflowmapping.southbound.util;
-import java.net.Inet4Address;
import java.net.InetAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapnotifynotification.MapNotify;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapreplynotification.MapReplyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequestnotification.MapRequest;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequestnotification.MapRequestBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IetfInetUtil;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
public final class LispNotificationHelper {
// Utility class, should not be instantiated
if (inetAddress == null) {
inetAddress = InetAddress.getLoopbackAddress();
}
- if (inetAddress instanceof Inet4Address) {
- return new IpAddress(new Ipv4Address(inetAddress.getHostAddress()));
- } else {
- return new IpAddress(new Ipv6Address(inetAddress.getHostAddress()));
- }
+
+ return IetfInetUtil.INSTANCE.ipAddressFor(address);
}
}