111 Commits

Author SHA1 Message Date
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
Luca Prete
283a96205e Using VlanId String None instead of -1
Change-Id: I2597ac37285cc3f40ad1304d668564a56a5b862f
2016-03-31 15:45:40 +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
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
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
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
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
Sho SHIMIZU
b5638b8bf3 Add utility method to convert an Optional to a Stream
Change-Id: Ibc77d9bd7fc5232af01abc9b590a62801f13d65f
2016-02-16 23:39:38 +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
Madan Jampani
f2f086cfd8 Added Change utility class for representing change events + Moved Match class to org.onlab.util
Change-Id: I08e8cd8dd92983bd2764e83016b1abc0bf29388f
2016-01-14 03:15:08 +00:00
Jian Li
68c4fc4862 [ONOS-3737] Bump up checkstyle version from 2.16 to 2.17 with some compilation fixes
Change-Id: I3ade52ff15b3114f5748ab3151c02c8c74af38f0
2016-01-12 03:07:57 +00:00
Jian Li
6080432e78 [ONOS-3535] Implement control metrics aggregation logic
Change-Id: I9953146851d5f3fdf7bcee9561fa86ddb7c7b3fe
2016-01-10 01:24:11 +00:00
Aaron Kruglikov
07d80383de Rebuilding K Paths algorithm
Change-Id: I8f5223cd3004ec89b203b1f177cd226911426906
2015-12-10 00:12:55 +00:00
Jian Li
48190bb1df Add MetricsServiceAdapter for unit test
Change-Id: I5210e14c7cd6e462d750046f5557371ba7d29f15
2015-12-10 00:12:32 +00:00
Madan Jampani
83c27832cf Added an extended set that provides methods to get and (conditionally) replace existing entries
Change-Id: Iec788ac010c59f31ff6d08a84ae3642b2d662fb2
2015-12-08 18:43:28 +00:00
Jian Li
5fc142927a [ONOS-3222] Implement toString method for each Packet class
Change-Id: I17d72338d4202117d08b3dca9463be35a87a0c1e
2015-12-08 07:43:44 +00:00
Thomas Vachuska
41fe1ecad0 ONOS-3515 Added ability to configure different link-weight functions as defaults; or inject custom ones.
ONOS-3516 Added ability to inject alternate graph path search algorithms.

Change-Id: If5831c198a831ae79a9933fc794eb7deab776e2f
2015-12-04 18:22:14 +00:00
Jonathan Hart
d9df7bd278 Fix naming convention issues in preparation for stricter checkstyle enforcement
Change-Id: I918b7b1dcf6424a526b6b26b89acc9a57d807fec
2015-11-13 16:28:02 -08:00
Simon Hunt
95d56fdd4f ONOS-3347 - HostMoved event now processed correctly.
- added new DefaultHashMap utility class
- updated TopoViewMsgHdlrBase for cleaner event translation.

Change-Id: I1c5e8c981e2d617366c25f497dc9336e09684a2e
2015-11-12 21:05:38 +00:00
HIGUCHI Yuta
ca9cc8e28e Avoid use of Objects.hash when there's only 1 params
- directly call #hashCode() when hashed Object seems non-null
- replace with Objects.hashCode(Object) when Nullable
- replace with Long.hashCode(long), etc. when primitive

Change-Id: I08c24ebbe94cf4162d1491209a14baf953163e41
2015-11-05 21:47:59 +00:00
Aaron Kruglikov
f27dba65f5 Added the option to execute on the local thread.
Change-Id: I168eafb2eb57387a7ce5861ff6b8f2b89afd81dd
2015-10-28 20:04:42 +00:00
Aaron Kruglikov
b0ca8cfa50 Changing manually advanced timing for high load.
Change-Id: I89e0919cb9a4353d0b79e71862055d67dbeabf42
2015-10-27 10:33:41 -07:00
Aaron Kruglikov
4ce0b04910 Adds manually advancing timer.
Change-Id: I83936f4fff577b0f23404560c6ecfbc0c9f18e2e
2015-10-08 22:57:56 +00:00
Thomas Vachuska
48e64e4b5b Cleaned up the SRLG and disjoint path code and naming.
Change-Id: I02b6fe5ee1e3f5eadc4e88800386a23349ee5e58
2015-09-23 16:41:43 +00:00
Rusty Eddy
9cbc095cd2 Improvided PIM Hello option handling by creating the
PIMHelloOption class.  Also fixed a typo for pim regsiter
stop message type.

Change-Id: Iff06ce7d2746ebc34811205f4c4a4d4784e2740c
2015-09-21 22:45:35 +00:00
Rusty Eddy
80f12527dc Added packet handling functions for PIM, Specifically
PIM Hello and PIM Join/Prune messages along with
respective PIM encoded address types

Change-Id: Iaef2e3581e27fa910ad355043bcb3e175238706a
2015-09-10 20:15:22 +00:00
Sho SHIMIZU
8dc81ea90c Apply JUnit4 style test
Change-Id: I16a639dbf5f9dd7f08068cf94312e5d04cb8776a
2015-09-10 20:08:03 +00:00
Thomas Vachuska
e796610b1f Modified host discovery to suppress discovery of self-assigned IP addresses.
Change-Id: I40e7c20a6f5b76abe9d9481a135581431e8fcd9f
2015-09-10 01:53:02 +00:00
Charles Chan
3599d63162 [ONOS-2808] Properly deserialzes NDP packets without options
In addition, add following cases into NDP unit tests:
    - testDeserializeBadInput
    - testDeserializeTruncated (NDP headers only, options skipped)

