391 Commits

Author SHA1 Message Date
Thomas Vachuska
945e7b0809 Cleaning up documentation and some white-space.
Change-Id: I3d8ba130f0d7b99c15e52a95a021a8a81e1a1a5f
2015-03-18 23:15:12 +00:00
Murat Parlakisik
af1042df9a Shared Executors implementation , (ONOS-1302)
Change-Id: I7fe5e415bf605c198d3bb42328477aef396c5c89
2015-03-18 16:24:36 +00:00
Ray Milkey
0811bdd703 Disable some brittle tests that are causing problems with Jenkins
Change-Id: I2f79a728545d50f9458048a5980261e84e112f2f
2015-03-11 17:31:13 +00:00
Thomas Vachuska
6519e6f1de Making number of components configurable using the central component configuration subsystem.
Change-Id: Ia32c51480913689339a766d9849e792d62f7d133
2015-03-11 09:12:41 -07:00
Pavlin Radoslavov
87dd930f2e Use a cleaner mechanism to test whether an IP address or prefix
is IPv4 or IPv6.

Change-Id: Ia88f76be87a30573a50eeeedb78d98713ac1ae27
2015-03-10 13:53:24 -07:00
Pavlin Radoslavov
34ffe72753 Added methods to test whether an IP address/prefix is IPv4 or IPv6:
IpAddress.isIp4()
  IpAddress.isIp6()
  IpPrefix.isIp4()
  IpPrefix.isIp6()

Also, added the corresponding unit tests.

Change-Id: I2b1f08501c94d61f75b15f2c6977c0349e313ebd
2015-03-10 20:28:29 +00:00
sangho
5eaf033c6b Add ICMP handler in bgp router app
Change-Id: I22a1dcdf5285e08c691767eb1ca41437e7ce1874
2015-03-10 18:30:56 +00:00
Thomas Vachuska
480adad4a0 Fixing uncaught exception handler and adding a test.
Change-Id: I0861b0200bb39a14c39746ae7b72a1e21f957e35
2015-03-06 19:10:23 +00:00
Brian O'Connor
5eb77c88b6 Updates to ECM interface
Change-Id: Ie0cae42ac2b361cf3b94e5047c157cb0945f4209

Adding origin to IntentData and use it to pick GossipIntentStore peer

Change-Id: I50e9621a69a35ec02b8c8dd79cc926591e5a73e9
2015-03-06 17:01:29 +00:00
Jonathan Hart
233a18aeeb Don't run anti-entropy when under high load
Change-Id: I9e480708b9eced73da98e5c4cb27a18aeb08f09a
2015-03-06 08:53:31 -08:00
Thomas Vachuska
3e2b651d93 Fixing javadocs.
Change-Id: I100488664315af9c1b7faffab2d66ea3263d57ca
2015-03-05 19:29:06 +00:00
Madan Jampani
30a57f891a Added creationTime to Versioned object. This enables supporting a electedTime in leadership, which in turn helps us track how stable leadership terms are.
Change-Id: Ib051027625324646152ed85535ba337e95f8a061
2015-03-02 23:26:04 +00:00
Brian O'Connor
c6713a83a3 Adding BoundedThreadPool and BlockingBoolean
Updating EventuallyConsistentMap to use BoundedThreadPool for broadcast threads,
and disabling anti-entropy for now.

Change-Id: Id1bfcdaf1d0a19745fe7336e4ac9eaf649871d5d
2015-02-28 01:29:50 +00:00
Pavlin Radoslavov
c6aef928c1 Fix a bug when serliazing ICMPv6 packets and the IPv6 packet contains
hop-by-hop options.

This fixes ONOS-1201

Change-Id: I736f96268695dd7e74c99631f25273d1b34d8a6c
2015-02-27 10:23:04 -08:00
alshabib
1058080de1 WIP: Started implementing static flows for corsa vanderweken pipeline.
Modified to not use Corsa driver by default.

Change-Id: If8df5769cf084346121d34bf4490f578e6b6f2d0
2015-02-26 03:31:44 +00:00
Pavlin Radoslavov
dbeab4cc33 Fix a bug when using IpPrefix.contains() and we are mixing IP address
families.

