783 Commits

Author SHA1 Message Date
Saurav Das
c39f603ac3 Minor bug fixes to bgprouter and ofdpadriver
Cleaned up some handshakers that are not needed

Change-Id: I87fc202c39a9b4646d61321cdc488059f39c120b
2015-05-15 14:40:25 +00:00
Srikanth Vavilapalli
23181915e1 ONOS-1823 and ONOS-1838:Segment Routing Multi-instance Support-1
Change-Id: I3cc848415a609a9c4001d135e51104c62fb2830d
2015-05-14 20:26:09 -07:00
Ayaka Koshibe
5460d62464 Interfaces for passing port information from OF switch drivers to DeviceProviders.
Change-Id: I14039f5999c930a211c30138caf81c0513d398e2
Reference: ONOS-1911
2015-05-14 23:31:43 +00:00
Thomas Vachuska
ecc614d9fd Converted onos-drivers.xml to use inheritance.
Change-Id: Idb4a14d1e414bad3c629e79ed3d01a123b98d10c
2015-05-13 17:25:13 +00:00
Sho SHIMIZU
98ffca81bf Save memory consumption by avoding unnecessary instantiation
Change-Id: I7ce66c11136653fabc490aa7f33fdadf4454d2cc
2015-05-11 16:14:19 +00:00
Thomas Vachuska
635c2d7ed1 Adding device driver inheritance mechanism.
Change-Id: I9c883d32ce0c39f961eddd5c4624dc23f794fe4d
2015-05-11 15:49:23 +00:00
Saurav Das
f9ba4221c1 Currently need to specify handshaker behavior in onos-drivers xml file.
Later this need will be removed as the system will use default behaviors.
Fixed a bug in group checker where it was consulting the wrong map.
Cleaned up some logs

Change-Id: I45d91bc8d4c19474dcf0c37f82763985e5d2c84f
2015-05-08 23:39:20 +00:00
sangho
45b009c7bc Bug fix for route population optimization
Change-Id: Ibdaeaff86a03a64670e08db45b050af93a092df7
2015-05-07 23:55:13 +00:00
Saurav Das
100e3b809d First shot at Broadcom OFDPA 1.0 pipeline
Requires changes to the group description to accept groupId from callers.

Change-Id: Ic21dfe8ae7c246b7d3a6b00e8e5c986e1dc21fa0
2015-05-07 17:00:02 +00:00
alshabib
a2df7b2ae7 fixed the LINC-OE behaviour. Handshaker behaviours must use
sendHandshakeMessage during the handshake rather than sendMsg.

Change-Id: I50b3da2c592f77dd786da68d42e5dc289407cd37
2015-05-06 21:11:22 +00:00
Thomas Vachuska
0de9facd21 Fixing and organizing javadocs.
Change-Id: Ie348cb5c5b9c8a835cdcc13f6480ac8dba8ca81b
2015-05-06 20:59:32 +00:00
alshabib
b452fd7d71 Low level openflow drivers have been promoted to the driver subsystem.
All new device drivers should provide a handshaking behaviour as well
as well as a pipeline behaviour.

Change-Id: I883830b074e5d254a8cc6100e6c4fa0023594a36
2015-05-06 01:00:17 +00:00
sangho
834e4b0c05 ONOS-1786: Updates group buckets when link status is changed.
- Add null check for port map when creating new groups

Change-Id: I92b494d91e908011f2c08be850ccde648e647a09
2015-05-05 19:04:03 +00:00
sangho
dde53d116b Fix the logic of deleting FIB entries in CorsaPipeline
Change-Id: I9fe3545fe29225d82a5c3e6b5ffc295565218ecb
2015-04-30 18:10:30 +00:00
Thomas Vachuska
866b46a5be Reworked the dependency on default drivers. Driver manager must NOT depend on these.
Instead, it is ok for the flow manager to have a dependency on the drivers and go fully active/dormant when the default drivers arrive/depart.
Removed inclusion of the onos-drivers bundle as part of the onos-openflow app as this caused an unwanted dependency.

Change-Id: I614290277d1621c8243c0c19e5d79273f2168016
2015-04-30 17:47:18 +00:00
Srikanth Vavilapalli
f5b234a486 Segment Routing refactor with flow objectives
Change-Id: I0b87f89bb8b18522b9d38bdf5e96f55485b6f1e3
2015-04-30 03:06:02 +00:00
Sho SHIMIZU
fbc80e5348 Pull out inner-classes from Criteria to be independent classes
Make constructors of sub-types of Criterion package private for
limiting instantiation only from static factory methods in Criteria

Change-Id: I1fb1e9d003288a778a49e758549a92b66bf3cfdf
2015-04-29 00:44:59 +00:00
Saurav Das
bd7f742d85 Adding Device Listiner to BgpRouter so that filtering rules are sent to the
driver only after the device is available.

