Fixed some code that was reporting findbugs errors
Implemented a suppression mechanism for findbugs
reported errors and a suppression file.
Change-Id: Ie8a2e84cc57ec6ddfa14d782ee89feb095b9dd59
Problem should now be fixed. Hashing on enums last is a bad
idea because the enum value could be 0.
Change-Id: Ib29e90b393b5285be2807729b52e69b121340f09
and FlowModBuilderVer13) to use Ip4Address and Ip4Prefix
instead of the generic IpAddress and IpPrefix when handling
IPv4 source and destination.
Change-Id: If35d735efe4cf557c79dc04eccf38f6a909e4506
- roleChanged(), isReachable()
Eventually consistent nature of Device store was
interfering with mastership control.
Change-Id: I9c0dd846a4e30863f922f6706c6cb62fd7c83f29
- For some of the methods, the IP Version needs to be specified by the
caller. This applies to the IpPrefix API as well.
- For now, everywhere IpAddress is used and the IP version has to be
explicitly specified by the caller, we assume/specify IPv4.
- Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
* Now IpPrefix uses IpAddress to represent the subnet address
* The IpPrefix subnet address is masked-out by the prefix length.
E.g., IpPrefix("1.2.3.4/24") is now stored as IpPrefix("1.2.3.0/24")
* Removed IpPrefix methods that are not used or don't apply anymore
* Replaced usage of IpPrefix with IpAddress where appropriate
* Removed IpAddress.MAX_INET_MASK and use IpPrefix.MAX_INET_MASK_LENGTH
instead
* Renamed IpAddress.INET_LEN to INET_BYTE_LENGTH
* Added IpAddress.INET_BIT_LENGTH, INET6_BYTE_LENGTH, and INET6_BIT_LENGTH
* Removed methods that are semantically incorrect, or are not needed/used
- IpAddress.prefixLength()
- IpAddress.toPrefix()
- IpAddress.mask()
- IpAddress.netmask()
- IpAddress.network()
- IpAddress.host()
- IpAddress.isMasked()
- IpAddress.contains()
- IpPrefix constructor for version and bytes (but no netmask)
- IpPrefix.valueOf(int)
* Misc. other cleanup.
and cleanup related code:
- Host.ipAddresses()
- DefaultHost.ipAddresses()
- HostDescription.ipAddress()
- DefaultHostDescription.ipAddress()
- HostService.getHostsByIp()
- HostManager.getHostsByIp()
- HostStore.getHosts()
- GossipHostStore.getHosts()
- SimpleHostStore.getHosts()
- ProxyArpService.known()
- ProxyArpManager.known()
As a result of the above cleanup, the "hosts" CLI command outputs
the IP addresses as "1.2.3.4" instead of "1.2.3.4/32".
Also, the following REST calls might be affected as well with
the above format replacement:
- REST POST: config/topology
- REST GET: topology/graph
- LLDPLinkProvider: handle DeviceUpdate event
- DeviceManager: publish Device events caused by Mastership change
- DeviceManager: Always try to markOffLine on deviceDisconnected
- GossipDeviceStore: Silently ignore failure to get Timestamp on port events
Change-Id: I51fbb3f1924007867512f20e62d6d53090c63640
SimpleIntentStore and OpenFlowRuleProvider.
Also improved logging in IntentManager so exception stack traces are logged.
Change-Id: I72f5e20893bda633dc36ea271a0f56c0ddb7fb5a