226 Commits

Author SHA1 Message Date
Ayaka Koshibe
ae541737d4 Linc-OE ports now identifiable as Och and OMS ports.
Reference: ONOS-1803

Conflicts:
	utils/misc/src/main/java/org/onlab/util/Frequency.java

Change-Id: Ie2bdf74f8198afbd58a4762ff97bff6f4e9010df
2015-05-19 23:36:04 +00:00
Thomas Vachuska
fc52fecc3b Fixed a slew of shutdown exceptions that arose due to improper or out-of-order resource clean-up, e.g. listeners, timers, executors.
Change-Id: I37c351c4202b32e92c076d9d566b96d7ff8d313a
2015-05-19 17:56:49 +00:00
sangho
1e57565687 ONOS-688 (ONOS-1835,1836,1837) :
- Implements features to create and remove tunnels and tunnel flow policies.
 - Implements REST API to create/show/delete tunnels and policies.
 - Supports only single instance for now.
 - Fix "apply" actions to "write" actions of all flow rules
Change-Id: I3740ed82fed8eab4ab8b03839192da72d3e223f1
2015-05-15 23:00:16 +00:00
Ayaka Koshibe
5460d62464 Interfaces for passing port information from OF switch drivers to DeviceProviders.
Change-Id: I14039f5999c930a211c30138caf81c0513d398e2
Reference: ONOS-1911
2015-05-14 23:31:43 +00:00
Sho SHIMIZU
e397ffe6a8 Handle ModOchSignalInstruction in FlowModBuidlerVer13
To support OCh (Optical Channel) according to ONF
"Optical Transport Protocol Extension Version 1.0"

Change-Id: I00d0d61a9c2a2808cf5a02df608a6f3a35afaf28
2015-05-13 17:04:50 +00:00
Sho SHIMIZU
5cd7ce95ae Make indent of case label consistent with other switch statements
Change-Id: I54254840efb0511290e2313cfa10878fb83feda5
2015-05-12 19:12:47 +00:00
Sho SHIMIZU
6601dd7c2d Return Collections.emptyList() instead of null to avoid NullPointerException
Change-Id: I763a6d8993e32e2203c9e3be317d3db3e893d886
2015-05-12 19:11:27 +00:00
Saurav Das
100e3b809d First shot at Broadcom OFDPA 1.0 pipeline
Requires changes to the group description to accept groupId from callers.

Change-Id: Ic21dfe8ae7c246b7d3a6b00e8e5c986e1dc21fa0
2015-05-07 17:00:02 +00:00
Sho SHIMIZU
c14b2a2cea Use long literal to shorten codes
Change-Id: I7a6c4e32b98aa37ce862ab94cab246889aea986a
2015-05-06 17:45:56 +00:00
alshabib
b452fd7d71 Low level openflow drivers have been promoted to the driver subsystem.
All new device drivers should provide a handshaking behaviour as well
as well as a pipeline behaviour.

Change-Id: I883830b074e5d254a8cc6100e6c4fa0023594a36
2015-05-06 01:00:17 +00:00
Sho SHIMIZU
6f1b09e4d0 Add missing break in switch case to resolve an issue found by SonarQube
Change-Id: Ie3e68c0ea317c096a302f576ba9330838a74516e
2015-05-05 13:28:59 -07: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
Thomas Vachuska
75aaa675fb OpenFlowRuleProvider is now configurable with respect to flowPollFrequency.
Change-Id: I3a559a9cd65df1ae56d80017696452788fc08d91
2015-04-30 03:01:17 +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
Sho SHIMIZU
b35ed36918 Avoid unnecessary empty list instantiation
Change-Id: I128485be4e0d7d3400741855e4519f441cfb34c5
2015-04-28 20:17:51 +00:00
Charles M.C. Chan
2184de1e7f ONOS-1756: Improve CLI auto completers
- Add more ICMP types and codes
- Add completer for --icmp6Type
- Add completer for --icmp6Code
- Add completer for --extHdr
    It is a multiValued option.
    For example, the following command will match an IPv6 packet with both fragment and routing extension header:
    add-point-intent --ethType IPV6 --extHdr FRAG --extHdr ROUTING
    NOTE: OVS 2.3.1 does not support OFPXMC_OFB_IPV6_EXTHDR match field yet.
