602 Commits

Author SHA1 Message Date
Kunihiro Ishiguro
f1bff5075a WIP: proxy NDP for IPv6.
ONOS-924

Need to implement test cases.

Change-Id: I86b0cb8c3c8d75f7276778e04c1a7166c9bb2f59
2015-02-05 08:58:39 +00:00
Pavlin Radoslavov
d0fd841978 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
  - IN_PHY_PORT
  - IP_DSCP
  - IP_ECN
  - METADATA

Change-Id: I6f529ee90b2b9e0d5046f83c034e8be3faf86d8b
2015-02-05 05:44:00 +00:00
Thomas Vachuska
ebf5e54d44 ONOS-542 Added ability for app bundle to carry it's own artifacts, including feature repo. Fixed onos-package script. Added JSON output to CLI.
Change-Id: If4f2c774d3fc2d68c0a8e91b3084b99d7c75d927
2015-02-05 05:22:53 +00:00
sangho
8995ac580d ONOS-958: Add a Group action to TrafficTreatment subsystem.
Change-Id: I2a377508b9721ee96a5a52b0bb2ed3a960c982ce
2015-02-05 05:00:56 +00:00
Jonathan Hart
ecaa8a8f29 Increase delay for time-based test which is failing a lot.
ONOS-867

Change-Id: I4e93f72ca6a07dba83bffc76f3cf2c09fa909c1f
2015-02-04 18:19:32 +00:00
Jonathan Hart
584d2f3c54 Unit tests for EventuallyConsistentMapImpl.
Most functionality is tested here, except for the anti-entropy code.

ONOS-859.

Change-Id: Ib9e83518f8a91d599364106bc0f7d869e62f5133
2015-02-03 19:34:54 -08:00
Srikanth Vavilapalli
45c27c8c62 ONOS-895: Group manager implementation
Change-Id: Ie183f722fa39012f8de056961715c325e2388e63
2015-02-04 01:01:07 +00:00
Srikanth Vavilapalli
0599d51603 ONOS-885: Group store interface definition and in-memory store implementation
Change-Id: I1125fbc23f1e58bcb8aaf5f67c02da610fa7ef25

ONOS-885: Group store interface definition and in-memory store implementation

Change-Id: Id3794bed63785e10ed86c0b5d90bf875d127224c
2015-02-04 01:00:00 +00:00
Sho SHIMIZU
3c01833353 Remove unnecessary Object declaration in type parameter
Change-Id: I466a2d43e9f9d3effd3860761a97855110b71781
2015-02-03 23:25:11 +00:00
Thomas Vachuska
0cd4de8425 Fixed a few javadoc warnings.
Change-Id: I554712727fdf0b68ea461bd8ab909022037da1cd
2015-02-03 09:17:08 -08:00
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
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
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
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
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
Jonathan Hart
23b5a763bc Add resources into intent toString() outputs.
Change-Id: Id3903a89e77073c5fa74b48851716b95adfc72de
2015-01-26 23:21:30 +00: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
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
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
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
60e2467091 Add null check in the constructor
Change-Id: I5436324666a77c6c830a44b107eca65b4dea88bb
2015-01-21 00:43:45 +00:00
Sho SHIMIZU
86f61984e1 Remove TODO comment
Make the constructor of BatchWrite.Operation private

Change-Id: I496ba4502f0f4c147250909cab9123fc5c869f9e
2015-01-20 23:57:56 +00:00
Ray Milkey
3cbfbc4c50 Expose the obstacles Set in a method - needed for REST APIs
Change-Id: Ia688cb7d9407525673006f0fa61eab84eef5edee
2015-01-20 23:39:12 +00:00
Sho SHIMIZU
16ea69b673 Pass constraints argument to the constructor of super class
Change-Id: I2e689b6391b2a373c716dd1a421c9e1510ecb934
2015-01-20 19:23:28 +00:00
Kunihiro Ishiguro
0f9aba8e71 ONOS-635 Adding ICMPv6 type and code builder for HostMonitor.
aovid duplicate call of toString.

Apply changes to FlowEntryBuilder and FlowModBuilder as well.
Fix missing break; issue.

Change-Id: I1a2e59ca943bbcc9677b9fc0cb9eb2f7cb3d7aa3
2015-01-17 17:27:16 +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
Thomas Vachuska
a8f4e7dee1 Sketching out device driver subsystem to allow extensible device management functions to be made available to applications.
Revising some implementations and adding tests.
Removing fingerprint and extension concept for now.

Change-Id: Id50faf29e4590b08e0c2b385ae8d4bb0c453f37e
2015-01-16 22:05:05 +00:00
Charles M.C. Chan
52fae7da14 ONOS-509: Match IPV6_SRC, IPV6_DST criteria
* Following classes have been extended to match IPV6_SRC and IPV6_DST criteria:
    - Criteria
    - DefaultTrafficSelector
    - FlowEntryBuilder
    - FlowModBuilder

* Not included in this submission
    - Match of other IPv6-related criteria
    - Set of all IPv6-related criteria (action)

Change-Id: I115829a480356d2037e0fc809595f7a5eec25874
2015-01-16 18:11:27 +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
Ray Milkey
e1dfb50e2e Fix javadoc typos
Change-Id: Ia1872060512df5e501503ba773a66690efd5b99b
2015-01-13 16:35:46 -08:00
Ray Milkey
8717be20e9 Fix for ONOS-607 - controller port displayed incorrectly in CLI
CONTROLLER ports were displayed as 18446744073709551613
for output instructions.

Change-Id: Id62f7ebe9e140a0a2c3c2387fbabfb3305f4273d
2015-01-12 14:16:27 -08:00
Ray Milkey
d03eda01c0 Unit tests for Instruction and Ethernet codecs
Added tests for codecs for Ethernet and Instruction classes
Also fixed some bugs uncovered by the tests

Change-Id: I29f82d169e81b3fca417f88fab992148bf36dc71
2015-01-12 18:00:10 +00:00
Bri Prebilic Cole
09e464bc62 Starting GUI server-side code
Change-Id: Id3d5e198a2326f50ef2661f6971cf23271bf7644
2015-01-07 17:13:54 -08:00
Ray Milkey
9a39eca2e7 ONOS-423 - Throw a specific exception when resources are exhausted
Create an exception to throw when no resources are available
Simple, Hazelcast and Distributed link resource stores throw ResourceAllocationException
Unit tests for successful and unsuccessful bandwidth and lambda allocations

Change-Id: If062d10d2233935dd59efabfa5f37a446e275a5b
2015-01-06 20:51:15 +00:00
Thomas Vachuska
f4df00560f ONOS-537 Provided maxLen setting to make sure packet data is sent with packet-in message. Also added support for TrafficTreatment.Builder.punt();
Change-Id: I9f5577cf83b4d25c79459e56492be747a245397c
2015-01-06 12:30:18 -08:00
Charles M.C. Chan
36eb6e1154 Bugfix: Criteria.toString() does not convert unsigned variables properly.
For example, in the response of 'flows' command, the ethType of IPv6 (0x86dd) is shown as ff..ff86dd instead of 86dd
Note: VlanId/VlanPcp still remains in signed format in this commit since:
  * VLAN tag is actually 12 bits. There should be no problem even if it is printed as signed short.
  * VLAN PCP is actually 3 bits. There should be no problem even if it is printed as signed short.
  * -1 is used in many places to indicate untagged vlan

Change-Id: Ib68161d552a0011e6a6666970907cf9ca846f620
2015-01-06 17:38:13 +00:00