391 Commits

Author SHA1 Message Date
HIGUCHI Yuta
caad26b86f Fix for ONOS-4315
- Additional log on error
- Allow count=0 using CountDownCompleter
- test case to detect the issue (@Ignored by default right now)
- other bug fixes found along the way

Based on patch by Madan@China

Change-Id: I7d6cb8c214052859900ef7ee0337a7e1c8a9d295
2016-04-16 16:06:11 -07:00
Carmelo Cascone
6b32c99c0a New utils class for immutable byte sequences
Helpful when dealing with protocol-independent header match and actions

Change-Id: Iccfc6e09a9ea434caccc198f27e8869db42309c9
2016-04-13 22:07:25 +00:00
Charles Chan
9b26bf30d6 Use VlanId.vlanId(short) to validate the value
Also update the unit test
    - VlanId.vlanId("5000") should throw IllegalArgumentException

Change-Id: I374532080dc2a51da8f2c0a46ea92df6f8abbe56
2016-04-13 17:04:56 +00:00
Jian Li
55cbd5c385 Notify all metric reporters when metric registry has been changed
With existing implementation, it is difficult to notify the
metric reports on metric registry changes. With this commit,
we can spontaneously notify all reporters about the metric
registry changes, so that newly added metrics can be automatically
reported to third party monitoring system.

Change-Id: I1273194553900f6bb03e2ef6bb1b54838af1da00
2016-04-11 17:08:19 +00:00
Brian O'Connor
7cbbbb7009 Adding Copyright notice to files that are missing it
Change-Id: Ic08aad8906dbd4dd062e7adcec7465475cf2bdda
2016-04-09 09:51:27 +00:00
Brian O'Connor
5ab426f9ff Updating copyrights
New format: 'Copyright .year-present Open Networking Laboratory'

Change-Id: I1a9e58b355b775e75245ad875a2d7a4df3f03098
2016-04-09 01:20:21 -07:00
Jian Li
7eed4177ca Aggregate system metrics using metrics service
Change-Id: I617fa21973b7e01b92f311a6fa5687e1f0f870c2
2016-04-08 00:05:54 -07:00
Charles Chan
ba13871a2a Add IPv4 multicast MAC address/mask
Change-Id: Iaed31c0d5bc40305767c4d5be8aeeca1b9f67e6d
2016-04-07 17:48:00 +00:00
Brian O'Connor
b86c920526 Updating Buck files to build OSGi jars
- Using osgi_jar for all modules except apps
- Adding target for installation of core modules to .m2 repo

Change-Id: I65d9e3a9567918e275191724842d7d9b1f485128
2016-04-06 18:17:37 +00:00
Jonathan Hart
be093f7e78 Upgrade Kryo to 3.0.3.
Possible fix for ONOS-4206.

Now stable on multi-instance.

Change-Id: Icd56759a6223b572d3d166555136d64f26706aaa
2016-04-06 17:37:44 +00:00
Luca Prete
283a96205e Using VlanId String None instead of -1
Change-Id: I2597ac37285cc3f40ad1304d668564a56a5b862f
2016-03-31 15:45:40 +00:00
Ray Milkey
f80bbb22c2 Initial BUCK build
Change-Id: I64e8a979301989062f4545a4841b06c15a372049
2016-03-29 21:39:14 +00:00
Jian Li
a1d7f27d7e [ONOS-4142] Restart failed tasks when using SharedScheduledExecutor
With current SharedScheduledExecutor, all failed tasks are simply
suspended in background. This commit enables tasks that are
executed using SharedScheduledExecutor to have the ability to
be restarted even if the tasks are encountered failures.

Change-Id: Ibe00c7f5920b8ae3fe5a433a6f9ec08684d88f36
2016-03-29 00:41:09 +00:00
Jonathan Hart
e65a8f689b Revert "Upgrade Kryo to 3.0.3."
Problems in distributed environment

This reverts commit aa20d61c303be21f8cc1c015601f1e63f76e54a0.

Change-Id: I9f94927edb769afb2c7576a34e017cd77c7af730
2016-03-25 19:19:41 +00:00
Jonathan Hart
aa20d61c30 Upgrade Kryo to 3.0.3.
Possible fix for ONOS-4206.

Change-Id: I6782559b294297f6d929bda49ca6c0fc982cd672
2016-03-25 11:14:29 -07:00
Sho SHIMIZU
c29171ac9a Remove methods deprecated in Emu
Change-Id: I860dbc9fba32014a1239cacbd92e5d747e7ad191
2016-03-24 17:10:33 -07:00
Madan Jampani
329dd1b66b Avoid autoboxing in high frequency code paths
Change-Id: I3b34bed6e99714daab7b4a18b36ef6c5cafb019c
2016-03-22 22:38:19 +00:00
Jian Li
7261c7b31e [ONOS-4127] Backup metric service to ganglia monitoring server
- Initial implementation of metric service reporter
- Unit test for metric service reporter
- Bump up metric lib from 3.1.0 to 3.1.2

