1812 Commits

Author SHA1 Message Date
Pavlin Radoslavov
320e6c97f8 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
 - UDP_SRC, UDP_DST
 - SCTP_SRC, SCTP_DST
 - ICMPV4_TYPE, ICMPV4_CODE
 - IPV6_FLABEL
 - IPV6_ND_TARGET
 - IPV6_ND_SLL
 - IPV6_ND_TLL

Also:
 * Renamed method
     TrafficSelector.Builder.matchInport(PortNumber port)
   to
     TrafficSelector.Builder.matchInPort(PortNumber port)
   (for consistency with the corresponding method(s) elsewhere)
 * Reordered the code for some of the existing matching conditions
   to follow the order in the OpenFlow spec, so it is easier to
   cross-reference such code.
 * Added missing Javadoc
 * Added few more Criterion.Type values as per OpenFlow spec 1.5.0

Change-Id: I7fc1656f32d8a7280c67d7827e4aa84528b0eafc
2015-02-03 14:40:08 +00:00
Sho SHIMIZU
aba9d009c9 Apply the naming convention to BatchOperationEntry
Resolve ONOS-889

Change-Id: I2001fabba138b9ff5be9a5943d3f020b4c38d195
2015-02-03 00:35:23 +00:00
Yuta HIGUCHI
c7aa50719b typo fix
Change-Id: I2dbb24bcb20eca1049fc7520248a33477d460a64
2015-02-02 15:01:11 -08: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
Sho SHIMIZU
b269a4302f Delete line that is commented out
Change-Id: I89625bcc7944c9c341725049a56b2134298f8f02
2015-02-02 22:19:41 +00:00
Sho SHIMIZU
1a433d206c Remove comment that is obsolete
Change-Id: I93a419f4d75ff85dd148822fda3e50055ec99150
2015-01-31 23:07:55 -08:00
Ayaka Koshibe
b1224ab24f Revert "FlowRule equals() incorporates FlowId to factor in treatment."
Using Flow ID forces a dependency on the Group/App ID.

This reverts commit 38f8c232295c33a455887366469f81c874bdef94.

Change-Id: Ib08166c8f778228ebbb68f98c763fcc57a9d6771
2015-01-31 00:54:29 +00:00
Ayaka Koshibe
38f8c23229 FlowRule equals() incorporates FlowId to factor in treatment.
Reference: ONOS-481

Change-Id: Ia1fcba3f827c662c89801afc84916ffef78af66d
2015-01-30 14:28:48 -08:00
Srikanth Vavilapalli
56db94fb73 Group subsystem Northbound and Southbound API definition
Change-Id: I1843562ff7fdf0dfdf82a8757382d494698ded3f
2015-01-30 19:59:03 +00:00
Jonathan Hart
aaa5657d83 Implement anti-entropy for the EventuallyConsistentMap.
ONOS-857. 

Change-Id: Ife2070142d3c165c2a0035c3011c05b426c8baa4
2015-01-30 19:10:49 +00:00
Jonathan Hart
4572785eee Added Collections.emptyList() to Kryo BASIC namespace
Change-Id: Iabc7a0538184a71311b54a9093b75c55c293ccae
2015-01-30 19:02:40 +00:00
sangho
3f97a17d9b (ONOS-684) Added a few new OF actions, which are required for Segment Routing Application
- MPLS POP (Ethernet type)
 - Dec MPLS TTL
 - Dec NW TTL
 - Copy TTL In
 - Copy TTL Out

Change-Id: I639a1bfff9ba3ae8c372c0a4b36f132cb2610b7b
2015-01-29 23:00:26 -08:00
Sho SHIMIZU
0ce220af4f ONOS-426 - make the unit of Bandwidth clear
Change-Id: I6f23f01306ece906fb6a6a894a52a6369983eeed
2015-01-30 00:40:05 +00:00
Brian O'Connor
d0f13eb8bd Patch job on transient test failure
Change-Id: Ia32daed4d25e9315e904978d0ca2bb14955ab1a6
2015-01-30 00:38:27 +00:00
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
sangho
11c30ac6d3 Add a new method sendMsg(OFMessage msg, TableType type) in OpenFlowSwitch interface to support multiple-table aware FlowRuleService.
Other changes are caused due to the new method.
Add type() in FlowRule interface to determine the table in which the flow rule need to be set.

Change-Id: I6518a01f4a5fba23f09f70b619f3844b5e33ce8f
2015-01-29 09:35:06 -08:00
Sho SHIMIZU
5e5d4aa4b6 Change the second type parameter of BatchOperationEntry
- Remove the bounded type parameter for BatchOperationTarget
- FlowRule and Intent don't inherit from BatchOperationTarget
- Remove BatchOperationTarget because nothing depends on it

Change-Id: I3b414d25409e9bbe5de37ffef10b08bc1799be74
2015-01-29 02:32:33 +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
Jonathan Hart
539a6460ad Modified GossipIntentStore to use EventuallyConsistentMaps.
All IntentStore operations are now implemented.

