-/**
+/*
* Copyright (c) 2014 André Martins, Colin Dixon, Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
import java.math.BigInteger;
import java.util.Date;
import org.opendaylight.controller.sal.binding.api.NotificationService;
-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.yang.types.rev100924.MacAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.address.tracker.rev140617.address.node.connector.Addresses;
import org.opendaylight.yang.gen.v1.urn.opendaylight.address.tracker.rev140617.address.node.connector.AddressesBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.address.tracker.rev140617.address.node.connector.AddressesKey;
*/
public class SimpleAddressObserver implements ArpPacketListener, Ipv4PacketListener, Ipv6PacketListener {
- private final String IPV4_IP_TO_IGNORE = "0.0.0.0";
- private final String IPV6_IP_TO_IGNORE = "0:0:0:0:0:0:0:0";
+ private static final String IPV4_IP_TO_IGNORE = "0.0.0.0";
+ private static final String IPV6_IP_TO_IGNORE = "0:0:0:0:0:0:0:0";
- private HostTrackerImpl hostTrackerImpl;
- private NotificationService notificationService;
+ private final HostTrackerImpl hostTrackerImpl;
+ private final NotificationService notificationService;
public SimpleAddressObserver(HostTrackerImpl hostTrackerImpl, NotificationService notificationService) {
this.hostTrackerImpl = hostTrackerImpl;
hostTrackerImpl.packetReceived(addrs, ingress.getValue());
}
- private Addresses createAddresses(MacAddress srcMacAddr, VlanId vlanId, IpAddress srcIpAddr, KnownEtherType ketype) {
+ private Addresses createAddresses(MacAddress srcMacAddr, VlanId vlanId, IpAddress srcIpAddr,
+ KnownEtherType ketype) {
AddressesBuilder addrs = new AddressesBuilder();
if (srcMacAddr == null || srcIpAddr == null) {
return null;
}
- /**
+ /*
* TODO: if this is used, use a ReadWriteTranscation to figure out if
* there is an already existing addresses that has the same MAC, IP,
* VLAN triple and use it’s ID then, if there’s none, then we make up
* our own Addresses
*/
- BigInteger id = BigInteger.valueOf(ketype.getIntValue()).abs().add(BigInteger.valueOf(srcMacAddr.hashCode()).abs().shiftLeft(16));
+ BigInteger id = BigInteger.valueOf(ketype.getIntValue()).abs()
+ .add(BigInteger.valueOf(srcMacAddr.hashCode()).abs().shiftLeft(16));
addrs.setId(id);
- addrs.setKey(new AddressesKey(addrs.getId()));
+ addrs.withKey(new AddressesKey(addrs.getId()));
addrs.setVlan(vlanId);
addrs.setIp(srcIpAddr);
addrs.setMac(srcMacAddr);
-// addrs.setFirstSeen(new Date().getTime());
+ // addrs.setFirstSeen(new Date().getTime());
addrs.setLastSeen(new Date().getTime());
return addrs.build();
}