49 Commits

Author SHA1 Message Date
Cem Türker
3baff6785f ONOS-7077 Openflow 1.5 OXS and stat trigger support
Change-Id: I006bcd3d8eac451a780c7e5c69a12298ead14281
2017-10-19 00:09:28 +00:00
Frank Wang
d8ab0961cc Fixs some misspellings
Change-Id: I03d23d8acca8789b430f74fdac80d287f0fa59df
2017-08-25 16:34:57 +08:00
Brian O'Connor
a09fe5b0b7 Updating Copyright line to Open Networking Foundation
Change-Id: Icba96d7f39a065b53f34a6aeb71afd1f7d51f774
2017-08-03 21:12:30 -07:00
Yuta HIGUCHI
7b41dc9743 cosmetic and minor changes to OpenFlowController
- No functional changes
  - sliced out stats proessing into separate method to reduce method length
  - removed unused code
  - use ImmutableList for defensive copying

Change-Id: I1a49d2cb94a4c52c926d5900a0c4384ea1ba1ec9
2017-07-06 23:17:44 +00:00
Ozge AYAZ
60aded229b ONOS dont give QUEUE stats like other stats message (portstats etc.). I modified OpenFlowControllerImpl for this development.
Change-Id: I36b2cd494ea78c1a4ca2ca4426810bfdb4b0d697
2017-06-22 22:35:15 +00:00
Yuta HIGUCHI
6ee6b8ccd2 netty4 OpenFlow southbound
- separate I/O thread and message dispatch threads

Change-Id: I11a10a47de451a9e3063b62f9450be19c3a9dae7
2017-06-12 20:28:12 +00:00
Yuta HIGUCHI
6512f3e11d Required changes to support OF1.4, 1.5.
- OVS with OF1.4 passed `stc smoke` test
- OVS with OF1.5 still has issue
  As of OVS 2.5.0, OF1.5 mode responds with ill-formed of_meter_features_stats_reply
  org.projectfloodlight.openflow.exceptions.OFParseError: Wrong length: Expected=40(40), got=32
    at org.projectfloodlight.openflow.protocol.ver15.OFMeterFeaturesStatsReplyVer15$Reader.readFrom(OFMeterFeaturesStatsReplyVer15.java:281)

Change-Id: Ib78b9d92ecfb4bb667e24c4ee95bcd09aec160a6
2017-05-19 15:40:12 +00:00
Jimmy Jin
e9b7a02ff9 OpenFlow message processing for new loxi
Depends-On: Id69c8597eb4564653c56cdc90f2dcec50afbdd25

Change-Id: Ib14fbadd3debf98ce1d56343179f8e7929f8ade8
2017-05-19 15:40:12 +00:00
Yuta HIGUCHI
2341e60544 Add support for OF1.4 devices
- part of ONOS-6386

Change-Id: I2e03496ae6f2fdcda5800e2208533faf07790e3d
2017-05-08 21:49:58 +00:00
Thomas Vachuska
11b99fc941 Refining driver subsystem to facilitate coordinated start-up.
- for ONOS-6402

Change-Id: I7f64fc62ad1d451fcf55624b2422b60631a3c8e8
2017-05-04 15:55:16 +00:00
Marc De Leenheer
8aba62ffcb Introduce method to write msg and get response through OpenFlow.
Change-Id: Ibc92985a98a3b9a178e474f55c117e08b05a8d44
2017-04-27 14:59:45 -07:00
Yuta HIGUCHI
10f4513deb ONOS-6070 Idle timeout mechanism for Meter features
Change-Id: Ib8790e352055c518bdc9c8259d273f173e2c246f
2017-03-03 05:04:01 +00:00
Yuta HIGUCHI
5775c2f222 Fix ONOS-4587 and similar issue.
Change-Id: I4ccbfd1ddffe7c86eee0ec7333494538167eae2e
2017-01-25 18:46:16 +00:00
Jordi Ortiz
aa8de49765 [ONOS-5599] Store meter features into MeterStore
Change-Id: I22f7366b87cad6fc706b6ff7b0ccff1a0e85ad6a
2017-01-24 12:08:25 -08:00
Yuta HIGUCHI
1745e5abbd Idle OF channel handling
- Added handler for idle OF channel
- Workaround for device not responding to meter feature request (ONOS-5834)

Change-Id: I72435c65fa427c3f7668a0042b9425eb726cd54e
2017-01-19 19:30:46 +00:00
Yuta HIGUCHI
605758e015 Fix missing space in log message
+ other cosmetic fixes