- Change parameter of TrafficSelector.matchIPv6ExthdrFlags() from int to short since that field is 9 bits only

Change-Id: I55944399f3985f2cc09330a726f21983de273341
2015-04-28 17:47:22 +00:00
Thomas Vachuska
a6c0d044ed Fixed a dual-level NPE involving flow-rule payload. We need more unit tests and automated system tests!!!
Change-Id: I821214cc274377dc22cb5ab88c48567eaab778cb
2015-04-23 10:17:37 -07: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
alshabib
bdcbb108ef fixed FlowEntry parsing to take table ids
Change-Id: I1dc6716ee299f1de7608663135a83346800068bf
2015-04-22 14:32:55 -07: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
alshabib
d17abc2e93 Refactored driver to use new FlowRule api.
Deprecated transition with table types and added api for transition with table ids.

Change-Id: Ifcf2d87d16810666d992e4d9f5ddca3d0da460be
2015-04-21 18:27:28 -07:00
Thomas Vachuska
b52a014a46 GUI -- Added ability to display port names in the devices view detail.
Change-Id: Iffaf3b46099f868b7245fe0c7819d13e5bff76d3
2015-04-22 00:56:43 +00:00
alshabib
08d9898714 FlowRule api no longer uses TableTypes. Existing usages are converted to
integer representations via Type.ordinal() call

Change-Id: Ie2a26c5ced166e12f0e1ea22e39cd5195455a1ad
2015-04-21 23:52:19 +00:00
Thomas Vachuska
41e8c18f22 Simplified app packaging to use just project.version rather than short.version.
Change-Id: I58c30b663810de42890b75bbcef5c7dc5a4a87ba
2015-04-21 21:23:11 +00:00
Thomas Vachuska
586afd8e2b Removing need for boilerplate app.xml; Instead defining onos.app.name and onos.app.origin (optional) is sufficient to trigger generation of boilerplate app.xml and features.xml files.
Change-Id: Ied8f3f8bf8774fae85e11c79a733b34dd5868949
2015-04-20 14:36:02 +00: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
Thomas Vachuska
db7467ace2 Separating onos-drivers to be delivered as a separate app from onos-openflow. Apps activated by default (via onos-setup-karaf or onos-install/onos-config) are now onos-drivers and onos-openflow.
Change-Id: I35c7cca79a4b72e966cbc2cebe72b109f2d92706
2015-04-17 19:41:30 +00:00
Thomas Vachuska
a7a0f560a2 Converting builtin applications to be delivered in a self-contained manner via OAR files.
Change-Id: I5b7c6939aacc263248868fac2e0f69124c5f3609
2015-04-16 14:04:35 -07: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
Srikanth Vavilapalli
10e75cd1dc ONOS-1443: Group bucket statistics support and group CLI formatting
Change-Id: Iaa6d8ae1f9222eb9c29d14bf1615a7449e50c4d3
2015-04-14 21:06:44 +00:00
Jonathan Hart
43d9f7a7a5 Remove deprecated openflow host and link providers
Change-Id: I9dbaa28a70998b6265a178bb459a56221f458b75
2015-04-14 17:24:04 +00: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
Jonathan Hart
cc36be8bb0 Don't use exceptions for commonly-used logic
+ javadocs

Change-Id: Ib4d886e10996273855ab5784dc4a0d86f5b11103
2015-04-09 11:56:54 -07:00
Thomas Vachuska
0fa583c493 GUI -- Added applications view.
Fixed table.js column width computation.
Fixed app.xml files to leave out ONOS from description.

