411 Commits

Author SHA1 Message Date
sangho
a09f274052 ONOS-973: Implemented a unit test for OpenFlowGroupProvider implmentation.
- Fixed a bug in OpenFlowGroupProvider of wrong handling of pending group operations.

Change-Id: I70b80629f4eed000110d242f3558abe49b6b13bc
2015-02-11 22:45:23 +00:00
Brian O'Connor
72cb19a90e Implementation of new Flow Subsystem:
The subsystem no longer returns futures for tracking completion of work.
Notifications are explicitely returned via a call back mechanism. Also, the
subsystem is now asynchronous.

Change-Id: I1a4cef931c24820f9ae9ed9a5398f163f05dfbc9

more flowservice improvements

Change-Id: I5c9c1b6be4b2ebfa523b64f6f52e7634b7d3e05f

more flowservice impl

Change-Id: I05f6774460effb53ced8c36844bcda2f8f6c096f

Manager to store functional (at least i believe it)

Change-Id: I09b04989bd1004c98fe0bafed4c76714b9155d53

flow subsystem functional: need to fix unit tests

Change-Id: I1667f25b91320f625a03e5e1d5e92823184d9de0

flow subsystem functional

Change-Id: I429b3335c16d4fc16f5d55f233dd37c4d1d6111d

finished refactor of flow subsystem

Change-Id: I1899abc6ff6a974a2018d936cc555049c70a6804

fix for null flow provider to use new api

Change-Id: If2fd9bd5baf74d9c61c5c8085cef8bc2d204cbdc
2015-02-11 21:28:01 +00:00
sangho
89bf6fb1f3 ONOS-991: The event listener in OpenFlowRuleProvider needs to check the event type because GROUP_STATS are also published now.
Change-Id: I3b61fcc4b59f1b47b11debdb1863d87d36db7744
2015-02-11 03:47:32 +00:00
Pavlin Radoslavov
5e4f754f19 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
  - IPV6_EXTHDR

Also, fixed the match criteria for the optical signal type
to represent unsigned 8 bits integer (per spec).

Change-Id: I925db19cb43c5d9f589c1f090b6a75faabe0a19b
2015-02-09 01:20:09 +00:00
Pavlin Radoslavov
f3b693381d Fix toward ONOS-960 - Signed/unsigned value mismatch for OpenFlow-related
match/action conditions

Fixed the signed/unsigned issue for the match conditions

Also:
  * Reordered some of the code in CriterionCodec.java so the order
    of handling various Criterion types follows the order as defined in
    Criterion.java
    - In the process, removed a duplicated entry for Type.MPLS_LABE
    - Fixed an issue with TCP/UDP/SCTP ports being accessed as 8-bit integers
      instead of 16-bit integers

  * Updated some of the unit tests in CriterionCodecTest.java to use
    larger integer values that could expose better potential bugs in
    the tested code.

Change-Id: I531d13bd258ebc559ce6be716863c01613427a98
2015-02-09 01:16:31 +00:00
Yuta HIGUCHI
32a53c5a85 Instruction related fixes
- Fixed PushHeaderInstructions bug, where half-baked Ethernet instace was used
  only to hold ethernetType. (ONOS-987)

Change-Id: I330a862c8a18206250befbd4e22ee6d189beed83
2015-02-08 01:41:43 -08:00
Thomas Vachuska
4a51e57cbf Adding and fixing javados.
Change-Id: I38eddb0b11630cdd83c5d1e5d5dc393ee2555897
2015-02-07 21:36:23 -08: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
sangho
5afd02ad09 ONOS-894 : Implemented GroupProvider
Change-Id: I2755abd433921a420ad545fcf6fef61e90a8b89f
2015-02-05 05:02:48 +00:00
sangho
8995ac580d ONOS-958: Add a Group action to TrafficTreatment subsystem.
Change-Id: I2a377508b9721ee96a5a52b0bb2ed3a960c982ce
2015-02-05 05:00:56 +00:00
sangho
87af81190e Added SpringOpenTTP switch driver (ONOS-822/ONOS-682).
Modified OpenFlpwRuleProvider to support FlowRule with multiple-table feature.

Change-Id: If95284077b96213593c5c1e3ab12900001bf49a2
2015-02-04 05:53:53 +00: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
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
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
500c317c2e Use diamond operator to simplify codes
Change-Id: I2cb27782c6f47c908d06e1877705921a5f57f91e
2015-01-27 23:44:18 +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
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
Sho SHIMIZU
fce9d4c211 Delete unnecessary semicolon
Change-Id: I19e82ef15c91411184f1bb9ad86dea668f48c63b
2015-01-21 16:47:10 +00:00
Jonathan Hart
29afca36c4 Fixed bug where ONOS sends actions in DELETE flow mods in OF1.0.
Fixes ONOS-787.

Change-Id: Ide8817927fc7a64da79df7998e3baebefb09de40
(cherry picked from commit 18679365afc6eab5cb13f702def99b3f077bf4ba)
2015-01-21 02:26:29 +00:00
Jonathan Hart
e46c0411e6 Protect against null pointers during deserializing.
Fixes ONOS-779.