Change-Id: Ia295a5bd7fcdcc25ac556da7bc2eaab13ad8e3b8
2015-09-08 16:44:19 +00:00
alshabib
0588e57103 fixing dhcp serialization problem
Change-Id: Ie049f9c1e464ca9a2b651df74f7b979628d0d745
2015-09-04 22:03:27 +00:00
Rusty Eddy
1da61a2404 Serialize / deserialize functions for IGMP, IGMPv3 Membership
Query and IGMPv3 Membership Report.  IGMP has been added to
the IPv4 deserialization map.

Change-Id: I6d46c3771b6589f1cbd839c58521ffab94b5e230
2015-09-03 19:14:12 +00:00
Thomas Vachuska
a82341cd9e ONOS-2572 Fix to abstract accumulator to proactively finalize the batches when full and to avoid repeat misfires.
Change-Id: Ibc9904b36f9cf8c9aed36e828152600a2d7a6192
2015-08-26 16:28:29 +00:00
Hyunsun Moon
cf732fb688 ONOS-2711 Replaced short to TpPort for tcp/udp ports
Change-Id: Ibf0474b5369d11d377fd33cf5ab48083cbca3308
2015-08-25 16:10:35 +00:00
Madan Jampani
a29c677596 Added RetryingFunction for simplified retry support.
Moved retry logic out of primitives (AtomicCounter) to the caller site.

Change-Id: I319d61f153f98d421baf32a1b5cd69d20dc63427
2015-08-17 23:15:19 +00:00
Nikhil Cheerla
f7c2e1a09b Disjoint Path Pairs (Suurballe) utils
Change-Id: Ie5895899818ea9d6eacf66cbb589ddf33fa3f89d

Disjoint Path Pairs (Suurballe) utils

Change-Id: Ie5895899818ea9d6eacf66cbb589ddf33fa3f89d

Disjoint Path Pairs (SRLG with GA) utils

Change-Id: If072df987621add385ae785f10c8d0a9e45ad559
2015-07-20 18:47:45 +00:00
Jonathan Hart
49f0920b03 Disable all AbstractAccumulator tests.
These are timing sensitive and fail randomly all the time.

Change-Id: Ie22fa93468ee7a7642a0236275c5d6838e3cc363
2015-07-16 16:14:38 +00:00
alshabib
ea74cc9538 ignore intermittent test failure: AbstractAccumulatorTest::readyMaxTrigger
Change-Id: I9247f791fc36f4491697b7a278e6bf778c2eecf9
2015-07-07 10:38:21 -07:00
Jonathan Hart
2a65575cf8 Improve the resiliency of the packet deserialization code.
Packet deserializers now check for malformed input while reading the byte
stream. Deserializers are re-implemented as functions that take a byte array
and return a packet object. The old IPacket.deserialize(...) methods have been
deprecated with the goal of eventually moving to immutable packet objects.
Unit tests have been implemented for all Deserializer functions.

ONOS-1589

Change-Id: I9073d5e6e7991e15d43830cfd810989256b71c56
2015-06-29 16:31:11 +00:00
Aaron Kruglikov
afdf4de12e Replaced IPv6 toString with more efficient local helper.
Change-Id: Ib53d7bdf64354efcace7facad740981fce19447c
2015-06-26 05:01:32 +00:00
Sho SHIMIZU
5c73fd9292 Implement add() and subtract() methos in Bandwidth
Change-Id: I93a382cff1a441fb9c9929fc4fab82c956ccdd0e
2015-05-11 20:29:48 +00:00
Sho SHIMIZU
2908d9ebc6 Implement methods to compare objects in classes representing unit
Methods are added to the following class.
- Bandwidth
- Frequency

To reduce redundant code, RichComparable interface is defined.

Change-Id: Iec96bee9754c6dfca62255b8b4068925d3be13a1
2015-05-11 16:12:12 +00:00
Sho SHIMIZU
816977987d Define Bandwidth class to represent bandwidth with explicit its unit
Change-Id: I863fea61fa5e70edfa53d11e720e400d100131c8
2015-05-08 23:08:36 +00:00
Sho SHIMIZU
ea56028efd Implement a class representing frequency
This resolves ONOS-1769

Change-Id: Ia4d0da59aec79bafdf7686dfad1f1952f94cefc7
2015-04-28 17:50:44 +00:00
Ray Milkey
34c959066d ONOS-533 Fix copyrights
- Any files created in 2014 and modified in 2015 got a copyright of
  2014-2015
- Used canonical form of 2014-2015 to be inclusive of extra years.
  Some files had 2014,2015

Change-Id: If9a133618873e4000b8f10299bde7c870eb1fbd5
2015-04-15 17:41:07 +00:00
Charles M.C. Chan
197a012bf4 Refactor org.onlab.packet.{TCP,UDP,ICMP6}
- ONOS-1012: Fix TCP checksum when using IPv6
- ONOS-1013: Fix UDP checksum when using IPv6
- ONOS-1593: Remove get/setTcpChecksum
- Remove unnecessary parameter of getUrgentPointer() in TCP
- Complete javadoc for TCP
- Add unit test for {TCP,UDP,ICMP6}

Change-Id: Iad5eeb35812ede6764a9a9a4a57b9837e5ea5dd6
2015-04-09 17:47:03 +00:00
Murat Parlakisik
af1042df9a Shared Executors implementation , (ONOS-1302)
Change-Id: I7fe5e415bf605c198d3bb42328477aef396c5c89
2015-03-18 16:24:36 +00:00