412 Commits

Author SHA1 Message Date
Carmelo Cascone
804c0010e3 Added kryo serializer for ImmutableByteSequence
Serialization was failing when the inner ByteBuffer instance was a
HeapByteBuffer. Also, simplified ImmutableByteSequence.toString()

Change-Id: I4f75086a9b6536205fb43b78a0e4d2bfce9e8a5c
2016-06-29 16:26:10 +00:00
Brian O'Connor
1b2aea88c0 Removing gratuitous relativePath from pom.xmls
The default value for relativePath is: ../pom.xml

Change-Id: I1f5e5e6bfa1e91fcddae4f8cb8ab0c00c276e6b0
2016-06-16 07:05:31 +00:00
Carmelo Cascone
17fc9e41df Major refactoring of the BMv2 protocol module (onos1.6 cherry-pick)
- Created 3 separate sub-modules: API (doesn't depend on
    Thrift), CTL (depends on Thrift), THRIFT-API (to generate Thrift
    sources)
- Implemented 2 new services (for device configuration swapping and
    table entry management) needed to distribute BMv2-specific state
    among ONOS instances.
- Implemented a BMv2 controller (previously other modules where
    using separately a Thrift client and a server)
- Added a default BMv2 JSON configuration (default.json) and interpreter
    to be used for devices that connect for the first time to ONOS.
    This allows for basic services to work (i.e. LLDP link discovery,
    ARP proxy. etc.).
- Changed behavior of the flow rule translator and extension selector,
    now it allows extension to specify only some of the match parameters
    (before extension selectors were expected to describe the whole
    match key, i.e. all fields)
- Various renaming to better represent the API
- Various java doc fixes / improvements

Change-Id: Ida4b5e546b0def97c3552a6c05f7bce76fd32c28
2016-06-16 00:47:42 +00:00
Yuta HIGUCHI
839b6edf50 Fixing file permissions
- removing executable bit from .java files

Change-Id: I7e993372e1edf942fefb5aaea2e302b3b2baebd9
2016-06-15 02:22:16 +00:00
Jonathan Hart
7838c51a4b Use ON.Lab OUI for LLDP packets.
Change-Id: Ie285a47c5abd10a9ac37b3ca8f6ddf16ad867b2d
2016-06-08 21:43:39 +00:00
Carmelo Cascone
6d9ab3a291 Added possibility to decode HEX strings without separator
Change-Id: I6e11ad2a3dc4e39b148a740d5f19d80705f78b48
(cherry picked from commit 6eaa33ab046dde1ee79ce976457f1fb7f0a85b5f)
2016-06-01 11:20:08 -07:00
Brian O'Connor
e642f7cf7b Bumping version to 1.7.0-SNAPSHOT
Change-Id: Id105bf08ecbdac6d4e214ae035b4220aea90f29f
2016-05-23 18:35:29 -07:00
HIGUCHI Yuta
f96f7cf729 Remove unnecessary delay in CounterTest.
Change-Id: I5a29c88f803c2d01f9b4f502b64ad4d1460b977b
2016-05-22 20:22:40 +00:00
HIGUCHI Yuta
107ec54cdf Fix spurious failure under heavy load.
Change-Id: I1d5b203fba0aae1d2dd64905fd0b764a76bca87f
2016-05-21 12:18:28 -07:00
Ayaka Koshibe
4822922b23 [ONOS-4424] Tag LLDP/BDDP source address with fingerprint
Link probes incorporate cluster fingerprint in source
MAC address. This removes the need for an additional TLV and the
complexity associated with it, and also adds fingerprinting to
BDDPs for free.

 - fingerprint in Ethernet source address. The old default MAC
   value is only used when the CusterMetadata service isn't ready.
 - remove support for TLV fingerprint field and associated config
   knobs.
 - links at control domain boundary are classified as EDGE type links.

Change-Id: Idb07dd06fbeee25e9fcee3fbdddec7a7dbb2c397
2016-05-21 19:02:12 +00:00
Sho SHIMIZU
55caa1cfcd ONOS-4561: Exclude non standard VLAN IDs
Change-Id: I3f7542521d0867e71f11263e46d6116cd6120428
2016-05-20 16:12:10 +00:00
HIGUCHI Yuta
163efb5060 Some improvements around EventuallyConsistentMapBuilder serializer handling.
- Allow directly passing KryoNamespace
- Add some registration id gap before ECMap's internal registration
- Some improvements for ease of registration issue investigation
-- Add friendly name to ECMap's internal KryoNamespace
-- Add backtrace information

Change-Id: I7c87b3aefbaea4b2ed12b38c3e0813e9d195c7a9
2016-05-19 16:38:52 +00:00
HIGUCHI Yuta
b2d0fd8380 KryoNamespace improvements
- Ignore duplicate Namespace registration
- Add friendly name for helping logging

- ONOS-4528

Change-Id: Id78f2a0f6e9715a7880875039825e294a68592a9
2016-05-19 15:18:23 +00:00
Madan Jampani
b7f38d499b Lower log level for Kryo serializer id fallback message
Change-Id: If6d0cc891b7bfca096b3d3508f30f8516d3c103f
2016-05-17 23:26:25 +00:00
Ray Milkey
6f95568fde lower severity to info if a class is registered more than once for serialization
Change-Id: Ic5728a2bf316a5a4efa7ff6bec8f3675122108b5
2016-05-16 14:03:12 +00:00
HIGUCHI Yuta
0a1f29ecca Check if there's conflict in serializer registration Id.
- remove duplicate detected
- Add little head space, just in case Kryo start registering some more built-ins.

Change-Id: I8b1318d0e11ce1c0680aaef29cc88c96af78ae6f
2016-05-10 20:27:55 +00:00
HIGUCHI Yuta
0bc256f575 Help type inference.
- Build was failing with eclipse ECJ

Change-Id: I506e90b52b0c0f63081e75cfa98a83bf294261ba
2016-05-06 23:08:50 +00:00
Brian O'Connor
f32da3be51 Increasing timeout limit in BoundedThreadPoolTest
It can fail on slower systems

Change-Id: Icc93945aeb09a79d5ace84606e286cabd7e6c4ee
2016-05-05 16:37:47 -07:00
Sho SHIMIZU
c0e010ddde Implement compact serialization for a set of discrete resources
This is for ONOS-4281.

Change-Id: I08a9fc4fd334c499c7a09d2960145743a798094e
2016-05-04 17:58:45 +00:00
Sho SHIMIZU
6ac2098207 Make the method receive a more flexible parameter
Change-Id: Icf5d0e272a6f20be40a266f276710b1cd0c144ef
2016-05-04 17:18:45 +00:00
Carmelo Cascone
aa8b6297a3 Various Bmv2 protocol refactorings in preparation of the flow rule
translator (ONOS-4044)

- Added new classes for different match parameters (exact, ternary, lpm,
  valid)
- Divided api package in two sub-packages, model (previously under
  drivers) and runtime (old api package)
- Improved Bmv2ThriftClient caching and table entry handling

Change-Id: I23c174cf3e8f9f6ecddb99c2d09dc531e8f1c73f
2016-04-26 11:46:30 -07:00
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