Change-Id: I7e6a57457e287d28dd23946d677d3943443a435f
(cherry picked from commit eec297248bd066ca8b5eda166ca0791c7c6b85f2)
2015-01-20 23:15:57 +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
2ffcd10ac9 Add default drop rule in OF1.0 switches.
Default drop rule has the lowest priority and matches everything. This means
if a packet doesn't match any rules in the flow table, it is dropped. This
brings OF1.0 behaviour into line with OF1.3+ behaviour.

Change-Id: Id73839907a664bdccbc7a5eb904a8edd2a6222e7
2015-01-17 16:38:28 +00:00
Ray Milkey
e53f171fa9 ONOS-535 - capture and display ip address and port of switches
Change-Id: I1671113b35853e258986568cec3a385c281e1147
2015-01-16 22:23:56 +00:00
Ray Milkey
e0fade7785 ONOS-539 - Capture port names so CLI can display them
Change-Id: I40b24c401c782a452a66c081623f5bba5ea5c9af
2015-01-16 22:19:59 +00:00
Ray Milkey
d3edd037a1 Fix a typo in manufacturerDescription() method name
Change-Id: I8f95c6c0aa1ac6c59644828ddf2b82eea4c380a3
2015-01-16 11:38:58 -08: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
Charles M.C. Chan
fe42181ff5 ONOS-537 Provided maxLen setting to make sure packet data is sent with packet-in message. (OF1.3)
Apply Thomas Vachuska's solution of ONOS-537 (#2177) to FlowModBuilderVer13.
This solves the exception mentioned in the comment of ONOS-540.
Tested with OpenvSwitch 2.3.0 in Mininet 2.2.0.

Change-Id: I1f9d27d1b978ae01d16d63d6377046e4e2f3cd00
2015-01-12 18:20:51 +08: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
Jonathan Hart
d0ef752729 Parse set-field action in OF1.3 when creating flow rules from flow entries.
Closes ONOS-333

Change-Id: I7b032b3e6c874ded4c976de0afa3f4bbaa07df3c
2014-12-16 18:04:41 +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
4785eec529 removing some TODOs
Change-Id: Ic98c811573a1b37813993eedddec512ec85729f3
2014-12-05 00:59:35 +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
Praseed Balakrishnan
db8a9d21f9 Fix serializer exception while using optical intent on distributed store
Change-Id: If19a0c12eb0d88d2daa57c16fb1b626b7c0f428f
2014-12-03 21:44:22 +00:00
alshabib
fd629e8584 Devices should not be disconnected when an instance shuts down.
Change-Id: I0864c1f79b52e021c4ebbcd3a5bdb3eb7c3f1614
2014-12-03 21:39:32 +00: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
alshabib
afc514afde when a switch vapourizes so must its ports
Change-Id: Ibcbcc47f691c24897985978a39da9dba6411ba2a

disable a port which is deleted

Change-Id: Ic6e0cb0a9901a6589b587aeb89bfc1b302d17516
2014-12-02 01:06:00 +00:00
Thomas Vachuska
82041f5ec7 Added a number of demo-related artifacts. Enhanced GUI a bit.
Change-Id: I4501cb338f9eab07420fb60e347167deda5074be
2014-12-01 07:34:01 +00:00
Yuta HIGUCHI
82e5326b23 For ONOS-356
- Add current InstallationFuture information on TimeoutException
- Set timeout values propotional to batch size
- Fix for ConcurrentModificationException
- Check if src/dst is part of the graph before path computation

Change-Id: Iabeac7939c52502b83bf9ebcbe2023539de3ae99
2014-11-28 19:00:56 -08:00
Yuta HIGUCHI
804a4bb06a InstallationFuture: latch after setting error info
Change-Id: Ib7d1f01228a792707a865f71f19c0d3fa96dc1f0
2014-11-28 19:00:56 -08:00
Pavlin Radoslavov
119fd5c5a5 Javadoc fixes.
Change-Id: Ic2cef19a6f1af9916c8615c9319cc122d9da5383
2014-11-26 03:17:20 +00:00
Jonathan Hart
1f8e0d760c Add a case to handle 1.3 set-field actions when parsing flow entries.
The handling is not actually implemented, I just want to suppress the log
message for now. I have a task on Jira to actually implement this: ONOS-333

Change-Id: I9b230e7c602a61f3c2a0c35ae04ae06e305cd439
2014-11-25 23:57:50 +00:00
Jonathan Hart
58682ddc5e Lower log level of frequently-executed flow stats code
Change-Id: I2901a8ede86531677d506c54f7ee2878ef62bb49
2014-11-25 18:01:21 +00:00
Jonathan Hart
cf7832077b Changed back to used Apply Actions to find the actions
Change-Id: Ia08d60d623656bb12c8380d7ca0597a7fc4e89ce
2014-11-24 19:16:25 -08:00
Brian O'Connor
427a1760d4 Updating Intent Manager to deal with failures.
Added ids to Flow batch futures.
Adding some basic unit tests for IntentManger
Adding failedIds to the completedOperation in FlowRuleManager

Change-Id: I7645cead193299f70d319d254cd1e82d96909e7b
2014-11-23 16:16:34 -08:00
Yuta HIGUCHI
faf9e1c3b0 Lower log level
- periodic non-error log to trace
- Host event to debug

Change-Id: I1a3e746f4cafe72dbaa648ac379a0548a93445e4
2014-11-20 10:08:43 -08:00