/** * @param sourceAddress * the sourceAddress to set * @return this */ public IPv4 setSourceAddress(final String sourceAddress) { this.sourceAddress = IPv4.toIPv4Address(sourceAddress); return this; }
/** * @param destinationAddress * the destinationAddress to set * @return this */ public IPv4 setDestinationAddress(final String destinationAddress) { this.destinationAddress = IPv4.toIPv4Address(destinationAddress); return this; }
final ARP p = (ARP) pkt; sb.append("\nnw_src: "); sb.append(IPv4.fromIPv4Address(IPv4.toIPv4Address(p .getSenderProtocolAddress()))); sb.append("\nnw_dst: "); sb.append(IPv4.fromIPv4Address(IPv4.toIPv4Address(p .getTargetProtocolAddress()))); } else if (pkt instanceof LLDP) {
private void arpresponceProcess(ARP arpPacket, DeviceId deviceId) { MacAddress srcMac = MacAddress .valueOf(arpPacket.getTargetHardwareAddress()); MacAddress dstMac = MacAddress .valueOf(arpPacket.getSenderHardwareAddress()); IpAddress srcIp = IpAddress.valueOf(IPv4 .toIPv4Address(arpPacket.getTargetProtocolAddress())); IpAddress dstIp = IpAddress.valueOf(IPv4 .toIPv4Address(arpPacket.getSenderProtocolAddress())); FloatingIp floatingIp = floatingIpStore.get(srcIp); if (floatingIp == null) { return; } DeviceId deviceIdOfFloatingIp = getDeviceIdOfFloatingIP(floatingIp); if (!deviceId.equals(deviceIdOfFloatingIp)) { return; } if (!downloadSnatRules(deviceId, srcMac, srcIp, dstMac, dstIp, floatingIp)) { return; } }
private void arprequestProcess(ARP arpPacket, DeviceId deviceId) { MacAddress dstMac = MacAddress .valueOf(arpPacket.getSenderHardwareAddress()); IpAddress srcIp = IpAddress.valueOf(IPv4 .toIPv4Address(arpPacket.getTargetProtocolAddress())); IpAddress dstIp = IpAddress.valueOf(IPv4 .toIPv4Address(arpPacket.getSenderProtocolAddress())); FloatingIp floatingIp = floatingIpStore.get(srcIp); if (floatingIp == null) { return; } DeviceId deviceIdOfFloatingIp = getDeviceIdOfFloatingIP(floatingIp); if (!deviceId.equals(deviceIdOfFloatingIp)) { return; } Port exPort = exPortOfDevice.get(deviceId); MacAddress srcMac = MacAddress.valueOf(exPort.annotations() .value(AnnotationKeys.PORT_MAC)); if (!downloadSnatRules(deviceId, srcMac, srcIp, dstMac, dstIp, floatingIp)) { return; } Ethernet ethernet = buildArpResponse(dstIp, dstMac, srcIp, srcMac); if (ethernet != null) { sendPacketOut(deviceId, exPort.number(), ethernet); } }