1270 Commits

Author SHA1 Message Date
Sho SHIMIZU
fd0cd8c19b Move CompilingFailed to upper level to reduce IntentManager's size
Change-Id: Ia75d91ff7f4de01c74f4ca6dac0d15b1d772ed69
2015-01-30 00:34:17 +00:00
Sho SHIMIZU
f2af6a2244 Move DoNothing to upper level to reduce IntentManager's size
Change-Id: I8f1d6f6fbf44ee1ad6113a9b27a3ae0beef4cac1
2015-01-30 00:33:33 +00:00
Thomas Vachuska
02aeb0339f ONOS-542 Defining application subsystem interfaces & public constructs.
Change-Id: Iba0d2cb69dace5beee8a68def9918059ce755b5c
2015-01-30 00:28:45 +00:00
Brian O'Connor
ea4d7d1421 Initial work on Intent API (ONOS-618)
Change-Id: I2b4aa0befabbf0b4dce8b2c991e38411709b2e80
2015-01-30 00:28:34 +00:00
Sho SHIMIZU
bdc17e7a94 Move inner interfaces to upper level to reduce IntentManager's size
Change-Id: Ice4fba9e0e70f72904fe7dfa9f371f61ca739b48
2015-01-29 02:31:35 +00:00
Sho SHIMIZU
28e72715b8 Change IntentUpdate and CompletedIntentUpdate to be interface
Instead of abstract class, defined as interface by using default method

Change-Id: I23135da32db3e1bf3b161edca4db8a61f392eb78
2015-01-29 02:31:34 +00:00
Sho SHIMIZU
23f36f0abf Refactor: remove unused method in IntentManager
Change-Id: Ifcec1a80674131379516f53ffdfb600651160f6d
2015-01-28 14:25:34 -08:00
Sho SHIMIZU
9ea3453b45 Avoid empty check of BatchWrite in the caller side
Change-Id: I5672b2d6fab719ab9a5c642a942bf4a6191e808d
2015-01-28 22:17:00 +00:00
Sho SHIMIZU
968c70d34a Remove an unused constant
Change-Id: Ib0c9d6cc5fbe057a27be6fe480d587311bf3d775
2015-01-28 08:50:32 -08:00
Sho SHIMIZU
adf8c48529 Refactor IntentManager: apply state pattern for intent state transition
Resolve ONOS-471.
- Define IntentUpdate sub-classes for intent state transition
- Define CompletedIntentUpdate and its sub-classes for parking intent state
- IntentUpdate.execute() handles one state transition and generates next state
- IntentInstall monitor is splitted into IntentBatchPreprocess and its sub-classes

Change-Id: Ie2d3a0b2ce9af7b98fd19a3a8cc00ab152ab6eaa
2015-01-27 23:50:19 +00:00
Thomas Vachuska
9ea3e6f477 ONOS-841 Renaming ONOS threads to simplify profiling.
Change-Id: I83a96bd875a0af9f3b78c06a9f9107c093b8e64e
2015-01-23 16:34:22 -08: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
Ayaka Koshibe
8851ed97c7 Trim whitespaces before and after .cfg file arguments.
Change-Id: Iaf165b4e289075376deab806d3c7c15169e3dca7
2015-01-23 17:47:04 +00:00
Sho SHIMIZU
346609609a Fix typo in Javadoc comment
Change-Id: I7b99179a9e4b5a0e2249b802a940532004c8969c
2015-01-22 17:58:44 -08:00
Sho SHIMIZU
d7d18005e8 Prohibit null for resources field in Intent
Change-Id: I128c6e63ccccaf817e83ff1c440a731fb98b42f7
2015-01-22 19:03:58 +00: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
Sho SHIMIZU
d94b477da1 Delete code that is commented out
Change-Id: I3d346dd186b3ef55c25464f207ca687c842f5ddc
2015-01-21 11:34:42 -08:00
Sho SHIMIZU
d58c5b742f Simplify the code by using the constructor initializing a reference
Change-Id: I62335690903fe21cd3400e81e20833b4a1bb7b59
2015-01-21 16:49:17 +00:00
Sho SHIMIZU
d4df608ff0 Use diamond operator to simplify the code
Change-Id: Ia1e02131817a94e2ca86a0bb51924e11d14742e0
2015-01-21 16:47:30 +00:00
Sho SHIMIZU
183b12fdd1 Delete unnecessary semicolon
Change-Id: I56f8c0a5cba3b6ce25230c8d1c3339a4bea8c29f
2015-01-20 23:24:12 +00:00
Sho SHIMIZU
a15546f5c6 Passing an empty list instead of null to improve null-safety
Change-Id: I6bef6c4c263a369ed49ea1da12c23528a56dd2c8
2015-01-20 11:16:33 -08:00
Sho SHIMIZU
bd128fa15b Delete code that is commented out
Change-Id: Iea41b7e1634aa3011fb3d5923422baa3c1ed9e9e
2015-01-20 18:51:35 +00:00
Jonathan Hart
f84591d3fa Don't flood ARP packets out the port they came in on.
Also renamed ProxyArpService#known(Ip4Address) to
ProxyArpService#isKnown(Ip4Address)

Fixes ONOS-722.

Change-Id: I136c65e58693926e87b822cb0f4ec1c4ba0e3780
2015-01-17 16:43:38 +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
Brian O'Connor
8b6b172656 temporary NPE fix for ONOS-439
[Merged from onos-1.0]

