350 Commits

Author SHA1 Message Date
Pavlin Radoslavov
34c8164a61 * Added methods IpAddress.getIp4Address() and IpAddress.getIp6Address()
to get the Ip4Address and Ip6Address view of the IpAddress.

* Added methods IpPrefix.getIp4Prefix() and IpPrefix.getIp6Prefix()
  to get the Ip4Prefix and Ip6Prefix view of the IpPrefix.

Added the corresponding unit tests as well.
2014-11-04 16:21:38 -08:00
Pavlin Radoslavov
315d6c8b89 Minor refactoring (for code consistency).
No functional changes.
2014-11-04 15:36:04 -08:00
Pavlin Radoslavov
f182f015a5 Reimplementation of classes Ip4Address/Ip6Address/Ip4Prefix/Ip6Prefix
and the corresponding unit tests.

* Reimplemented classes Ip4Address and Ip6Address by inheriting from
  class IpAddress
* Reimplemented classes Ip4Prefix and Ip6Prefix by inheriting from
  class IpPrefix
* Reimplemented the unit tests Ip4AddressTest and Ip6AddressTest to
  match the corresponding IpAddressTest unit tests
* Reimplemented the unit tests Ip4PrefixTest and Ip6PrefixTest to
  match the corresponding IpPrefixTest unit tests
* Minor refactoring/cleanup of classes IpAddress and IpPrefix
2014-11-04 15:03:18 -08:00
Yuta HIGUCHI
f3fbdd050a findbugs
Change-Id: I040eee94d2eb2622b32fbe8dbf06d81b54765065
2014-11-04 09:46:23 -08:00
Yuta HIGUCHI
2281b3f5e9 rest
Change-Id: If0d838d02690ad4bb581152b40d366c124826634
2014-11-04 00:20:48 -08:00
Yuta HIGUCHI
5c94727a3c javadoc fixes
Change-Id: I3b4fc2d99f42b2413a535fb411b9c19bdd186ad8
2014-11-03 21:39:21 -08:00
weibit
6c415d12dd fix some formats in the k-shortestpathSearch
Change-Id: I3598fceb8f30c501eafcfb54d75b2e4f48d8537b
2014-11-03 19:15:42 -08:00
weibit
86cfc03b4b Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next 2014-11-03 18:31:25 -08:00
Yuta HIGUCHI
f2548cbac2 switch to Java 8
Change-Id: Iaf2b47ce7cfad7fcd5b57c8ec79e0d3e6e66ca73
2014-11-03 18:25:11 -08:00
weibit
9a3631b746 K-shorest path algorithm to support UC1, it can be used by other modules as well.
Change-Id: I736ec55c6211a505d6cf43ab22e1197fdb86ecf3
2014-11-03 15:53:01 -08:00
Pavlin Radoslavov
34c921a02f Completed the IPv6 implementation for IpPrefix, and added
a new set of IpPrefix unit tests.

