public MacAddress findMacWithIp(String macStr, String ipStr) { // TODO Auto-generated method stub for (MacAddress mac : getListMacs()) { if (mac.getMacAddress().equals(macStr)) { for (IpAddress ip : mac.getAllIpAddress()) { if (ip.getIpAddress().equals(ipStr)) { return mac; } } } } return null; }
@Override public String toString() { return toStringHelper(getClass()) .add("hardwareType", Short.toString(hardwareType)) .add("protocolType", Short.toString(protocolType)) .add("hardwareAddressLength", Byte.toString(hardwareAddressLength)) .add("protocolAddressLength", Byte.toString(protocolAddressLength)) .add("opCode", Short.toString(opCode)) .add("senderHardwareAddress", MacAddress.valueOf(senderHardwareAddress)) .add("senderProtocolAddress", Ip4Address.valueOf(senderProtocolAddress)) .add("targetHardwareAddress", MacAddress.valueOf(targetHardwareAddress)) .add("targetProtocolAddress", Ip4Address.valueOf(targetProtocolAddress)) .toString(); }
private String getLastEndTimeForDay() { // TODO Auto-generated method stub if (getListMacs().size() > 0) { String endTime = "00:00"; for (MacAddress mac : getListMacs()) { for (IpAddress ip : mac.getAllIpAddress()) { String ipEndTime = ip.getEndTime(); if (ipEndTime.compareTo(endTime) > 0) { endTime = ipEndTime; } } // end for } // end for return endTime; } return null; }
/** * Builds an ARP reply based on a request. * * @param srcIp the IP address to use as the reply source * @param srcMac the MAC address to use as the reply source * @param request the ARP request we got * @return an Ethernet frame containing the ARP reply */ public static Ethernet buildArpReply(Ip4Address srcIp, MacAddress srcMac, Ethernet request) { Ethernet eth = new Ethernet(); eth.setDestinationMACAddress(request.getSourceMAC()); eth.setSourceMACAddress(srcMac); eth.setEtherType(Ethernet.TYPE_ARP); eth.setVlanID(request.getVlanID()); ARP arp = new ARP(); arp.setOpCode(ARP.OP_REPLY); arp.setProtocolType(ARP.PROTO_TYPE_IP); arp.setHardwareType(ARP.HW_TYPE_ETHERNET); arp.setProtocolAddressLength((byte) Ip4Address.BYTE_LENGTH); arp.setHardwareAddressLength((byte) Ethernet.DATALAYER_ADDRESS_LENGTH); arp.setSenderHardwareAddress(srcMac.toBytes()); arp.setTargetHardwareAddress(request.getSourceMACAddress()); arp.setTargetProtocolAddress(((ARP) request.getPayload()).getSenderProtocolAddress()); arp.setSenderProtocolAddress(srcIp.toInt()); eth.setPayload(arp); return eth; }
@Override public int compareTo(NodeInfo o) { return mac.compareTo(o.mac); }