Change-Id: I377402b87cee6c02c087efbcc4f0cff4f19e1ca3
2015-04-24 01:59:11 +00:00
Saurav Das
3d03826578 Fixes bug where driver gets initialized only when device is available.
More explict handling of versatile forwarding flows in corsa driver.
Moving TunnelConnectivityManager to use flowObjectives instead of flowRules.

Change-Id: If43023f30a6e7a028dfdefbe1ffbcc710a1c7be3
2015-04-23 21:50:42 +00:00
Jonathan Hart
17d0045c99 Upgrade packet requests to use flow objectives API.
Addressed a few issues found while using the flow objectives across a cluster:
 * Flow objectives should be installable from any node, not just the master.
   Therefore we need to ensure all nodes initialize a driver for each switch.
 * We no longer store a list of objectives that are waiting for the switch
   to arrive. If the we don't know about the switch yet we'll try a few times
   over a few seconds to find it, but after that we'll give up and report an
   error to the client.
 * Default drivers need to be available when the FlowObjectiveManager starts
   up, otherwise it is common to get flow objective requests before any
   drivers have been loaded.

Change-Id: I1c2ea6a223232402c31e8139729e4b6251ab8b0f
2015-04-23 00:16:29 +00:00
Saurav Das
3ea46622c8 Removing dependency on lower level drivers for the BGPRouter application.
Also a couple of bug fixes

Change-Id: I8f2ec58ed3403ae03cf7c068dabb30ae4272ff85
2015-04-22 14:08:43 -07:00
alshabib
d17abc2e93 Refactored driver to use new FlowRule api.
Deprecated transition with table types and added api for transition with table ids.

Change-Id: Ifcf2d87d16810666d992e4d9f5ddca3d0da460be
2015-04-21 18:27:28 -07:00
Thomas Vachuska
586afd8e2b Removing need for boilerplate app.xml; Instead defining onos.app.name and onos.app.origin (optional) is sufficient to trigger generation of boilerplate app.xml and features.xml files.
Change-Id: Ied8f3f8bf8774fae85e11c79a733b34dd5868949
2015-04-20 14:36:02 +00:00
alshabib
2a441c6807 Flow Objective implementation
Provides an abstraction which isolates the application from any pipeline
knowledge. By using the provided objectives applications can express
their forwarding desires in a pipeline agnostic way. The objectives
are then consumed by a driver for the specific device who converts them
into the appropriate pipeline coherent flows.

Change-Id: I74a68b4971c367c0cd5b7de9d877abdd117afa98
2015-04-17 22:57:56 +00:00
Thomas Vachuska
db7467ace2 Separating onos-drivers to be delivered as a separate app from onos-openflow. Apps activated by default (via onos-setup-karaf or onos-install/onos-config) are now onos-drivers and onos-openflow.
Change-Id: I35c7cca79a4b72e966cbc2cebe72b109f2d92706
2015-04-17 19:41:30 +00:00
Saurav Das
cfd63d2783 Adding more filtering objectives from the router application and handling them
in the corsa-pipeline driver

Change-Id: I3598b84ce25df97c10b33c6f1fdfc76421499046
2015-04-13 23:29:44 +00:00
Thomas Vachuska
facc3f5ba8 Enhancing the driver subsystem to allow retrieving originating data/handler contexts from the behaviours.
Change-Id: I973888190d569e7e147376b5ae4da9d2f2d9c620
2015-04-11 00:42:17 +00:00
alshabib
910aff10a7 WIP: Initial implementation of filterObjectives using driver subsystem.
Incomplete implementation

Change-Id: I3745d481027659d4ca44b72139e5461c02e8c3ef
2015-04-09 16:57:18 -07:00
Thomas Vachuska
5c2f813575 Device driver framework enhancements and CLI.
Change-Id: I5dea67620259797eff89a985718934034a86d63e
2015-04-09 18:17:09 +00:00
Thomas Vachuska
ca88bb7440 Cleaning up and enhancing driver subsystem and the flow objective subsystem.
Change-Id: Ica600ef1aaa46d19e764cd7a197454a4e0f85a08
2015-04-08 19:38:02 -07:00
alshabib
aebe775c12 WIP: default driver ignition
Change-Id: Ia37de8dcaee2ff2be0908fa12c567acf99ef3a13
2015-04-08 16:34:28 +00:00
alshabib
77b8848f51 added FlowObjectiveService to act as an objective manager between applications and drivers
Change-Id: I4dc44db8bafae8a55b7663895c87b1b08645637f
2015-04-07 15:48:36 -07:00
alshabib
faa1e36627 Initial sketch and implementaion of Objectives.
These objective will be used to provide a layer of abstraction
that isolates applications for device pipeline details.

initial objective support

Change-Id: I019302822421f0fe1f508f2f7527d91578e30116

initial implemetation of a simple pipeline behaviour

Change-Id: Id0d9167896c717d05cda90e1524fc24c76e9fc9b

initial implementation of objectives

Change-Id: I768fa2020308d5feb95eaaff355aa511b323beca
2015-04-07 15:48:36 -07:00