Change-Id: I238ea24e1a4c4bebb40d132d060c418f5675f570
(cherry picked from commit f25a5115e901f1f3383ccb60af7ad48355c39ee2)
2015-01-13 22:47:14 +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
Sho SHIMIZU
8cd9fb8ad5 Make timeout and max attempts configurable
- Resolve ONOS-472
- Define instance variables for timeout and max attemps
- Add a constructor that initializes the added instance variables

Change-Id: Ia70421122cd6042b01850eabec9f249e7cea5e88
2015-01-06 22:30:42 +00:00
Jonathan Hart
ab17b27828 LinkCollectionIntentInstaller - reuse same code for install and uninstall
+ cosmetic changes

Change-Id: Ie8dbeab8b3b3fafcebc6e48306660533dd0af4e3
2014-12-19 23:54:05 +00:00
Yuta HIGUCHI
467ccf7f9e DefaultFlowRule: remove deprecated constructor
Change-Id: Iac8dbc0f8fc2386f3f3b6435965503a2050e4b38
2014-12-17 18:03:53 -08:00
Yuta HIGUCHI
ddb7772971 LinkManager: log only if link actually disappeared
resolves ONOS-474

Change-Id: I61ec56795eca18b11c61b8fe5722729928bb370c
2014-12-15 18:13:01 +00:00
Ray Milkey
7bbeb3fe15 ONOS-393 - In a multi ONOS system, a ink may not yet be known about.
Change-Id: Ife53b41ec9ff577e7e5c80bbd8a25f89e08942cf
2014-12-12 17:08:40 +00:00
Sho SHIMIZU
fcf9162409 Check if not null in the constructor
Change-Id: I5e73660004e5bb8e9e3c5ba6b02d1070ee977c22
2014-12-11 12:53:04 -08:00
Ray Milkey
f2695400a5 Fix for ONOS-393 - NPE when one of the devices can no longer be found
Change-Id: I5c907d8124585f9af5b3f6e7315c41cbcdd03fb9
2014-12-10 17:29:07 +00:00
Ray Milkey
7c44c0528c Unit tests for Objective Tracker
- Fixed a bug in ObjectiveTracker turned up by tests, it
  could not handle an emptry list (it was checking for null only)
- Implemented tests for topology, resource and leadership
  events

Change-Id: I1318a0e8655f5b44b30d2ecb527f665f13d54243
2014-12-05 20:35:22 +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
alshabib
ab98466b10 adding license to ALL files
Change-Id: I9df3277760d79732317816fe5b2f1f482e9f5375
2014-12-05 05:05:32 +00:00
Brian O'Connor
4400853c6e cleaning up some TODOs
Change-Id: Ib2380e9533ba30c6f9fdf79aed1879dbbe3589a7
2014-12-05 00:59:46 +00:00
alshabib
4785eec529 removing some TODOs
Change-Id: Ic98c811573a1b37813993eedddec512ec85729f3
2014-12-05 00:59:35 +00:00
Sho SHIMIZU
30f45fbb0d Refactor: add static factory method in BatchWrite, instead of in IntentStore
Change-Id: Ic0cecc4b3cc4facbc469d2eb87a36c4d5166a6f2
2014-12-04 02:53:26 +00:00
Ray Milkey
e9a3e22234 Add some test cases to Intent Manager tests
- test that getIntents() returns the proper items
- test that subclass compilers work
- test the behavior of intents with no compiler
- test the behavior of intents with no installer
- test the behavior of installs that never finish

Change-Id: If0bff389e7fce2f71eb7a97051547dbd05ab588c
2014-12-04 02:52:57 +00:00
Pavlin Radoslavov
369c643802 Use two thread pools for handling the OpenFlow STATS and BARRIER messages.
This fixes a problem where a large number of incoming STATS messages
is practically using all available threds from the pool (16), and
there are no available threads to handle the BARRIER messages.

Change-Id: I1130eb8f3b5a17d5d3a7825f32da68eacb99569a

fixing other threadpool issues, ie. not using cachedThreadPool

Change-Id: I40ef10e1f704aef779b2a23c0497dfb7992520eb
2014-12-04 02:06:53 +00:00
Yuta HIGUCHI
7a9fdddb81 IntentManager: give each thread a uniq name in ThreadPool
Change-Id: I64c2e45aba3ae65a747271d02d1d9b83bcfc848c
2014-12-03 17:02:40 -08:00
Sho SHIMIZU
64ae11c73f Move nested class to top-level class
Because BatchWrite is public and no need to place it as an inner class in
IntentStore interface

Change-Id: I17e87e06baa4f0af55fa30b09a891bc23932a6fd
2014-12-04 00:57:01 +00:00
Yuta HIGUCHI
36dd7e4422 FlowRuleManager: properly name thread pool
Change-Id: I4a804c5b7eca9f746746773e36fba10e5d920811
2014-12-03 14:14:22 -08:00
alshabib
64def641af aggregate flow replies on io thread
Change-Id: I622290f213ee830cfab7e4bd4ad7a52f612b475e
2014-12-03 09:07:40 +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
Brian O'Connor
03defe7939 Moving org/onlab/onos to org/onosproject
Change-Id: I742627fe0862cac78391cf70010f99dc26dce1e6
2014-12-02 22:22:39 -08:00
Thomas Vachuska
164fa5c9ad GUI fixes/breaks.
Change-Id: Ic5c8b087cc32506162153b2756a677c7d9e3bdd7
2014-12-03 06:07:33 +00:00