170 Commits

Author SHA1 Message Date
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
Brian O'Connor
7f2e9bf19a bumping version to 1.1.0-SNAPSHOT
Change-Id: I35f10fa7ffab12365ad852f5253bc1f395282f9b
2014-12-04 23:45:40 -08:00
Brian O'Connor
5b29ebd309 Bumping version to 1.0.0
Change-Id: I0cdd1f64a9292c91af27b86e89bd8251b2c298f3
2014-12-04 21:54:26 -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
Brian O'Connor
abafb50f58 Changing org.onlab.onos package to org.onosproject
Change-Id: Ic81421faa27acdcff045add47d9e0a715cd4f575
2014-12-02 22:26:20 -08: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
Sho SHIMIZU
f57a73916e Remove final modifier from static methods
Change-Id: I93dd84874f46114011840ef840315a0d27c221ac
2014-11-26 00:44:38 +00:00
Ray Milkey
37f6a381e1 Unit test refactoring
- removed tests no longer useful now that all Intent objects are unique
- fixed intent object equality tests
- enabled several immutable base class tests
- renamed several Test....java classes to ...Test.Java to
  match project best practices

Change-Id: Ic829d6d39556d2f63323f5e82f3807dba86c62ec
2014-11-25 23:19:34 +00:00
Yuta HIGUCHI
0658627cc1 Run Anti-Entropy in background
Change-Id: I233185d15f52359899427e214339be44cb62971c
2014-11-25 14:27:27 -08:00
Yuta HIGUCHI
a22f69f28a Slice out MetricsHelper/Util
Change-Id: Ic6848f47d38550b78ebd6cdcf414305e54408882
2014-11-25 06:49:43 +00:00
Yuta HIGUCHI
6a46283219 metrics command to dump all the Metric in the system.
- Add probe to measure the time spent querying for Mastership.

Change-Id: I48fe37568a3261ee5b6229a3884e42a3a741b407
2014-11-24 08:32:19 -08:00
Yuta HIGUCHI
91768e30e5 Kryo related fixes
- KryoNamespace to allow control over registration id

Change-Id: Idc2a0e27a09916657c725ee97e4366109144cc66
2014-11-22 19:35:28 -08:00
Brian O'Connor
8576c2af7d change MAC address hash to reduce collisions
Change-Id: I0ec7b53edcfce27508b0ea862da63597aa0ad3fd
2014-11-19 17:03:03 -08:00
Yuta HIGUCHI
75fb1f4a75 Slice out byte[] printer
Change-Id: I095575df5f03057c386be77328897be59c96eaf9
2014-11-19 14:15:17 -08:00
Ray Milkey
705d9bc78d Last two high priority findbugs errors
Change-Id: I180d9156b49c79980f2b2361ec062e5c1cda64a8
2014-11-18 09:26:30 -08:00
Ray Milkey
241b96accd Fix high priority findbugs reported issues
Fixed some code that was reporting findbugs errors

Implemented a suppression mechanism for findbugs
reported errors and a suppression file.

Change-Id: Ie8a2e84cc57ec6ddfa14d782ee89feb095b9dd59
2014-11-17 16:38:30 -08:00
Praseed Balakrishnan
8c67d17142 MPLS label selector and treatment
Change-Id: Id1fba1e04155e6d97de4c8fd95573641537f1b7a
2014-11-15 10:42:36 -08:00
Yuta HIGUCHI
6b38ee3533 Minor fixes
- Format string fix
- FlowRuleEventTest: minor bugfix
- HexString: accept null
- byte[] toString() format change

Change-Id: I9db419cfc211670cc2abd796a21396ba960e23a9
2014-11-14 18:04:38 -08:00
Thomas Vachuska
21e03649dd Cleaning up Javadocs.
Change-Id: I41d075e3e6f6a26b340ce21a5baa8b238dc069ad
2014-11-11 10:23:08 -08:00
Yuta HIGUCHI
3878205f7d KryoNamespace: smaller initial buffer size
Change-Id: I12bf2b09824302c3f626435a64c1e9795621dd6d
2014-11-09 23:55:17 -08:00
Yuta HIGUCHI
d2a3882171 Switched KryoNamespace internal buffer to ByteBufferOutput
Change-Id: Iee3738bf0133440f4b6e695b9b92a9a2c8cc202f
2014-11-06 19:05:04 -08:00
Pavlin Radoslavov
d5087d13d0 Removed method IpAddress.toInt(), because it is semantically incorrect:
It lacks the guarantee the underlying IP address is IPv4.

Potential users of toInt() should use Ip4Address.toInt()
or IpAddress.getIp4Address().toInt()
Tthe latter obviously might require the explicit check that
getIp4Address() is not null.

Change-Id: I3f939695cf3c496e3fdd3fbd4a2988b565cca69a
2014-11-06 13:40:40 -08:00
Thomas Vachuska
ca60f2b0f1 Initial sketch of codecs and REST API approach.
FIxed typos and defects.
ONOS-81

Change-Id: I789444a181abea509c354966545c927e305710d1
2014-11-06 13:29:42 -08:00
Pavlin Radoslavov
50b7067cb9 Changed the semantics of IpAddress.equals() to (eventually) return true
if both objects are instanceof IpAddress.
I.e., comparing IpAddress and Ip4Address objects could return true
if the underlying value is same.

Applied the same change to IpPrefix.equals() as well.

Change-Id: Ie0644565501d3ecce2a8603117b994d033d5b82f
2014-11-05 11:22:25 -08:00
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
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
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
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