Change-Id: I2f76b826f4db3fed76e40be3761888a3d756853d
2017-01-16 18:12:42 +00:00
Charles Chan
34155e5187 ONOS-5703 OFChannelHandler does not handle error if meter is not supported
Change-Id: Iad5c88ba4ad408b645c57db271650dd6b79f54c9
2016-12-01 18:10:51 +00:00
Jordi Ortiz
91477b86a2 [ONOS-5599] Recover OF multi part meter features stats message as part of handshake.
Change-Id: I047f1c9b1512b136cc441c8d0822ba2552f2d92e
2016-11-30 19:31:13 +00:00
Hyunsun Moon
e71494d3ec ONOS-5674 Fixed to check device type in OF controller device listener
Change-Id: I101427f2f8db215d3e87223b9ffc784b4fa0cca1
2016-11-18 15:32:41 +00:00
Charles Chan
9d7465eee9 ONOS-5259 Fix ClassCastException
Change-Id: I7956d1392f620a5bdb4800bc45bfaef1a03d8e38
2016-09-10 02:04:17 +00:00
Ray Milkey
30d1965a32 Add OF 1.3 status for reasserting master controller
Change-Id: Ibd25eb8189f67bc8a5107ea0245cfbdee24549ed
2016-09-06 12:09:46 -07:00
Yuta HIGUCHI
cedd0dffd0 Disconnect switch when Device was admin removed.
Change-Id: I8d55eda686d29b43540f5467739983564afde5af
2016-08-23 11:44:13 -07:00
Yuta HIGUCHI
8552b178e5 Let backend choose number of IO threads by default.
e.g., Netty NIO uses # cores * 2 threads.

Change-Id: I59b125aaae50fb067214d067a06a98d258726a26
2016-08-09 21:31:56 +00:00
Thiago Santos
617254077c [ONOS-5069] OpenFlowControllerImpl: always cleanup on deactivate
Even if we don't have devices, the sockets/channels must be closed.

This is particularly harmful when onos is restarted to form a cluster
and the openflow channels are left open. On the next
activation it will try to open ports that were already open and it
fails

Change-Id: I768b9db0b71ffba2805fabf631adcb2039af89e4
2016-08-08 17:21:33 +00:00
Jonathan Hart
a33134e049 Make error messages more accurate when OpenFlow provider can't find a driver for a device
Change-Id: If40f2446fab215950689b6846aadc8024e8eb8e1
2016-07-29 17:23:11 +00:00
sangyun-han
69ed4468ea Add exception handling for unfound switch in processPacket
Change-Id: I9a9e539c02bf925ba3ab24b201d09a90e9163d96
2016-07-27 12:10:12 +09:00
Yuta HIGUCHI
a809a17746 Assign thread name to HashedWheelTimer
Change-Id: I4805a0c8d93f3a91d9a6dbca5b5c993c574d37a7
2016-07-21 23:32:13 +00:00
Prince Pereira
e779803f75 cherry picking the fix for ONOS-4754 to onos-1.6 and master
Change-Id: I2c7da62479566f16034b598029df5f98a37cc99e
2016-07-08 17:38:00 +00:00
Jian Li
a78cdb217a Refactor the logic on collecting OpenFlow message statistics
Change-Id: I34c209c0ca90cb094ed5f82c96a8a43d3519b807
2016-05-03 19:03:28 +00:00
HIGUCHI Yuta
dc5cf8af07 Explicitly log when disconnecting a switch.
Change-Id: Ie52db282ce6856705e32175558630d37b7f93336
2016-05-02 16:17:24 +00:00
Andrea Campanella
3556f36ac5 Modifying preDeactivate hook in OFControllerImpl to remove double deactivation causing NPE.
The preDeactivate is needed to clean up connections when the app is deactivated but needs
to be called also when the component goes down.
If the two,app and component, go down together we should not trigger the cleaning twice.

Change-Id: I66a40297c78f995c5bcd95226efc33fb135732b3
2016-04-29 15:56:01 +00:00
Jian Li
2266bff9e5 [ONOS-4385] Handle flow removed message type in all cases
- Do not handle packet in messages inside ControllerImpl class

Change-Id: Idcb26b277b790125bd6b3ba8f10bb4c60e2a3c58
2016-04-22 16:00:05 +00:00
HIGUCHI Yuta
d9e0105d79 log uncaught Exception
- Use execute instead of submit so that uncaught Exception will
  be dealt and logged by ExecutorService's handler.
- Use component's own logger

Change-Id: I761264aea00748980929b5048e111756776dd2f6
2016-04-19 17:10:00 +00:00
Madan Jampani
6bcf5f2766 Lower log level to debug for openflow ssl status
Change-Id: I8a3fa7e4b302810455c979132595bebff76604d4
2016-04-18 23:11:50 +00:00
Brian O'Connor
5ab426f9ff Updating copyrights
New format: 'Copyright .year-present Open Networking Laboratory'

