2 * Copyright (c) 2014 Contextream, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.implementation.util;
10 import java.net.Inet4Address;
11 import java.net.InetAddress;
12 import java.net.UnknownHostException;
14 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
15 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.address.Ipv4;
16 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapregisternotification.MapRegister;
17 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapregisternotification.MapRegisterBuilder;
18 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification.MapRequest;
19 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification.MapRequestBuilder;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
22 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
24 public class LispNotificationHelper {
26 public static MapRegister convertMapRegister(org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRegister mapRegister) {
27 return new MapRegisterBuilder().setAuthenticationData(mapRegister.getAuthenticationData())
28 .setEidToLocatorRecord(mapRegister.getEidToLocatorRecord()).setKeyId(mapRegister.getKeyId()).setNonce(mapRegister.getNonce())
29 .setProxyMapReply(mapRegister.isProxyMapReply()).setWantMapNotify(mapRegister.isWantMapNotify()).build();
32 public static MapRequest convertMapRequest(org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest mapRequest) {
33 return new MapRequestBuilder().setAuthoritative(mapRequest.isAuthoritative()).setEidRecord(mapRequest.getEidRecord())
34 .setItrRloc(mapRequest.getItrRloc()).setMapDataPresent(mapRequest.isMapDataPresent()).setMapReply(mapRequest.getMapReply())
35 .setNonce(mapRequest.getNonce()).setPitr(mapRequest.isPitr()).setProbe(mapRequest.isProbe()).setSmr(mapRequest.isSmr())
36 .setSmrInvoked(mapRequest.isSmrInvoked()).setSourceEid(mapRequest.getSourceEid()).build();
39 public static IpAddress getIpAddressFromInetAddress(InetAddress inetAddress) {
40 if (inetAddress == null) {
41 inetAddress = InetAddress.getLoopbackAddress();
43 if (inetAddress instanceof Inet4Address) {
44 return new IpAddress(new Ipv4Address(inetAddress.getHostAddress()));
46 return new IpAddress(new Ipv6Address(inetAddress.getHostAddress()));
50 public static InetAddress getInetAddressFromIpAddress(IpAddress ipAddress) {
51 InetAddress address = null;
52 if (ipAddress != null) {
53 if (ipAddress.getIpv4Address() != null) {
54 address = getAddressByName(ipAddress.getIpv4Address().getValue());
55 } else if (ipAddress.getIpv6Address() != null) {
56 address = getAddressByName(ipAddress.getIpv6Address().getValue());
59 if (address == null) {
60 address = InetAddress.getLoopbackAddress();
65 public static InetAddress getInetAddressFromContainer(LispAddressContainer container) {
66 Ipv4Address ipAddress = ((Ipv4) LispAFIConvertor.toAFI(container)).getIpv4Address();
67 return getAddressByName(ipAddress.getValue());
70 public static InetAddress getAddressByName(String IPAddress) {
72 InetAddress address = InetAddress.getByName(IPAddress);
74 } catch (UnknownHostException e) {