731 Commits

Author SHA1 Message Date
Brian O'Connor
eba4e3407f Adding tests for IntentCleaner
Also, two small bug fixes for SimpleIntentStore
and one for IntentCleanup

Change-Id: I19c8246dd669d894ba258e04f4f963a97b9a7626
2015-05-01 12:48:16 -07:00
Brian O'Connor
cdec493d80 Fixing logger for IntentCleanup
Change-Id: Id51fe14b87aaa14da5d5097aca83b8ed397b902c
2015-05-01 12:48:16 -07:00
Brian O'Connor
6d8e317182 Added error count for IntentData (ONOS-1060)
Change-Id: Ida6313603c15fb6c1c1793c298206587b370a13e
2015-05-01 12:48:15 -07:00
Brian O'Connor
a6c9b5cff2 Updating IntentCleanup to check for stalled *_REQ and *ING intents.
Change-Id: Ibe06ee99463bb8230acf9751da4fb1012859b0ea
2015-05-01 12:48:15 -07:00
Madan Jampani
1af8e137e3 Fix balance-masters functionality in the new LeadershipService based device mastership store
Change-Id: I9f64d514cee7d5a5383fd4c2fa30a8616c97785c
2015-05-01 00:34:45 +00:00
Madan Jampani
2096b93208 Fixes a NPE that occurs when device mastership is not immediately decided
Change-Id: I170974bf9e70cef5d7e73ecf31901879d858ddf7
2015-04-30 21:38:15 +00:00
Brian O'Connor
a27ada7826 NPE protection for purge requests (ONOS-1463)
Change-Id: I02732ed83aaaf5c760fdb96899696177415ebd23
2015-04-30 18:35:13 +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
Brian O'Connor
3c58e96920 Adding IntentCleanup as a component.
Listens for CORRUPT intent events and periodically polls for CORRUPT intents.

Change-Id: I29d8dbe14b46522815dc13e969f259f68b690855
2015-04-30 03:44:11 +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
sangho
864a9db291 Pushes the flow rules also when devices are available (with DEVICE_AVAILABLLITY_CHANGED event).
Change-Id: Ia92df8c5da5828a9db2492e93a42bfd9a5136d25
2015-04-28 23:25:21 +00:00
Brian O'Connor
f0c5a052a5 Initial implementation of CORRUPT state (ONOS-1060)
- Added CORRUPT state to state machine and event type
- Simplified phases using new request field
- Improved null-safety by using Optionals

Change-Id: I1d576b719765b5664aef73477ee04593e8acc4fd
2015-04-28 20:17:42 +00:00
Sho SHIMIZU
0c3c076b52 Inherit resources from a high level intent when creating a FlowRuleIntent
Make constructor without resources argument deprecated

Change-Id: I400cedfb2ec5f8ec3217e4729d95b075ceb0b025
2015-04-28 19:55:52 +00:00
Marc De Leenheer
de47caab1f Configurable extraneous flow rules
Change-Id: I216605743d5a8814a366a030290614d840657444
2015-04-28 17:59:01 +00:00
Sho SHIMIZU
2de9449f07 Inherit network resource information from a high level intent
This patch fixes ONOS-1677

Change-Id: I37d8742eb1a03b56d1e47d30d9342546ab42d23b
2015-04-28 17:49:38 +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
Thomas Vachuska
62f04a47f6 ONOS-1731 Fixed app gossip store & manager to deal with staggered app load on startup.
Change-Id: Ie88f5659646c11b906a63204f97083b6deb64adb
2015-04-24 01:09:13 +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
jcc
3d4e14a72b FlowRule private extension refactor.
1.merge private flow into regular flowrule subsystem.no mirror code any
more.no change flowrule api.
2.define a rich-data-type to carry private flow.
3.modify OpenFlowRuleProvider.class to support for 3rd party private
flow.i don't know whether is suitable.because this class name is
relative with open flow protocal.
4.fix some junit test bug caused by modification of FlowRule interface.