Change-Id: Ia178df759d671dfc15cffaacb09d5279ad3d9ad8
2016-03-21 19:51:00 +00:00
Jian Li
d9b5f55457 Refactor getIntegerProperty and isPropertyEnabled methods into Tools
- Add getIntegerProperty and isPropertyEnabled methods which take
  default value as third parameter
- Remove all duplicated code from RefactiveForwarding, GroupManager,
  FlowRuleManager, CoreManager, HostLocationProvider and ProxyArp

Change-Id: Ifc93aa813acfdd4cbac0166497d7b526b08b2090
2016-03-21 18:29:18 +00:00
Brian O'Connor
955c316b54 Starting snapshot 1.6.0-SNAPSHOT 2016-03-10 15:27:19 -08:00
Brian O'Connor
55b4d80176 Tagging 1.5.0 (Falcon) 2016-03-10 15:24:41 -08:00
Madan Jampani
23696428f8 Starting snapshot 1.5.0-SNAPSHOT 2016-03-09 14:02:04 -08:00
Madan Jampani
b7a5420285 Tagging 1.5.0-rc3 2016-03-09 13:47:32 -08:00
Thomas Vachuska
5d8994ffce Starting snapshot 1.5.0-SNAPSHOT 2016-03-03 17:13:26 -08:00
Thomas Vachuska
40d5255ca9 Tagging 1.5.0-rc2 2016-03-03 17:08:36 -08:00
Jian Li
66f1526cf2 Add SharedScheduledExecutors for ease of using ScheduledExecutors
- LogScheduledExecutorService -> SharedScheduledExecutorService
- Add a utility classs for SharedScheduledExecutorService
- Add unit test for SharedScheduledExecutors
- Revise the control message provider to use
  SharedScheduledExecutorService

Change-Id: Ia4dea245543b4751e6edcce1aaab4991d897cc77
2016-03-03 20:29:15 +00:00
Jian Li
54526b4891 [ONOS-3528] Log exceptions of the tasks for SharedExecutorService
This commit tries to log all the runtime exceptions of the tasks
that are executed by using submit method of SharedExecutorService.

Change-Id: I72760213a0f977096353dacd20263e5c93af5c6a
2016-03-03 19:35:50 +00:00
Jian Li
1b4cb33aaf A new ScheduledExecutorService that captures and logs exception
The default ScheduledExecutorService does not provide the
capability to capture and log the exception during executing
scheduleAtFixedRate and scheduleWithFixedDelay methods. This
makes it difficult to debug the program when the scheudled
tasks are failed for some reasons.
A new ScheduledExecutorService allows the developers to capture
and log any exceptions if the tasks are failed during execution.