The bug (an exception) is triggered when internally we try to create
a masked IPv4 address with a very long IPv6-derived mask length.

Added the corresponding unit tests.

Change-Id: Id835d27ab3ff38dcf7a1387ff32ccb701aa2fe11
2015-02-23 22:30:55 +00:00
Thomas Vachuska
75af68aad9 Enhancing accumulator to allow subclasses to indicate whether they are ready for the batch to be processed. Default behaviour returns true.
Change-Id: I53a3ffc3ecd75ed2607f155a61971e05a6009a66
2015-02-22 20:41:54 +00:00
Ray Milkey
8dc820868c Fix some compiler warnings about unchecked types
Change-Id: Ib360aa05fd0e194a65bbc0b624447e4bdb4ced93
2015-02-21 05:52:36 +00:00
Pavlin Radoslavov
bf23c550f1 Added new methods IPv4.getDscp() / IPv4.setDscp()
and IPv4.getEcn() / IPv4.setEcn().

Those can be used to get/set the DSCP and ECN bits in the IPv4 header
without explicit bit manipulation at the caller.

Change-Id: Ia7c5779abae5c4fc7a343e3f7ef3355eb7e86e3d
2015-02-21 02:49:01 +00:00
Brian O'Connor
041515f5f2 temporary fix for ONOS-1144: slow IPAddress.toString()
Change-Id: Ia7b9a71bb8c5b90dbc6256c35e8aa5a6567299c8
2015-02-19 23:50:59 +00:00
Thomas Vachuska
ecb63c5a01 Updated accumulator documentation and refactored names to remove the event heritage.
Change-Id: I2238ab1215281702e670a406fb901ba8a4ef85ce
2015-02-19 18:26:00 +00:00
Pavlin Radoslavov
a2626ef982 Implemented a mechanism to easily add and access Neighbor Discovery protocol
packet options.

Fixes ONOS-1011

Change-Id: I94daa3f3c1297fb9a7b44901927738a29aff030a
2015-02-19 17:17:56 +00:00
Brian O'Connor
6b6d0c193c AbstractAccumulator: synchronized add and null check
Change-Id: I2999311d19ab36c17413ebc93398483a7d012714
2015-02-18 21:04:55 -08:00
Thomas Vachuska
c13b90af1a Added thread-group name as a prefix to the thread-group pattern.
Change-Id: Id804ba00f2391d18a1bc4ea06cd39934208d6c18
2015-02-19 02:34:06 +00:00
Thomas Vachuska
62ad95f3f1 Added ability to upload apps as both app.xml or app.zip.
Added a number of app.xml files for built-in apps.
Added ability to install & activate in one command.

Change-Id: I3fa5fa487ef76d9fe3da4d6dce8045d538cba423
2015-02-18 21:33:52 +00:00
Thomas Vachuska
9c17a6d72a Adding ability to easily create name thread factories with threads belonging to hierarchical thread groups.
Change-Id: Iaab3251c13e14b73c54a8edc945f5aa476a7ca54
2015-02-18 19:04:51 +00:00
Pavlin Radoslavov
3ebe170d87 MPLS-related bug fixes:
- Use subtype() instead of type() inside method
   ModMplsLabelInstruction.toString()
 - Check whether the MPLS value is negative inside the MplsLabel()
   constructor.

Change-Id: I770194774219f0c919474928803e078226f2005d
2015-02-17 21:13:24 +00:00
Michele Santuari
4b6019e449 ONOS-631 #Initial MPLS intent implementation
Change-Id: I6f906b953f06f395cc67e612648802e333c0e581
2015-02-14 10:00:48 +00:00
Brian O'Connor
e2eac102fc Using replace instead install when there is already an intent
Fixes the problem of flows being left on the data plane

Change-Id: Iec3db8b460123f2744a57d8c08d14c8effe9ec34
2015-02-13 14:16:23 -08:00
Brian O'Connor
db15b04081 started work to parrallize compliation and "installation"
Change-Id: I2e7f03b9f8074ef6f9e1c186009ed3cad6980b49
2015-02-13 14:10:46 -08:00
Brian O'Connor
cff03322bf Started refactoring Intent Manager
Introduced IntentData and reworked APIs