Change-Id: I6c54d1e97f231a75bd1b416f0893e0379613d7ce
2015-04-23 04:11:34 +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
Thomas Vachuska
6cba495a6f ONOS-1736 - Modified PacketManager to register packet request flows using the core app id, instead of the requesting app id. This is to prevent packet request flows from vanishing when app removes all its flows. This is a provisional fix until packet requests allow removal via reference counting or a similar tracking strategy.
Change-Id: Ib0e53ae8c6b5ae030a9c17a34407a5897027127b
2015-04-22 12:38:22 -07:00
Thomas Vachuska
db320abb9b ONOS-1736 - Moved log.warn for property reset to be emitted only when the property itself is not known; it will not be emitted when the component is not known.
Change-Id: Ib0ae105336c2fb2bcddfcf2c8a69ff6a2c501a59
2015-04-22 09:03:33 -07:00
alshabib
f6ea9e624b Implemented a globally unique next id generator in FlowObjectStore
Change-Id: Ib98b2996e1ebcca56ad816ea94f25d838c5f4d44
2015-04-21 17:08:26 -07:00
Sho SHIMIZU
1b46a97482 Inherits the constraints of the higher level intent
Fix ONOS-1247

Change-Id: I8a110bd3cee296f726a63fd1034b5a8f7dc7f0b3
2015-04-21 17:12:45 +00:00
wei wei
89ddc320e9 Generic Tunnel Subsystem (ONOS-1276) and L1/L0 (OTN/ROADM)extensions (ONOS-676):
1)Initial Work for ONOS-676: OTN/ROADM (L1/L0 NE) support in ONOS by extending the device/port modeling;
  - extending device type to include L1 OTN NEs;
  - extending port type to include ODUCLT port(T-port), OCH-port(L-port), OMS-port (WDM-port);
  - more standard annotations related to OTN/ROADMs support will come from PCEP provider as well as TL1 providers;
2)Intial Work for ONOS-1276: generic Tunnel subsystem in ONOS for both packet (L3/L2) networks and optical (L1/L0) networks
  - supporting PCEP framework, which is capable of interacting with the PCEP provider;
  - supporting any other kind of tunnel provider;
  - each Tunnel is associated with at least two Labels (abstracted logical entity/Id for virtualization of physical port);
  - same type of Tunnels can be formed as a reachablity graph for other services and NB applications use;

Change-Id: I29af495f90e179e2c5d8753b76e02889a3b4355b
2015-04-21 17:11:34 +00:00
Ray Milkey
6e0fb30289 ONOS-1334 - Allow multi to single intent across a single switch
Change-Id: I8be3dbc403ea1202fd496e666955402247f71bf1
2015-04-20 10:28:56 -07: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
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
Pingping Lin
c9e16bfa1d add a virtual gateway for reactive routing
There is no physical gateway in SDN network.
  However a host needs a gateway when it tries to communicate with a remote host.
  So we designed a virtual gateway for SDN network.
  The virtual gateway can have multiple IP addresses.
  Each IP address is used as the default gateway address of an IP prefix.
  We only configure one MAC address to the virtual gateway.
  You can choose any MAC address from the BGP speakers as the virtual gateway MAC address.
  We configure this MAC address staticly in the sdnip.json configuration file.

Change-Id: I2a72bef797fc55d25bb5473e8fca624ad659e1d1
2015-04-15 16:31:14 +00:00
alshabib
a28f69af70 FlowObjectiveManager not activated by default.
Caused the Corsa Driver to be triggered and provision
incorrect set of rules.