Change-Id: Icfe323e63c7965dd8c3a268421ea58065c5c8236
2015-03-30 23:46:18 -07:00
Ray Milkey
4250735018 Remove deprecated instructions() method in the traffic treatment class
Change-Id: I739b35bdcbf9867c639c7b6ca4006f3eeafbb055
2015-03-24 18:18:28 +00:00
Jonathan Hart
67fc097a1e Remove "strip vlan" from our API because it is the same as "pop vlan".
"Strip vlan" is OF1.0 terminology, whereas by OF1.3 it is called "pop vlan".

Change-Id: I483526b39bf8ab6f9f96f251a8469e060b688878
2015-03-20 23:50:28 +00:00
Thomas Vachuska
ee4f9377c2 Adding more app.xml files.
Upgrading app.xml versions.
Cleaned-up features.xml.

Change-Id: I7c5a85480568ffe35281286aefc9aa4e1b3b2afd
2015-03-18 22:14:50 -07:00
Brian O'Connor
6ea48a22fe Starting snapshot 1.2.0-SNAPSHOT
Change-Id: Iffa1055c22448849353ede6581c277f4d3de78d8
2015-03-17 20:07:20 -07:00
Brian O'Connor
91d9019b24 Tagging ONOS Blackbird release: 1.1.0
Change-Id: Iee1accb8f83e03a1c4b2250d36d48aefd6383c97
2015-03-17 19:45:58 -07:00
sangho
c0b3c342ad BgpRouter app supports both OVSSwitch and Corsa HW switch.
Change-Id: Ic0174338af3dbb76e1195b0f94d53a13a60cc0e7
2015-03-16 11:27:17 -07:00
alshabib
da1644e2ae Added delete all flow rules during Corsa switch handshake
Change-Id: I885dad9453754bf86f12d4a86541fe7bfe7efd72

added delete all rules in corsa switch handshake

Change-Id: I7905a754653f6fc7eb8643023372e6dfa779cf26
2015-03-16 11:08:01 -07:00
Brian O'Connor
1545b1ef08 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I8caca4df60027426c18b51c1b35c313fe9ac1c10
2015-03-11 16:38:23 -07:00
Brian O'Connor
20fa3a45f9 Tagging 1.1.0-rc2
Change-Id: I1fa0feb1b790f79baa465fd82965433e109b34b2
2015-03-11 16:23:07 -07:00
Jonathan Hart
8ef6d3b9a0 Minor tweaks to the flow layer.
Prevent DistributedStatistics store from logging "rule has no output" for
rules that transition to other tables.

Change-Id: I85e86965f5609df608cbc19551632153960a5c5b
2015-03-11 20:08:45 +00:00
Jonathan Hart
e106e4b7c7 Add support for building group bucket entries with push and pop vlans
Change-Id: I96932509ffda6167bfea74bda1de78ffaab29963
2015-03-10 05:05:25 +00:00
Jonathan Hart
37d659ca4a BgpRouter: Added treatment to delete flows
Deleting routes now works.

Change-Id: I7ed682474e571aa2f402a1762a2037190c2d9284
2015-03-09 18:41:34 +00:00
Jonathan Hart
54b406b1e4 Add push VLAN treatment and use it in BgpRouter groups
Change-Id: I8c241fd776cdddd77969413736bd786c0d5a4828
2015-03-09 18:33:29 +00:00
alshabib
346b5b362d Traffic Treatements now support deferred, immediate, table, and clear instructions.
By default, treatments are all immediate. Treatments will be deferred if the builder
predicated by deferred(). Subsequent treatments will be deferred until immediate is called
on the builder again. Multiple calls to deferred and immediate are permitted.

Change-Id: I76b3a44f2219fc1e72a7fb41b72d7bd602be85b7
2015-03-09 18:28:58 +00:00
alshabib
ab21b2d05a fix corsa pipeline divergence : need to differentiate between write and apply instructions.
Change-Id: I477d27d6e52a8e09744614e5f5aa843dd26331e0
2015-03-05 21:03:43 +00:00
Saurav Das
fbe25c5f72 Getting router interface config into the corsa dataplane pipeline
Change-Id: I67d5bf7a20190b07a7bf55c7b60f771877ca8dbb
2015-03-04 11:12:00 -08:00