Change-Id: I1fa437ceb1b72c4017ac2da1573bfbeb64c0632a
2015-02-13 13:59:19 -08:00
Dusan Pajin
a22b970637 ProxyArpManager - fix IPv6 ND Adv issue with Option fields and ARP/NDP Reply
with first IP address from Host service

This fixes ONOS-1010

Also, add protocol-related constants to class NeighborAdvertisement.

Change-Id: Iacf9e48a8a03a86e1cc4e89e7e2b2b4ccc4a7e3a
2015-02-12 22:25:31 +00:00
Dusan Pajin
79f515f50a ICMPv6 checksum calculation fixed in ICMPv6.java
Change-Id: I4ac4a9138e9256318c0345668e7692f2778c136e
2015-02-11 18:24:18 +00:00
Thomas Vachuska
90b453f11c ONOS-785 Adding distributed store for apps & app admin CLIs
Change-Id: Ia7639f3258fca2a18ba513f0c95de0ab8ea7ceee
2015-02-02 22:23:35 +00:00
Thomas Vachuska
02aeb0339f ONOS-542 Defining application subsystem interfaces & public constructs.
Change-Id: Iba0d2cb69dace5beee8a68def9918059ce755b5c
2015-01-30 00:28:45 +00:00
Thomas Vachuska
c31d9f1dcc ONOS-745 Refactoring topology to compute only broadcast tree and not pre-compute paths.
ONOS-744 Refactoring graph search to allow requesting max number of paths.

Change-Id: I28467246b92df32ebb3155c45774ecc051fdd3dd
2015-01-23 12:57:34 -08:00
Jonathan Hart
6cd2f3594b Implemented VLAN-to-VLAN routing support for SDN-IP.
SDN-IP can now support peering and routing between hosts that are connected
on VLANs.

Changes include:
 * Updated NetworkConfigReader app to read (optional) VLAN configuration
 * Updated VlanId to support the 'VLAN present' value - in a match this means
   that a VLAN tag must be present, but it can contain any value.
 * Updated SDN-IP to set destination VLAN tag values if appropriate
 * Updated FlowModBuilder and FlowEntryBuilder to support 'VLAN present' value
 * Slew of test updates.

Change-Id: Ief48cede5c1fd50e1efa851da5a97fb4a8edda29
2015-01-22 03:28:52 +00:00
Thomas Vachuska
d916bcd872 Corrected a javadoc message.
Change-Id: I06dda39b91eda900b0db48e2b3d8665b2cad15e5
2015-01-16 13:03:27 -08:00
Yuta HIGUCHI
c8ad76dc50 Allow null as parameter
Change-Id: I9601bca4af0dadf706a2e0ca2502595d10e7ee74
2015-01-13 18:07:11 +00:00
Charles M.C. Chan
5c0b476e73 Refactor: Avoid using ternary operator. Remove unnecessary casting.
* Apply suggestion in #2192 to previous implemented classes

Change-Id: I271d64202dd43968825600cd9afc49eb400371bf
2015-01-10 17:06:31 +00:00
Charles M.C. Chan
94f37374fa ONOS-512: Implement IPv6 Extension Headers
* Create IExtensionHeader interface
    - setNextHeader, getNextHeader interface for all extension header classes
        - Except EncapSecurityPayload, in which the nextHeader field is encrypted

* Create BaseOptions class
    - Super class of HopByHopOptions and DestinationOptions, since these two are very similar

* Implement following classes with unit test
    - HopByHopOptions
    - DestinationOptions
    - Fragment
    - Routing
    - Authentication
    - EncapSecurityPayload

Change-Id: If65894eccf20ac90f04bc2b0cb42aac6dd5a9674
2015-01-10 17:03:26 +00:00
Ray Milkey
9a39eca2e7 ONOS-423 - Throw a specific exception when resources are exhausted
Create an exception to throw when no resources are available
Simple, Hazelcast and Distributed link resource stores throw ResourceAllocationException
Unit tests for successful and unsuccessful bandwidth and lambda allocations