Change-Id: I96eadeb0eeac9ef94e6187be08faf68b0aa8caaf
2015-04-14 05:12:14 +00:00
Sho SHIMIZU
fcf861a06a Refactor: Flip condition to reduce the depth of indentation
Change-Id: I572a989730a8dd93b5ab7ee63b37bc9d728c17e7
2015-04-11 00:39:18 +00:00
Sho SHIMIZU
94b03b11cd Sweep deprecated todo comment
Change-Id: I6140aa38aff475424e44c6597599703776530f4d
2015-04-11 00:38:41 +00:00
alshabib
1097c978fb Only process pending objectives if there are any.
Change-Id: Ibb34dce32e0bfc55b317036130ead2c1babbaeac
2015-04-11 00:37:06 +00:00
Sho SHIMIZU
d493625192 Fix typo
Change-Id: I4ad0311a9d54f4bf7bb8b58e0e57a8f51839f091
2015-04-10 15:03:57 -07:00
Jon Hall
e3f0fcf112 Avoid NPE in cfg command
- Avoid NPE when a component has no configurable property or doesn't exist
    - Specificly use a numeric value for SharedExecutors.DEFAULT_POOL_SIZE so
      the value appears in cfg command
    - Also use print instead of system.err since it is being redirected
      away from the console

Change-Id: Ib73016b1a9282493f0c5c8c217dd33292eac4ba4
2015-04-10 09:40:36 -07:00
alshabib
910aff10a7 WIP: Initial implementation of filterObjectives using driver subsystem.
Incomplete implementation

Change-Id: I3745d481027659d4ca44b72139e5461c02e8c3ef
2015-04-09 16:57:18 -07:00
sangho
538108bae8 ONOS-1440: Implements port statistics feature, which polls port statistics of all devices every 10 seconds. Also, implemented a simple portstats ONOS CLI command to show the statistics.
Change-Id: I57e046ae2c2463a58b478d3a5b523422cde71ba2
2015-04-09 22:43:41 +00:00
Thomas Vachuska
5c2f813575 Device driver framework enhancements and CLI.
Change-Id: I5dea67620259797eff89a985718934034a86d63e
2015-04-09 18:17:09 +00:00
Thomas Vachuska
b0317c6a3f Fixed javadoc warning; added shared executor/timer wrappers to prevent inadvertent shutdown; added shutdown to CoreManager.deactivate.
Change-Id: I27f31b5d41050d6d87cd6419ab863201c4585843
2015-04-09 18:11:17 +00:00
alshabib
429477825c implemented a distributed default flow registration mechanism to avoid duplicate requests from other onos instances
Change-Id: Ib2abb483456538e3e08e9790c4b4b0d50db8b384

implemented a distributed default flow registration mechanism to avoid
duplicate requests from other onos instances

Change-Id: I620cc51ac29cddaffa73cdbb20e9a9acbdd9ea69
2015-04-09 18:01:02 +00:00
alshabib
4313d10f47 fix bug when a device disconnects. Issue was due to null roleinfo in event
Change-Id: I12d371382931ef4ab93f25f32ed6e4786735f55a
2015-04-08 21:54:07 -07: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
Murat Parlakisik
553db17965 Shared system services configurability (ONOS-1304)
Change-Id: I42210128fd973f16bb07955175d8e361858a9034
2015-04-09 01:23:48 +00: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
Ray Milkey
77a455f4c5 Intent manager unit test enhancements
- add test to be sure that all flows are removed when intents
  are withdrawn
- add test to be sure that all flows are removed when an intent
  installation fails. Currently disabled, intent cleanup is
  not implemented
- enable installation time out test

Change-Id: I8c7a75292a97404ef89856647c67ef2f70ffcf6f
2015-04-03 19:39:56 +00:00
Thomas Vachuska
00121ed30a Javadocs cleanup.
Change-Id: Ia731178e76b29a2f00045efad759b9c0559645d7
2015-04-03 00:23:18 +00:00
Thomas Vachuska
de563cf235 Added ability to form a cluster via REST API.
Change-Id: Ib71f6b4caed1b1c4b9db78596ee35bf5cab05184
2015-04-01 20:39:37 +00:00
Thomas Vachuska
8dc1a69a95 Added bootstrap code to auto-generate cluster.json, tablets.json and hazelcast.xml using local site address.
Change-Id: I3210aadc63403022b4aac3bc3591736801240b50
2015-04-01 19:13:51 +00:00