Change-Id: I549ba0f479b9e302f0e668482873b3032dfea147
2016-03-03 06:16:23 +00:00
alshabib
64a8b9eed8 fix igmp deserialization issue
Change-Id: I38c37a6114957414ba4e13a690cd478b1116ef2c
2016-03-03 01:55:30 +00:00
Jian Li
6686568576 [ONOS-3528] Enable logging exception for SharedExecutorService
Change-Id: I612d5e844412b2ddca6b848e5f7aae5138999d3f
2016-03-03 01:03:38 +00:00
Jian Li
e0ae3fb2c8 [ONOS-3528] Log exception for all threads that use BoundedThreadPool
Change-Id: I9c904c49998a8206ba2b5a084e03e776fa1d8237
2016-03-02 17:05:01 +00:00
Jian Li
03e9fb0b2d [ONOS-3528] Enable logging exception when Executor.execute invoked
Change-Id: I4df7c9a0bc0607c16c4c36103447ce8a8f14ffa7
2016-03-02 17:03:39 +00:00
HIGUCHI Yuta
e48434a0d4 Fix minor javadoc issues
Change-Id: I9803f17ca2b2a21920dccb0e92de6c39f84af315
2016-03-02 08:16:30 +00:00
Charles Chan
aedabfd27a Remove duplicated multicast prefix declaration
(Following #7957)
Also,
Update copyright
Few documentation improvements

Change-Id: If4a6b9f168e9d7587976f1f2b59c2b59b81c6c2f
2016-03-01 20:11:59 +00:00
Jian Li
597d7b2fbd [ONOS-4014] Refactor *Id classes to extend from Identifier class
- Refactor all of *Id classes in protocols package
- Refactor all of *Id classes in utils package

Change-Id: Ie53f078174d0bd0cb5ab4ef6786f1025a7d70846
2016-03-01 06:12:48 +00:00
Charles Chan
4ca8e60b95 Introduce an easy way to check whether an IP address is multicast or not
Change-Id: I192a1b3e04b843fa0446d011cc98393a1950a5a9
2016-02-26 17:00:29 +00:00
HIGUCHI Yuta
b49b007c3f Add some serializer related sanity check
Change-Id: I5ebdde41f5528b5bad0c704b11c191afed45691e
2016-02-23 07:54:48 +00:00
Thomas Vachuska
4844808991 Introducing concept of a physical or logical region to facilitate
support of geographically distributed cluster and to lay ground
for multiple/filtered topology layouts.

Added implementation of manager and store; unit-tests included.

Change-Id: Ia01673a0b711b8785c0ea68768552c2f61d7ea6d
2016-02-22 11:24:45 -08:00
Jonathan Hart
7f4bc52841 Cleanup a few of the CORD apps.
* Removed or turned per-packet logs down to trace in the PIM app
* Can now reconfigure remote sync host in CordMcast
* CordMcast catches REST exceptions rather than bombing

Change-Id: Iae027d5ce1d9047827ea80b071dc77ca49c65206
2016-02-21 20:04:34 -06:00
Jonathan Hart
81d73102c3 Calculate IGMP checksum and use more reasonble max response time.
Also made IGMP properties configurable at runtime.

Change-Id: I98b40a43a0c17b7bf21f1bd622032c64d7434214
2016-02-19 19:14:10 +00:00
Murat Parlakisik
dc17f7bd28 Shared system timer and executor services - monitoring
Change-Id: Ieaa889447dbcb78e4d27fe7409fae463177372b8
2016-02-18 18:53:47 +00:00
Sho SHIMIZU
b5638b8bf3 Add utility method to convert an Optional to a Stream
Change-Id: Ibc77d9bd7fc5232af01abc9b590a62801f13d65f
2016-02-16 23:39:38 +00:00
Jonathan Hart
6ccfc5a3b9 Fixes to the IGMP app to process group membership reports
Change-Id: I7a478011caadb8250f6a25b5fb5a820485e593b6
2016-02-15 01:29:33 +00:00
Rusty Eddy
bcad55b9e6 Added some incoming JoinPrune processing
Change-Id: I7c89f05119ffa012b8e79f05d0f5f63744282ffb
2016-02-12 17:44:17 +00:00
Jonathan Hart
54119bbe6b Add neighbor lifecycle management.
* Made PIMNeighbor mostly immutable (apart from updatable timestamp)
 * Equals and hashCode for PIMNeighbor
 * Remove neighbor when we see a HELLO with holdTime==0
 * Periodic task to time out neighbors who haven't sent a HELLO in a while
 * Added a CLI command to view PIM neighbors

Change-Id: I59e52a847f7abcb8e9ac660c2cccace53e46867b
2016-02-10 15:05:47 -08:00
Jonathan Hart
5af5f149c5 Added configuration for PIM interfaces.
Now the PIM application requires PIM Interface configuration for each interface
that will have PIM enabled (no longer uses all ONOS interfaces). The
interface-specific PIM parameters can be tuned.

Change-Id: Ibc284fdbe1b3aa4da48097b3e92470bce4f349a7
2016-02-10 14:43:26 -08:00
Madan Jampani
c27b6b2deb Fix files with windows line endings + Add checkstyle rule to catch this issue
Change-Id: Ic1905f2121c5c2ab66259f7f531c1e36fe58e9d4
2016-02-05 19:51:54 +00:00
Ray Milkey
b7f0f64dcc ONOS-3460 - Link provider that enforces strict configuration
This provider uses the "links" configuration of the network
config and only allows discovery of links that are in
the config.

Refactoring will be done in a subsequent patch set - the DiscoveryContext and
LinkDiscovery classes are duplicates, they need to be refactored so the
LLDP provider and the Network Config provider can share them.

Change-Id: I4de12fc1c4ffa05e3cac7767b8a31f48ba379f6c
2016-02-03 21:22:12 +00:00
Madan Jampani
7a7ef6d3dc A utility for deferring callback invocation until a preset number of actions complete
Change-Id: Ie4200688072387f53fd01bcb88bc32cc1a6914ce
2016-01-27 07:43:04 +00:00
Jian Li
7f256f5376 Fix all javadoc warnings
Change-Id: I26ba78195fd8245eeb25c29ba27cc4b11b2eb791
2016-01-24 15:28:54 -08:00