Change-Id: If062d10d2233935dd59efabfa5f37a446e275a5b
2015-01-06 20:51:15 +00:00
Charles M.C. Chan
ea5aa47ef7 Implement NDP-related classes
* Resolve ONOS-511
* Refactor: Move NDP-related classes into org.onlab.packet.ndp package
* Bugfix: payload is not properly set in testSerialize

Change-Id: Idb2dbfbd0297152c0e26ac2d5d5f8dba62824660
2015-01-06 02:57:58 +08:00
Charles M.C. Chan
7fee36a5eb Trace IPv6 hosts
ONOS-511: Implement NeighborSolicitation

Change-Id: I9aaf35d499cfc7885c74f9c4bf281210ef9f3969

ONOS-507: Trace NeighborSolicitation/NeighborAdvertisement/IPv6 packets in HostLocationProvider
	* Complete Javadoc of IPv6, ICMP6, NeighborAdvertisement and NeighborSolicitation
		- The Javadoc for serialize() is removed since the one in its superclass just works fine.
	* Change 'diffServ' in IPv6 to 'trafficClass' to meet the field name in RFC.
		- The setter method, getter method and unit test are also updated accordingly.
	* Add IpAddress.isZero() to determine if this address is zero.
		- The unit test is also updated accordingly.
	* Fix misuse of IpAddress.valueOf(int) in HostLocationProvider

Change-Id: Id0d873aeb1bc61bf26d4964e7aab4bb06ccd0a38
2015-01-01 19:25:29 +00:00
Charles M.C. Chan
93b7fb0e07 ONOS-508: Implement IPv6, ICMP6 and NeighborAdvertisement class
Create ICMP6 class, which is mostly like ICMP

Change-Id: I11d7abec4a8f1fd202e5dfb0a500f621773c2c3a

Create IPv6 class, which is mostly like IPv4

Change-Id: I7a301a0f94263df5d6d30f73050332ec7acfe611

Register handler class of IPv6 to Ethernet

Change-Id: Iccdef1680664520f9d66360a289809710982ce54

Fix FIXED_HEADER_LENGTH

Change-Id: Iff4fb22638416595f2865ff46b682a0579ba33d5

Fix payloadLength

Change-Id: I8dea4dd52f0bb5926fbff0d9e74fdd19404cabff

Add unittest for serialize

Change-Id: If194aa2530ce517a33b36b97b8478b0a4c463954

Add unittest for deserialize. Fix assertArrayEquals. Refine test structure.

Change-Id: I94f2a348b2be2f5907d8bac6b9029b37eb31456d

Payload length should be handled during serializing/deserializing procedure

Change-Id: Ib079bf939a01a38356c824ed972793293ed8ca1e

Add unittest for comparator

Change-Id: I937dd9330d7c23a81ecd8434ac0fcf7345cc5c00

Fix typo. Fix checkstyle error

Change-Id: I2fe1af81c65416b0fddaa0fb9ae206b87b889628

Add implementation and unittest for NeighborAdvertisement

Change-Id: I7610462a5712f9fee5be0416c08e1de302e0780d

Register handler class of NeighborAdvertisement to ICMP6

Change-Id: I3a7a9cf044cfdcd8908579942c159c2f0aad198d
2014-12-29 18:35:57 +08:00
alshabib
ab98466b10 adding license to ALL files
Change-Id: I9df3277760d79732317816fe5b2f1f482e9f5375
2014-12-05 05:05:32 +00:00
alshabib
4785eec529 removing some TODOs
Change-Id: Ic98c811573a1b37813993eedddec512ec85729f3
2014-12-05 00:59:35 +00:00
Thomas Vachuska
5dd52f7ac4 Enhancing the GUI traffic-related code.
Fixed a defect in reactive forwarding.

Change-Id: I1a91f6e5f57b39425ef06092c82b06d04c9b59a0
2014-11-29 10:43:30 -08:00
Thomas Vachuska
26df2f2dd5 Added short-circuit to Dijkstra when there are no edges.
Change-Id: I7e647ffceeae9de1736c5f36159c33d882bdb9f2
2014-11-27 00:39:26 +00:00
Yuta HIGUCHI
683e97874d Attempt to keep record of uncaught Exception
Change-Id: I0da6aae52c758dd14ccd47c8865827e814f05a58
2014-11-25 20:44:09 -08:00