Also, fix few nits in IpAddress and IpAddressTest
2014-11-03 15:41:22 -08:00
Madan Jampani
1c7b878a65 Netty native transport support 2014-11-03 12:14:29 -08:00
Thomas Vachuska
9d8f72fb55 Removed unneeded import that was breaking the build. 2014-11-03 10:14:05 -08:00
Pavlin Radoslavov
854ecabf36 Updated the testEqualityIPv4 and testEqualityIPv6 to use
Google's EqualsTester.
2014-11-03 09:45:44 -08:00
Yuta HIGUCHI
3e848a8eb8 add methods to directly set MacAddress
Change-Id: Idab9dce493927d8943789177830df630f3b1326a
2014-11-03 09:29:59 -08:00
Pavlin Radoslavov
af5ff79583 Added new method IpAddress.valueOf(InetAddress inetAddress)
and use it as appropriate inside DistributedClusterStore.memberAddress()
2014-10-31 20:51:47 -07:00
Pavlin Radoslavov
d0e32d7486 Added support for IPv6 addresses to class IpAddress:
- 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.
2014-10-31 18:11:43 -07:00
Thomas Vachuska
4b42077418 Cleaned up a slew of Javadoc errors in preparation for switch over to Java 8. 2014-10-30 16:46:17 -07:00
Yuta HIGUCHI
2befc661d9 Loosen Kryo config only for DistributedIntentStore
Change-Id: Ie3f05e2d894b0d44f7c0ad645b77c65d1f2ce02b
2014-10-30 15:57:49 -07:00
Pavlin Radoslavov
855ea2d5b9 Refactor the IpPrefix API and implementation:
* 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
2014-10-30 15:32:39 -07:00
Thomas Vachuska
7b652ad97c Fixed some javadoc warning/errors.
Fixed NPE error in objective tracker.
Preparing for upgrade to Java 8 and Karaf 3.0.2.
2014-10-30 14:10:51 -07:00
Thomas Vachuska
8cd66a53aa Added background image of a us-map as a provisional eye-candy. 2014-10-30 11:53:07 -07:00
Jonathan Hart
4f60f98bd8 Implemented multi-instance packet out.
We've defined a PacketStore abstraction through which outbound packets are
sent. The packet store has a simple implementation (basically a no-op) and a
distributed implementation on top of the cluster messaging service.

Change-Id: Ib32753314fe518ef1fd67c858db744b004539938
2014-10-30 11:02:52 -07:00
Thomas Vachuska
d16ce18d0c Added Port.Type and plumbed it throughout. 2014-10-29 17:25:29 -07:00
Pavlin Radoslavov
49e159acff Updated the implementation of IpAddress:
* Added new static methods IpAddress.makeMaskPrefix and
   IpAddress.makeMaskedAddress
 * Cleanup

Also, removed obsoleted Javadoc comments in Ip4Prefix and Ip6Prefix classes
2014-10-29 16:22:13 -07:00
Madan Jampani
c202954953 Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next 2014-10-29 15:46:20 -07:00
Pavlin Radoslavov
52307e60ba IpAddress and IpPrefix related cleanup:
* 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.
2014-10-29 15:07:37 -07:00
Madan Jampani
a5012891b4 Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next 2014-10-29 13:48:03 -07:00
Madan Jampani
5f9ec9ac28 Netty Messaging changes:
1. Lowered the timeout value for expiring unanswered sendAndReceive calls to 10s.
2. Marking the future as complete (with exception) when a entry is evicted due to timeout.
3. Improved exception behavior.
2014-10-29 13:45:52 -07:00
Thomas Vachuska
4f1a60c9fd Revised copyright message. 2014-10-28 13:39:11 -07:00
Madan Jampani
15cd0b8fd3 Netty bug fix: Do not use weakValues in a cache where we track outstanding responses. 2014-10-28 08:40:23 -07:00
Pavlin Radoslavov
e7b5bd768c Updated creation of IpAddress instance inside IpPrefixTest
to exclude specifying the prefix length, because it is not
applicable for IpAddress.
2014-10-27 20:17:24 -07:00
Thomas Vachuska
e1bcb0b3ef Added isLinkLocal predicate to MacAddress and used it in ReactiveForwarding. 2014-10-27 17:45:10 -07:00
Thomas Vachuska
4353a5a390 Fixed graph relaxEdge to properly deal with Double.MIN_VALUE. 2014-10-27 15:18:10 -07:00
Thomas Vachuska
24c849c488 Added copyrights to the utils code 2014-10-27 09:53:05 -07:00
Thomas Vachuska
4d69087215 Doh! Forgot to actually check for negative cycles in relaxEdge. 2014-10-27 08:57:08 -07:00
Madan Jampani
cfbc05404b Removed exception stack trace for a warning log message 2014-10-24 20:38:07 -07:00
Madan Jampani
24f9efb49e sendAndReceive now returns a Future instead of Reponse 2014-10-24 18:56:23 -07:00
Pavlin Radoslavov
9de2772d0d Work toward common IP address classes.
Ported the following IP address classes from the older codebase:
Ip4Address, Ip6Address, Ip4Prefix, Ip6Prefix (and the corresponding
unit tests).
NOTE: Those classes are not ready to be used yet.

