92 Commits

Author SHA1 Message Date
Charles M.C. Chan
e148de8087 Request packet in when config being modified during runtime.
We can now enable features such as IPv6 via cfg command dynamically.
NOTE: We should remove unnecessary packet requests when app being deactivated
or modified once PacketService support the request revocation.

Change-Id: I7f239ce9db74456097675d03de99468db70a919f
2015-05-06 17:55:40 +00:00
Charles M.C. Chan
9148d2d15d Bugfix for gerrit #3377
NDP packets, especially NS/NA packets, are not resolved correctly in my previous commit #3377.
As a result, the IPv6 addresses of normal hosts are not recorded by HostLocationProvider.

Change-Id: Id44485902d9b593c2a8aa376e405f548774203d2
2015-04-26 21:43:54 +00:00
Charles M.C. Chan
956cb69f5e ONOS-1414: Fix phantom hosts
- Refactor HostLocationProvider
- Ignore multicast packets other than NDP

Change-Id: I6b66becbc30a6a7e83f1da53fb46cf9c073fc86c
2015-04-27 03:07:52 +08: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
Thomas Vachuska
f845cf6cfd HostLocationProvider fix to avoid locating hosts on logical ports.
Change-Id: I39c754bbb204ef13799f4630557d29e2c18ad915
2015-03-24 10:13:09 -07:00
Charles M.C. Chan
441d7da3dd ONOS-1153: Ignore Router Solicitation, Router Advertisement and DAD in HostLocationProvider
Change-Id: I533919fc0b04b87ca54ff0933ca87d38b664e2ef
2015-03-19 00:05:34 +00:00
Brian O'Connor
6ea48a22fe Starting snapshot 1.2.0-SNAPSHOT
Change-Id: Iffa1055c22448849353ede6581c277f4d3de78d8
2015-03-17 20:07:20 -07:00
Brian O'Connor
91d9019b24 Tagging ONOS Blackbird release: 1.1.0
Change-Id: Iee1accb8f83e03a1c4b2250d36d48aefd6383c97
2015-03-17 19:45:58 -07:00
Thomas Vachuska
8c8b0372e5 Adding OnosCfgMojo to the onos maven plugin.
Removing previously manuall generated files since they are now auto-generated.

Change-Id: I1f8361f97db74c9e2f077b3d5e7a6e65876561ef
2015-03-13 03:42:02 +00:00
Brian O'Connor
1545b1ef08 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I8caca4df60027426c18b51c1b35c313fe9ac1c10
2015-03-11 16:38:23 -07:00
Brian O'Connor
20fa3a45f9 Tagging 1.1.0-rc2
Change-Id: I1fa0feb1b790f79baa465fd82965433e109b34b2
2015-03-11 16:23:07 -07: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
Brian O'Connor
266ac66643 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I2abf73c248c04f0559f97b313be034b48761695a
2015-03-01 07:36:09 +00:00
Brian O'Connor
352236e289 Tagging 1.1.0-rc1
Change-Id: I9c95f8309e1c98bc1a25eeaad1962b4d28257261
2015-03-01 07:36:08 +00:00
Saurav Das
c313c405b2 Couple of changes for the BGP Router project:
1. Link Discovery can be turned off completely via configuration
2. PacketService allows applications to hint at table_type when registering for packets

Change-Id: I89f0bbf84dce1b449db5af19868f83503c44f750
2015-02-27 13:38:43 -08:00
Pavlin Radoslavov
93b606be85 Add explicit configuration for enabling IPv6-related flow installation
(IPv6 Neighbor Discovery related flow mods).
The default configuration is false (disabled).

This fixes ONOS-1146

The configurable parameters are:

 tools/package/etc/org.onosproject.provider.host.impl.HostLocationProvider.cfg
  - Enable host removal on port/device down events.
    (NOTE: not IPv6 related, added for completeness)
    hostRemovalEnabled = true
  - Enable using IPv6 Neighbor Discovery by the Host Location Provider.
    ipv6NeighborDiscovery = false

 tools/package/etc/org.onosproject.proxyarp.ProxyArp.cfg
  - Enable IPv6 Neighbor Discovery.
    ipv6NeighborDiscovery = false

NOTE: The above IPv6-related configuration has drawbacks,
partially because of some PacketService-related side effects.
Currently, we don't support enabling ipv6NeighborDiscovery
in one of the configuration files, and disabling it in another.
Enabling ipv6NeighborDiscovery in one configuration file is
practically equivalent to enabling it in both places.

Change-Id: Ief558697d85c8dcffc8941c575d0bf7d1397d90d
2015-02-26 04:22:42 +00:00
Pavlin Radoslavov
d6612f95c5 Added IPv6 support to HostLocationProvider
This fixes ONOS-637

Change-Id: Ic3a411b7e1a1fcf18e7bc7a1b70d1e57c23a52ce
2015-02-24 08:46:39 +00:00
Pavlin Radoslavov
b9e50dff43 Fixed a bug when parsing configuration properties for ReactiveForwarding
by catching the appropriate exception.

Apparently, if a property is configured/enabled in file Foo.cfg, e.g.:
  flowTimeout = 10
then the corresponding object/value in the Dictionary returned by
ComponentContext.getProperties()
has class type String.

However, if the property is commented-out, e.g.:

then the Dictionary still contains an entry for "flowTimeout", but
its class type is Integer.

Also, updated similar code elsewhere that was catching the generic
Exception with catching more specific exception(s).