Change-Id: I1a9e58b355b775e75245ad875a2d7a4df3f03098
2016-04-09 01:20:21 -07:00
Jonathan Hart
019877f1bc Prevent spurious debug message being logged.
Change-Id: I88fabb3304081a6d313ac2d8849851c1b2d227ee
2016-04-07 18:44:58 -07:00
Ray Milkey
f80bbb22c2 Initial BUCK build
Change-Id: I64e8a979301989062f4545a4841b06c15a372049
2016-03-29 21:39:14 +00:00
Ray Milkey
eba68177fc Remove open flow controller connections on shutdown
Change-Id: I27895ea26a68dcfe395821f0492a292288ceb34b
2016-03-07 23:20:11 +00:00
Ray Milkey
d931a9bf75 Refactor some core testing adapters to not be in the openflow hierarchy
Change-Id: Ia2604337e4b9a7bfa4f6c3c06c5defc499143cba
2016-03-03 06:17:00 +00:00
Andrea Campanella
dda93560aa Moving Openflow executors from submit to execute
Change-Id: I446747c7b28d2562ff14afe7e898cab8a83a14b7
2016-03-03 00:51:22 +00:00
Jian Li
28247b5e36 [ONOS-3724] Fix the Cbench regression issue
Control message monitoring brings some overhead to controller.
In an extreme stressing environment (e.g., running Cbench),
it leads potential performance degradation.

This commit tries to mitigate the Cbench regression with two steps:
1. improve the monitoring performance by assigning more # of
threads in each thread group.
2. make the control message listening feature optional.

Change-Id: I4f7361b7c598c6de71d390eab78a20ada381d4dd
2016-01-11 18:10:03 +00:00
Jian Li
c0c36a4e9a [ONOS-3703] pom.xml external dependencies and plugin version bump
This commit bumps up all maven plugins and dependencies to their
latest version. With bumped version onos passes stc test.

Following plugins are not ready to be bumped up due to instability.
check-style 2.16 -> 2.17: compilation error
maven-compiler-plugin 2.5.1 -> 3.3: always perform recompilation

Following dependencies are not ready to be bumped up due to instability.
kryo 3.0.0 -> 3.0.3: unit test failure
slf4j 1.7.6 -> 1.7.13: fails in stc

Change-Id: Iffe8b0734c7088228ebeee1ef597f0df3dfcd63d
2016-01-10 01:19:39 +00:00
Andrea Campanella
80520b89b1 ONOS-3650 Device driver multiple inheritance
Change-Id: Ib7b72d44533d4e63c4122662b50485243562aa21
2016-01-07 02:02:02 +00:00
HIGUCHI Yuta
1979f55af7 Bug fixes for ONOS-3509
- Forwarding behavior added to {Device,Link}Store by ONOS-490
  cauesed false update information sent from ONOS node, which has been detached from the cluster,
  to be accepted by rest of the cluster after the detached node has rejoined cluster.

- Fix for periodic mastership check was left out
  when MastershipService#requestRoleFor(..) return value was changed to Future.

- Fix for triggerProbe() related messages getting dropped,
  right after STANDBY -> MASTER role change.

- Local state (connectedDevices) was preventing
  vertical (Core -> switch) Mastership state synchronization.

- Various debug log, comment added during investigation.

Change-Id: I777beadf04db8a879830a07bfdc7ab0e2279f190
2016-01-06 09:12:33 +00:00
HIGUCHI Yuta
d9c6117a2f Clean up tempDir after each test runs.
- Fix for issue with /tmp disk full issue on Jenkins.
- Using JUnit Rule TemporaryFolder where possible.

Change-Id: Ie91eba37581ba5bf6c32be7f614220e2098ce2f8
2016-01-05 17:22:25 +00:00
Jian Li
152b88508a [Falcon][ONOS-3537] Implement control message collecting logic w/ unit test
Change-Id: Ic21d476a5ad92d7ef739fa3c13dcc06e5cbf7c56
2016-01-04 18:50:06 +00:00
alshabib
5162a9d216 fix for OF ssl, which now permits multiple switches
Change-Id: I69b52ba2521b66ba8c3062f94b0cbd0ce1d1f8f9
2015-12-08 07:37:11 +00:00
Charles Chan
ecfdfb7461 ONOS-3411 Disconnect switches and stop stat collectors when openflow-base is being deactivated
Change-Id: I9a1b5fbb60a9e7135cd586fe717c18f83e3d864d
2015-12-02 19:25:49 +00:00
Brian O'Connor
5e7fc6da79 Moving openflow to protocols/ directory
Change-Id: Ie7695f4ab25e9906ebf2ec1a0b59f74d652089b8
2015-11-19 15:20:00 -08:00