Change-Id: I234875abbc9df8daa2f8ae28706af591dd2c5f2d
2014-10-23 20:35:48 -07:00
Pavlin Radoslavov
d26f57a8e6 Refactoring in the unit test utility framework:
* Moved unit test utilities to the onlab-junit package under utils/junit
   - ImmutableClassChecker
   - TestUtils and TestUtilsTest

 * Added/ported unit test utilities from the older code
   - UtilityClassChecker and UtilityClassCheckerTest
   - ImmutableClassCheckerTest

 * Updated/fixed some of the pom.xml files in the context of the
   onlab-junit package:
   - Added <scope>test</scope>
   - Replaced hard-coded "1.0.0-SNAPSHOT" with "${project.version}"

Change-Id: Ie5f51ba401ca1748340f38848ab6bfc251964adc
2014-10-23 17:58:36 -07:00
Pavlin Radoslavov
41d5adb3d4 Added a new class EventMetric that can be used for measuring events:
rate and last event timestamp (ms from epoch)

Change-Id: Ifce6c2ca911f3b288a0efd9061befc936d06da51
2014-10-23 13:44:21 -07:00
Yuta HIGUCHI
e5ca93bf1f fix some of findbugs issues
Change-Id: I20aa54af16f3a1e3323d735fe53cc26c03d5e52e
2014-10-23 12:14:37 -07:00
Pingping
3855f31f9e add unit test to Router class
Change-Id: I26d129fdae3b247e7f3976b7fbe953bef47cd4fd
2014-10-23 08:16:15 -07:00
Thomas Vachuska
9252bc33a0 Added a REST command to upload topology configuration. 2014-10-23 02:33:25 -07:00
Ray Milkey
5154ec3e91 Fix some unchecked conversion warnings
Change-Id: I5cfb0fceb6ab1d200fb1d7e9849ce458a2aa8ac7
2014-10-22 11:05:43 -07:00
Pavlin Radoslavov
64d9e47215 Added initial implementation of Topology-related event and
event metrics collector. It can be loaded by one of the following two (new)
features: onos-app-metrics, onos-app-metrics-topology

After loading the module, it subscribes for topology-related events
and keeps the following state:
 (a) The last 10 events
 (b) The timestamp of the last event (ms after epoch) as observed by this
     module
 (c) The rate of the topology events: count, median rate, average rate
     over the last 1, 5 or 15 minutes

The following CLI commands are added:
 * onos:topology-events
   Shows the last 10 topology events

 * onos:topology-events-metrics
   Shows the timestamp of the last event, and the rate of the topology
   events: see (b) and (c) above
2014-10-21 22:13:09 -07:00
Pavlin Radoslavov
3559249b9b Refactoring and cleanup in the Metrics module:
* Removed logging related code inside class MetricsManager
 * Removed @Component related code, because it is not suppose to be used
   as an component.
 * Added a new class-wrapper so the Metrics can be used as a loadable service:
   MetricsManagerComponent. The name and the location of this class
   will be refactored in the future.
 * Added new method MetricsManager.removeMetric()
 * Line formatting
 * Changed "interface MetricsService" to public
2014-10-21 21:57:25 -07:00
Pavlin Radoslavov
df042bd11d Minor cleanup in the Metrics module:
* Add missing Javadoc
 * Line formatting

No functional changes.
2014-10-21 21:47:38 -07:00
Madan Jampani
871009392c Added NettyMessagingService constructor that accepts both ip and port 2014-10-21 16:46:12 -07:00
Madan Jampani
99e9fe2c15 Better netty transport initialization 2014-10-21 13:47:12 -07:00