Change-Id: I33ec348eb9efe3188e22cfc8cee2bb704948726d
2015-02-21 15:57:17 +00:00
Thomas Vachuska
02aeb0339f ONOS-542 Defining application subsystem interfaces & public constructs.
Change-Id: Iba0d2cb69dace5beee8a68def9918059ce755b5c
2015-01-30 00:28:45 +00:00
Jonathan Hart
3cfce8e3ac Moved default flows logic into the PacketManager.
This prevents us duplicating code in each of the apps and allows us to manage
packet requests better in the future.

Change-Id: I5656b2f0f3cecd3e42fe7b4a0a5ab7cb6582bb25
2015-01-16 00:26:30 +00:00
Jonathan Hart
e8600eb0c4 Handle packets that can't be deserialized properly.
Catch BufferUnderflowExceptions that occur while trying to deserialzed
Ethernet packet, and account for the fact that packets may not have been
deserialized correctly when using InboundPackets.

Addresses ONOS-605.

Change-Id: Ia7191e62a339125c9c4d3fe0cf63f9c33eb74cb5
2015-01-13 21:59:54 +00:00
Pavlin Radoslavov
d36a74b11d Add explicit flow rules to receive control packets: ARP, LLDP, BDDP
This fixes ONOS-540

NOTES:
 * Currently, the flow rules are pushed by each module that needs to receive
   the corresponding control packets:
   - ARP: ProxyArpManager, HostLocationProvider
   - LLDP and BDDP: LLDPLinkProvider
 * Pushing the corresponding IPv6 rules for Neighbor Discovery is not done yet
 * In the future, we might want to consider an explicit service to
   subscribe for receiving particular control packets

Change-Id: I292ad11a2e48390624f381c278e55e5d0af93c6d
2015-01-09 22:03:35 +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
Madan Jampani
a65f621842 [ONOS-447] Add org.osgi.core dependency to pom.xml. Fixes eclipse build issue
Change-Id: I8bfbc1e33326c1b23cafd3f82f129a708a5e9985
2014-12-08 17:45:27 +00: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
Brian O'Connor
abafb50f58 Changing org.onlab.onos package to org.onosproject
Change-Id: Ic81421faa27acdcff045add47d9e0a715cd4f575
2014-12-02 22:26:20 -08:00
Brian O'Connor
03defe7939 Moving org/onlab/onos to org/onosproject
Change-Id: I742627fe0862cac78391cf70010f99dc26dce1e6
2014-12-02 22:22:39 -08:00
alshabib
bfc6b72eb0 small fix to unregister devicelistener in HostLocationProvider to avoid an NPE
Change-Id: Ib14a484713f07d6ce5275fe10404aa9714467945
2014-11-29 21:02:24 +00: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
Thomas Vachuska
33601601f3 Added ability to remove host by CLI and by the provider on device/port down events.
Change-Id: I28de4b6b5bbfb5a00f35e1808bcd916369d7d1a4
2014-11-19 15:04:43 -08:00
Yuta HIGUCHI
3e848a8eb8 add methods to directly set MacAddress
Change-Id: Idab9dce493927d8943789177830df630f3b1326a
2014-11-03 09:29:59 -08:00
Pavlin Radoslavov
d0e32d7486 Added support for IPv6 addresses to class IpAddress:
- For some of the methods, the IP Version needs to be specified by the
   caller. This applies to the IpPrefix API as well.
 - For now, everywhere IpAddress is used and the IP version has to be
   explicitly specified by the caller, we assume/specify IPv4.
 - Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
2014-10-31 18:11:43 -07:00
Thomas Vachuska
4f1a60c9fd Revised copyright message. 2014-10-28 13:39:11 -07:00
Pavlin Radoslavov
33f228af5a Replaced IpPrefix and IpAddress in the following methods
and cleanup related code:

 - Host.ipAddresses()
 - DefaultHost.ipAddresses()
 - HostDescription.ipAddress()
 - DefaultHostDescription.ipAddress()
 - HostService.getHostsByIp()
 - HostManager.getHostsByIp()
 - HostStore.getHosts()
 - GossipHostStore.getHosts()
 - SimpleHostStore.getHosts()
 - ProxyArpService.known()
 - ProxyArpManager.known()

As a result of the above cleanup, the "hosts" CLI command outputs
the IP addresses as "1.2.3.4" instead of "1.2.3.4/32".

Also, the following REST calls might be affected as well with
the above format replacement:
  - REST POST: config/topology
  - REST GET: topology/graph
2014-10-27 19:33:16 -07:00
Thomas Vachuska
781d18bfa1 Added copyrights to cli, features, openflow, providers and web code 2014-10-27 10:31:25 -07:00
Yuta HIGUCHI
fb0e4d6c01 relocated to correct path
Change-Id: I7a33279a034781c2ab26797b1d7944751956b25a
2014-10-18 23:31:09 -07:00
Jonathan Hart
32cc1c0080 Fix for creating IpPrefixes with wrong prefix length 2014-10-18 01:57:30 -07:00
alshabib
4a179dca02 added test for hostlocation provider
Change-Id: I37b8efccf2e6c440a416e0d26e519a4d230d7b2a
2014-10-17 17:17:01 -07:00
alshabib
875d626c88 added mastership to lldpdiscovery
Change-Id: I94bcf04eff134a2bb63325468f26406108608c92
2014-10-17 16:19:40 -07:00
alshabib
e1cf87d95f protocol independent host tracker
Change-Id: I192a17ee6eee347f6a7d8e251cecc49cbe36f8dc
2014-10-17 09:23:50 -07:00