X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fhosttracker_new%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fhosttracker%2Finternal%2FDevice.java;h=a97cb273837257a23a34460696de49cf29942241;hb=8f13b5e59fc066808cc73879f8defcb9cf3dc82a;hp=90911fe152f13e8f0c820a00a495dc838da6afdc;hpb=9c8108faabf300747a2a5529dc7a8ef76e79c2bc;p=controller.git diff --git a/opendaylight/hosttracker_new/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/Device.java b/opendaylight/hosttracker_new/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/Device.java index 90911fe152..a97cb27383 100755 --- a/opendaylight/hosttracker_new/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/Device.java +++ b/opendaylight/hosttracker_new/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/Device.java @@ -33,6 +33,7 @@ package org.opendaylight.controller.hosttracker.internal; +import java.net.InetAddress; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -51,6 +52,7 @@ import org.opendaylight.controller.hosttracker.IDeviceService.DeviceField; import org.opendaylight.controller.hosttracker.IEntityClass; import org.opendaylight.controller.hosttracker.SwitchPort; import org.opendaylight.controller.hosttracker.SwitchPort.ErrorStatus; +import org.opendaylight.controller.hosttracker.hostAware.HostNodeConnector; import org.opendaylight.controller.sal.core.NodeConnector; import org.opendaylight.controller.sal.utils.HexEncode; import org.slf4j.Logger; @@ -779,6 +781,32 @@ public class Device implements IDevice { return true; } + public HostNodeConnector toHostNodeConnector() { + Integer[] ipv4s = this.getIPv4Addresses(); + try { + Entity e = this.entities[this.entities.length-1]; + NodeConnector n = null; + if(e!=null) + n = e.getPort(); + InetAddress ip = InetAddress.getByName(ipv4s[ipv4s.length - 1] + .toString()); + byte[] macAddr = macLongToByte(this.getMACAddress()); + HostNodeConnector nc = new HostNodeConnector(macAddr, ip, n, + (short) 0); + return nc; + } catch (Exception e) { + return null; + } + } + + private byte[] macLongToByte(long mac) { + byte[] macAddr = new byte[6]; + for (int i = 0; i < 6; i++) { + macAddr[5 - i] = (byte) (mac >> (8 * i)); + } + return macAddr; + } + @Override public String toString() { StringBuilder builder = new StringBuilder();