ONOS-858

Change-Id: I5081805b61c7e25e28707b90093cae12b5a4374b
2015-01-28 11:33:21 -08:00
Jonathan Hart
7d656f4e91 Remove "throws IOException" from ClusterCommunicationService APIs
that never throw IOExceptions. These APIs already return boolean to indicate
if sending failed.

Change-Id: I339949fe59f3b8b18a117aabc8d67402dc66c2a3
2015-01-28 10:14:34 -08:00
Sho SHIMIZU
968c70d34a Remove an unused constant
Change-Id: Ib0c9d6cc5fbe057a27be6fe480d587311bf3d775
2015-01-28 08:50:32 -08:00
Jonathan Hart
db3af8974a Initial implementation of EventuallyConsistentMap.
The map uses the gossip schemes to replicate data between instances. It seems
to work for basic add and remove use cases right now, no anti-entropy yet.

ONOS-844.

Change-Id: I7d05a7b532e40c95ab14e2c8911f18514bd0a8ca
2015-01-27 21:30:22 -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
Jonathan Hart
23b5a763bc Add resources into intent toString() outputs.
Change-Id: Id3903a89e77073c5fa74b48851716b95adfc72de
2015-01-26 23:21:30 +00:00
Jonathan Hart
229794bebc Fixed couple of GossipIntentStore bugs.
* Register Collections.emptyList() in Kryo (some intents contain this)
 * Other stores set INSTALL_REQ state implicitly when a CREATE_INTENT
   batchwrite is received, so we should do this too. 

Change-Id: I19167ab0d3c7b98c32d5af9198843ff33b7c8a23
2015-01-26 22:07:12 +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
Jonathan Hart
dac3008f5f Remove unused IntentStore write APIs.
All write operations now come through the batchWrite API.

Change-Id: I982c5f785bf108dc2c9716db5ed744882d88aa55
2015-01-23 18:26:41 +00: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
7446da93e0 Modify unit test for serializing FlowRuleBatchEntry
Change-Id: Ifdd3b7fcbb37a9d304154c46ad2628aead626a00
2015-01-23 04:38:18 +00:00
Sho SHIMIZU
346609609a Fix typo in Javadoc comment
Change-Id: I7b99179a9e4b5a0e2249b802a940532004c8969c
2015-01-22 17:58:44 -08:00
Jonathan Hart
5573d3243d Initial implementation of GossipIntentStore.
Create/update operations are implemented and working in 2-node cluster.
No remove operations yet.

Change-Id: Ief68c9d5c3bb483823b6f92d29fa83df0ab7b58f
2015-01-23 00:58:08 +00:00
Sho SHIMIZU
c0e8bfa98e Revert "Use Optional instead of null to remove FIXME comment"
This reverts commit 9639df7bcf1bda1ebb22fe7d2850708992ccc38b.
This is due to the regression described in ONOS-825.

Change-Id: I2909ed3e3461439596f99bf0cd94da3792a0ff64
2015-01-23 00:47:58 +00:00
Sho SHIMIZU
d7d18005e8 Prohibit null for resources field in Intent
Change-Id: I128c6e63ccccaf817e83ff1c440a731fb98b42f7
2015-01-22 19:03:58 +00:00
Sho SHIMIZU
166e61e47f Fix ONOS-815: register Optional class to Kryo
Change-Id: Iab40b3c02b54634452006bbaae18e450d91de347
2015-01-22 16:54:29 +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
9639df7bcf Use Optional instead of null to remove FIXME comment
Change-Id: I21c0cd954eaff4441392205aede95b34285f1402
2015-01-21 22:20:54 +00:00
Jonathan Hart
c036367091 Remove deprecated and unused APIs from IntentStore.
IntentStore#createIntent(Intent) and IntentStore#removeIntent(Intent) have
been superseded by IntentStore#batchWrite(BatchWrite)

Change-Id: I0f1c1b8fdc645435a9925bae9370d75965618c7c
2015-01-21 21:52:56 +00:00
Sho SHIMIZU
d94b477da1 Delete code that is commented out
Change-Id: I3d346dd186b3ef55c25464f207ca687c842f5ddc
2015-01-21 11:34:42 -08:00
Sho SHIMIZU
2b2e681f7e Fix typo
Change-Id: I3f66d3cbfd3e478f019423cd519e1e5321f0a809
2015-01-21 10:50:36 -08:00
Sho SHIMIZU
2bb988bf72 Return immediately when the given BatchWrite is empty
This revision aims to remove empty check of BatchWrite in the caller
side of this method

Change-Id: Ic0d659a6da221a052ad135eba18a783caa81ec42
2015-01-21 17:56:24 +00:00
Sho SHIMIZU
591dc99ba8 Get rid of super type of IntentId
IntentId is no longer treated as BatchOperationTarget

Change-Id: Icf63eb8071113b71146604a740f82cf3eadeef95
2015-01-21 16:55:13 +00: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