openflowjava.git
8 years agoBug 5377: Support configuring cipher suites to use for SSLEngine 27/35727/1 stable/lithium
Rashmi Pujar [Thu, 18 Feb 2016 22:30:50 +0000 (17:30 -0500)]
Bug 5377: Support configuring cipher suites to use for SSLEngine

Change-Id: Ia8117364bd6bcbe543cb1d31dea7d27ae87c6755
Signed-off-by: Rashmi Pujar <rpujar@inocybe.com>
8 years agoBug 5118 - Unsent messages reported as failed after disconnect 26/35726/1
Michal Polkorab [Wed, 27 Jan 2016 01:08:19 +0000 (02:08 +0100)]
Bug 5118 - Unsent messages reported as failed after disconnect

 - if there were messages delivered to OutboundQueue and disconnect occured,
   unsent messages were not marked as failed, resulting in incorrect / no report
 - channelInactive in AbstractOutboundQueueManager was never triggered as the event
   was consumed in DelegatingInboundHandler

Change-Id: Iaaffbbe14feaec4afbda0a3d6b19699c1ec79e06
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
(cherry picked from commit 25677520a3fca1a925a0970efa20d586e1445e6f)

8 years agoBumping versions by 0.0.1 for next dev cycle 25/35725/1
Thanh Ha [Fri, 4 Mar 2016 01:52:37 +0000 (20:52 -0500)]
Bumping versions by 0.0.1 for next dev cycle

Change-Id: I4655afce1c37ea55fa844d3f7d7112d9d7e87a31
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoRelease Lithium-SR4 24/35724/1 release/lithium-sr4
Thanh Ha [Fri, 4 Mar 2016 01:52:37 +0000 (20:52 -0500)]
Release Lithium-SR4

Change-Id: I292073564dab565fdee4508c9cc96eccb2b56085
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoRevert "Bug 5118 - Unsent messages reported as failed after disconnect" 23/35723/1
Thanh Ha [Fri, 4 Mar 2016 01:55:06 +0000 (20:55 -0500)]
Revert "Bug 5118 - Unsent messages reported as failed after disconnect"

This reverts commit 42d77fc7c0b4fc944b270a29f15ae600fc494cb2.

Change-Id: Iac6ecd2af999ccae49afc8f9d88a68431f0045b5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoRevert "Bug 5377: Support configuring cipher suites to use for SSLEngine" 22/35722/1
Thanh Ha [Fri, 4 Mar 2016 01:54:51 +0000 (20:54 -0500)]
Revert "Bug 5377: Support configuring cipher suites to use for SSLEngine"

This reverts commit eec0e13acce7785038a9f9404aca0dc44fdba334.

Change-Id: Ifd392d9055d0b5db46f4015eaf80452eef3363c7
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoBug 5118 - Unsent messages reported as failed after disconnect 87/35687/1
Michal Polkorab [Wed, 27 Jan 2016 01:08:19 +0000 (02:08 +0100)]
Bug 5118 - Unsent messages reported as failed after disconnect

 - if there were messages delivered to OutboundQueue and disconnect occured,
   unsent messages were not marked as failed, resulting in incorrect / no report
 - channelInactive in AbstractOutboundQueueManager was never triggered as the event
   was consumed in DelegatingInboundHandler

Change-Id: Ifd64c8f9346534a934d49a88ddd5c8f71cbb01e7
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
(cherry picked from commit 25677520a3fca1a925a0970efa20d586e1445e6f)

8 years agoBug 5377: Support configuring cipher suites to use for SSLEngine 95/35595/1
Rashmi Pujar [Thu, 18 Feb 2016 22:30:50 +0000 (17:30 -0500)]
Bug 5377: Support configuring cipher suites to use for SSLEngine

Change-Id: I8d573de8e5fd64f48776e274b75ff418a62bee1d
Signed-off-by: Rashmi Pujar <rpujar@inocybe.com>
8 years agoAllocatedXid assigned incorrectly 72/32972/1
Michal Polkorab [Sat, 16 Jan 2016 23:21:38 +0000 (00:21 +0100)]
AllocatedXid assigned incorrectly

 - allocatedXid should be set as endXid of the last unflushed segment
 - incorrect allocatedXid resulted in unnecessary segment creation

Change-Id: I040e4bd3f58ace6a911349b04eea2c2793372aa0
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
8 years agoAlreadyReading flag not used correctly 55/32855/1
Michal Polkorab [Fri, 15 Jan 2016 20:50:23 +0000 (21:50 +0100)]
AlreadyReading flag not used correctly

 - alreadyReading field is set correctly in channelRead() to signal that
   reading occurs and that any tries to flush are not needed, as a flush
   is always scheduled after the reading is done
 - alreadyReading flag was not set back to false, which
   might cause unnecessary checks for flush being scheduled

Change-Id: Icafdf282390340b176cbe4d9702c84558af8b412
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
(cherry picked from commit 1de9685954275657b096f2e4f325f247028cb7e8)

8 years agoBarrier send condition updated 67/32367/2
Michal Polkorab [Mon, 11 Jan 2016 21:28:52 +0000 (22:28 +0100)]
Barrier send condition updated

 - fixes uncovered case - if a barrier was scheduled and another
   barrier was sent due to exceeded "maxNonBarrierMessages", then we
   would cancel / not enqueue the scheduled barrier because of "sinceLast"
   time - this time is lower than "maxBarrierNanos"

Change-Id: I86f1be2ac0dc76241523ee3b6e6bf12bec90889e
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
8 years agoCleanup VersionMessageWrapper 58/20558/4
Robert Varga [Fri, 15 May 2015 19:12:54 +0000 (21:12 +0200)]
Cleanup VersionMessageWrapper

Fields should really be final and the message buffer is not optional.

Change-Id: I2eda0fece1ac8ef1cb7337ff5f17f528455e2b4a
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMerge "Barrier turn on/off - no Barrier pipeline" into stable/lithium
michal rehak [Fri, 4 Dec 2015 14:06:00 +0000 (14:06 +0000)]
Merge "Barrier turn on/off - no Barrier pipeline" into stable/lithium

8 years agoMerge "Barrier turn on/off - PacketOut bypass" into stable/lithium
michal rehak [Fri, 4 Dec 2015 14:05:56 +0000 (14:05 +0000)]
Merge "Barrier turn on/off - PacketOut bypass" into stable/lithium

8 years agoMerge "Barrier turn on/off - move more functionality from StackedOutboundQueue" into...
michal rehak [Fri, 4 Dec 2015 14:05:51 +0000 (14:05 +0000)]
Merge "Barrier turn on/off - move more functionality from StackedOutboundQueue" into stable/lithium

8 years agoMerge "Barrier turn on/off - StackedOutboundQueue definition" into stable/lithium
michal rehak [Fri, 4 Dec 2015 14:05:47 +0000 (14:05 +0000)]
Merge "Barrier turn on/off - StackedOutboundQueue definition" into stable/lithium

8 years agoMerge "Barrier turn on/off - Split OutboundQueueManager" into stable/lithium
michal rehak [Fri, 4 Dec 2015 14:05:43 +0000 (14:05 +0000)]
Merge "Barrier turn on/off - Split OutboundQueueManager" into stable/lithium

8 years agoMerge "Barrier turn on/off - Split ConnectionAdapter functionality" into stable/lithium
michal rehak [Fri, 4 Dec 2015 14:05:39 +0000 (14:05 +0000)]
Merge "Barrier turn on/off - Split ConnectionAdapter functionality" into stable/lithium

8 years agoMerge "Barrier turn on/off-add switcher value to Config-Subsystem" into stable/lithium
michal rehak [Fri, 4 Dec 2015 14:05:30 +0000 (14:05 +0000)]
Merge "Barrier turn on/off-add switcher value to Config-Subsystem" into stable/lithium

8 years agoMerge "Bug 4473 - Ignore unsupported features on table features" into stable/lithium
michal rehak [Fri, 4 Dec 2015 10:29:15 +0000 (10:29 +0000)]
Merge "Bug 4473 - Ignore unsupported features on table features" into stable/lithium

8 years agoBumping versions by 0.0.1 for next dev cycle 23/30623/1
Thanh Ha [Thu, 3 Dec 2015 22:02:16 +0000 (17:02 -0500)]
Bumping versions by 0.0.1 for next dev cycle

Change-Id: Id5e01a5f26ea2e93d2e28544ac817c60d83a4463
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoRelease Lithium-SR3 22/30622/1 release/lithium-sr3
Thanh Ha [Thu, 3 Dec 2015 22:02:14 +0000 (17:02 -0500)]
Release Lithium-SR3

Change-Id: I3b3dc2e8bf944ac9962b774b2b7d0a60d22b927a
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoBug 4473 - Ignore unsupported features on table features 82/30082/1
Renato Aguiar [Wed, 18 Nov 2015 23:41:01 +0000 (15:41 -0800)]
Bug 4473 - Ignore unsupported features on table features

This patch just ignores any unsupported feature, so the controller is
 still able to connect to the switch and use the currently supported
 features.

Without this change, the connection gets dropped if the switch
implements a new feature, e.g. experimenter action, that is not yet
supported by the controller.

Change-Id: Ibb8d3e5d5bde35903277df923aeb226a42ff947b
Signed-off-by: Renato Aguiar <renato.aguiar@hpe.com>
(cherry picked from commit fa1866fd90861d8652f3868a99ad86d9929d72dc)

8 years agoBarrier turn on/off - no Barrier pipeline 38/28038/13
Vaclav Demcak [Thu, 8 Oct 2015 01:30:45 +0000 (03:30 +0200)]
Barrier turn on/off - no Barrier pipeline

* impl noBarrier OutboundQueueManager and StackedOutboundQueue

Change-Id: I02abcd3618337a9a9373eb59f98565ce61d90ad6
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBarrier turn on/off - PacketOut bypass 37/28037/4
Vaclav Demcak [Thu, 8 Oct 2015 01:07:06 +0000 (03:07 +0200)]
Barrier turn on/off - PacketOut bypass

Note: PacketOut doesn't need to wait for any response
so it's marked as completed during the process of flushing

Change-Id: Ib7372e77cefbafe921f28d48bc6c63d9ff12388c
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBarrier turn on/off - move more functionality from StackedOutboundQueue 36/28036/4
Vaclav Demcak [Wed, 7 Oct 2015 15:43:58 +0000 (17:43 +0200)]
Barrier turn on/off - move more functionality from StackedOutboundQueue

* move more functionality for reusing to AbstractStackedOutboundQueue
* add general methods for Channel msg wrapper
* fix NPE from OFEncoder

Change-Id: I351300c4af40693ba444d3c10a1121e76d004d1b
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBarrier turn on/off - StackedOutboundQueue definition 98/27498/6
Vaclav Demcak [Sat, 26 Sep 2015 23:55:53 +0000 (01:55 +0200)]
Barrier turn on/off - StackedOutboundQueue definition

* add abstract definition for StackedOutboundQueue to allow
mor variability for possible child implementation

Change-Id: I04d8658e0ede049fb0b9265b57a5f7f528998442
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBarrier turn on/off - Split OutboundQueueManager 97/27497/6
Vaclav Demcak [Sat, 26 Sep 2015 21:27:24 +0000 (23:27 +0200)]
Barrier turn on/off - Split OutboundQueueManager

* Split OutboundQueueManger functionaly to Abstract parent
for split barrier functionality and Channel management

Change-Id: Iff85917145034689fa494a679bf6a65b969c775b
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBarrier turn on/off - Split ConnectionAdapter functionality 31/27431/6
Vaclav Demcak [Thu, 24 Sep 2015 22:06:54 +0000 (00:06 +0200)]
Barrier turn on/off - Split ConnectionAdapter functionality

Split ConnectionAdapter functionaly to Abstract parents
for clean implementation

* add AbstractConnectionAdapter primary implement OpenflowProtocolSevice
* add AbstractConnectionAdapterStatistics StatCouter wrapper

Change-Id: Ibfd809d6bc7e2e95339f7c21e26958306b157d41
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBarrier turn on/off-add switcher value to Config-Subsystem 85/27385/6
Vaclav Demcak [Wed, 9 Sep 2015 09:02:30 +0000 (11:02 +0200)]
Barrier turn on/off-add switcher value to Config-Subsystem

* use-barrier support
* base trapnsport impl to ConnectionAdapter
* fix tests

Change-Id: I0ccb92cd9296880954a84dd9935a5273262840a1
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBug 4432 - NPE problem in OFEncode 39/28039/2
Vaclav Demcak [Thu, 8 Oct 2015 02:51:23 +0000 (04:51 +0200)]
Bug 4432 - NPE problem in OFEncode

* add check for listener in msg wrapper
* add default listener for logging in OutboundQueueManager

Change-Id: Ib652d60a210feaddf96840334af3b435e7d0a14f
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
8 years agoBumping versions by 0.0.1 after the Lithium SR2 release 20/28120/1
Thanh Ha [Thu, 8 Oct 2015 16:14:39 +0000 (12:14 -0400)]
Bumping versions by 0.0.1 after the Lithium SR2 release

Change-Id: I18652c288fc5e364261023b7d7ac4d9887f39930
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoApplying the Lithium SR2 release patch 19/28119/1 release/lithium-sr2
Thanh Ha [Thu, 8 Oct 2015 16:14:37 +0000 (12:14 -0400)]
Applying the Lithium SR2 release patch

Change-Id: I4d0e96a5d8ca9f798e78f3e3d1febc27e1eddcd5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoBUG-4072: Echo reply missing 73/27673/1
Michal Rehak [Fri, 31 Jul 2015 12:54:36 +0000 (14:54 +0200)]
BUG-4072: Echo reply missing

 - propper wrapper added at place where OF-message is written
   into netty channel

Change-Id: I4a65cffff946c4f7a1ad8dbc589ab008958c8cf8
Signed-off-by: Michal Rehak <mirehak@cisco.com>
(cherry picked from commit 5a2d3068c20b5063676063c7511256e003cff24a)

8 years agoBumping versions by 0.0.1 after the Lithium SR1 release 97/25697/1
Thanh Ha [Sat, 22 Aug 2015 17:12:10 +0000 (13:12 -0400)]
Bumping versions by 0.0.1 after the Lithium SR1 release

Change-Id: Idddd79c6d50eec1797a2212c2e9a351826783aa4
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoApplying the Lithium SR1 release patch 96/25696/1 release/lithium-sr1
Thanh Ha [Sat, 22 Aug 2015 17:12:04 +0000 (13:12 -0400)]
Applying the Lithium SR1 release patch

Change-Id: I3ed7d04b0477209d6ff389f36c25b623543baeab
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoBug 2875 - fix initiating OFPT_HELLO over SSL from the controller 54/23954/2
Matus Marko [Thu, 9 Jul 2015 13:25:05 +0000 (15:25 +0200)]
Bug 2875 - fix initiating OFPT_HELLO over SSL from the controller

Change-Id: I69a19898c2d4ea916f895d588dc9af20f036e1ef
Signed-off-by: Matus Marko <matus.marko@pantheon.sk>
8 years agoBUG-3907: openflow-plugin-api does not build with jdk8 30/23630/2
Michal Rehak [Wed, 1 Jul 2015 07:38:45 +0000 (09:38 +0200)]
BUG-3907: openflow-plugin-api does not build with jdk8

 - added missing docs
 - fixed misformed docs

Change-Id: I8eb131e7b0510718a4690b69094bb27907b79c41
Signed-off-by: Michal Rehak <mirehak@cisco.com>
8 years agoSet default git-review branch to stable/lithium 46/23346/1
Thanh Ha [Thu, 25 Jun 2015 19:30:41 +0000 (15:30 -0400)]
Set default git-review branch to stable/lithium

Change-Id: Ie718485dd75d5b50dde8dee799d933f6acb33729
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoBumping versions by 0.0.1 for next dev cycle 45/23345/1
Thanh Ha [Thu, 25 Jun 2015 19:28:15 +0000 (15:28 -0400)]
Bumping versions by 0.0.1 for next dev cycle

Change-Id: Ibcb1b844ee7bed5e7c48e0706663baaf884af7e4
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoRelease Lithium 44/23344/1 release/lithium
Thanh Ha [Tue, 23 Jun 2015 01:47:14 +0000 (01:47 +0000)]
Release Lithium

Change-Id: I18ae022eda211e7293755bee0fc9a73eebe8b41b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoImprove OutboundQueueManager IO patterns 13/22013/6
Robert Varga [Sat, 6 Jun 2015 00:31:01 +0000 (02:31 +0200)]
Improve OutboundQueueManager IO patterns

Channel state is tracked internally, which means we can forgo a
synchronized block. This is done by introducing three explicit states,
READING, WRITING, IDLE, which allow more optimal task scheduling.

Change-Id: Ief00abe8aa4e90e85ca0c98bc908e481a7eaab7c
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoSpeed up StackedOutboundQueue.reserve() 21/22021/7
Robert Varga [Sat, 6 Jun 2015 02:02:50 +0000 (04:02 +0200)]
Speed up StackedOutboundQueue.reserve()

In the case of multiple segments being present, we do not need to
completely synchronize if the corresponding segment has already been
allocated. Communicate this fact when allocating segments and check this
flag before embarking on the entire synchronized affair during
reserve().

Change-Id: I10a9ecb141f619b94a20d74152124134d36591b1
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoImplement a segmented OutboundQueue 29/21829/9
Robert Varga [Tue, 2 Jun 2015 19:19:57 +0000 (21:19 +0200)]
Implement a segmented OutboundQueue

Internal lifecycle of a queue segment is disconnected. With this
implementation users do not observe queue changes until channel
shutdown, when the reported queue changes to null.

The reason for that is that the segments are managed internally without
the need to synchronize with the Netty thread. That synchronization is
performed only when there are multiple segments -- which is typical for
crossing the request count barrier.

Outbound queue manager is taght to not schedule a flush task it the
current state of the channel indicates that scheduling is not needed,
such as when the channel is not writable.

Change-Id: I037e27c00524e2a6ec218e3e7c1a5d6188b25ae8
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoTune write low/highwatermark 44/22044/3
Robert Varga [Sun, 7 Jun 2015 00:23:41 +0000 (02:23 +0200)]
Tune write low/highwatermark

Since we rely on channel writability to throttle message writout, bring
it higher up a bit, so we can flush an entire segment in one go.

Change-Id: I9394aa795d3e30375f50ffd84efecbe05aa49bf4
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRun flush immediately when channel becomes writable 76/21576/4
Robert Varga [Mon, 1 Jun 2015 20:52:14 +0000 (22:52 +0200)]
Run flush immediately when channel becomes writable

Instead of scheduling it on the executor, make sure we run the flush
task immediately.

Change-Id: Ic0cf9d031127d8e744a5cd79cfe440d52b3c3f0b
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRelease OutboundQueueEntry callback on completion 79/21379/1
Robert Varga [Thu, 28 May 2015 22:20:39 +0000 (00:20 +0200)]
Release OutboundQueueEntry callback on completion

Memory traces of steady state with mininet have shown we are retaining
already-completed callbacks for the duration of the OutboundQueueImpl's
generation. For multipart requests that means we end up holding up large
chunks of memory for extended time, leading to unacceptable memory
pressure which can be easily avoided.

Change-Id: I2a980fc454583e8fb5d7fe44e47d7ddf076c650b
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: implement a shared stash for queue reuse 40/20740/5
Robert Varga [Tue, 19 May 2015 15:14:06 +0000 (17:14 +0200)]
BUG-3219: implement a shared stash for queue reuse

This introduces a global per-size stash for reuse of OutbountQueueImpl
objects. This allows for efficient reuse across multiple sessions, which
means we minimize stale memory use when some channels are idle.

The stash is implemented in terms of a ConcurrentLinkedDeque, which is
flushed from the tail and has soft references. We rely on
FinalizableReference to notify us when a particular queue is finished.

Change-Id: I78e654a0c3470bbd1c9274237b2be04f50459809
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Throw away message as soon as we send it out 92/20892/1
Robert Varga [Thu, 21 May 2015 12:57:48 +0000 (14:57 +0200)]
BUG-3219: Throw away message as soon as we send it out

In order to relieve pressure on memory, do not wait until the entire
buffer is acknowledged, but clear the message as soon as we send it to
the network.

Change-Id: Ie64c1e0a011e1d1a1a0a98a21d9cc90642f81e6c
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: clear queue array before stashing 83/20883/1
Robert Varga [Thu, 21 May 2015 11:05:15 +0000 (13:05 +0200)]
BUG-3219: clear queue array before stashing

The queue should be cleared before stashing so as to not take the take
up memory.

Change-Id: I71c9a90e1ed9e4b7c7d47bb3e0785f67a8daf932
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMerge "Cache pattern splitters" into stable/lithium
michal rehak [Thu, 21 May 2015 10:32:18 +0000 (10:32 +0000)]
Merge "Cache pattern splitters" into stable/lithium

8 years agoFix precondition format string 79/20879/1
Robert Varga [Thu, 21 May 2015 09:07:01 +0000 (11:07 +0200)]
Fix precondition format string

Instead of logging-style placeholders, use String.format() ones.

Change-Id: I2cfde7eef0dcf4b906d4760dcedc3fd2f1a14df9
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoadded packetIn filter counts to statistics 97/20797/1
Martin Bobak [Wed, 20 May 2015 08:58:07 +0000 (10:58 +0200)]
added packetIn filter counts to statistics

Change-Id: Ifce135548ad1d2ecb9c4bc6ff15e922af771368f
Signed-off-by: Michal Rehak <mirehak@cisco.com>
8 years agoMerge "Bug 3178 - Statistics collection turned on by default" into stable/lithium
michal rehak [Wed, 20 May 2015 10:30:40 +0000 (10:30 +0000)]
Merge "Bug 3178 - Statistics collection turned on by default" into stable/lithium

8 years agoMerge "BUG-3229: Add support for PacketIn filtering" into stable/lithium
michal rehak [Tue, 19 May 2015 15:55:55 +0000 (15:55 +0000)]
Merge "BUG-3229: Add support for PacketIn filtering" into stable/lithium

8 years agoDo not reschedule flush when channel is up and not writable 14/20714/1
Robert Varga [Tue, 19 May 2015 11:45:09 +0000 (13:45 +0200)]
Do not reschedule flush when channel is up and not writable

Shutdown logic checks removed a ciritical check for channel writability
during reschedule. The problem is that an inactive channel is not
writable, hence we need to check for two conditions.

Change-Id: I2c0a79d5f7b8d9cbaec0eaeb553a6f4ecc74f391
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: guard from wron-use entry commit 07/20707/1
Robert Varga [Tue, 19 May 2015 09:32:34 +0000 (11:32 +0200)]
BUG-3219: guard from wron-use entry commit

Debugging has revealed that OFP may be crossing channels and ends up
committing an unreserved offset. Add a guard to check for that.

Change-Id: I445e07df6e628a4abccd4a6daa347e1de12e8eba
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Handle EchoRequests directly in ConnectionAdapter 54/20654/7
Robert Varga [Mon, 18 May 2015 15:18:41 +0000 (17:18 +0200)]
BUG-3219: Handle EchoRequests directly in ConnectionAdapter

If we have an OutboundQueueManager, we should short-cut handling of echo
request messages in the plugin itself. Perform exectly that.

Change-Id: If4090d02e521c2da5914545bf3e887bd265c54a0
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Fix debug arguments 87/20687/1
Robert Varga [Mon, 18 May 2015 16:11:04 +0000 (18:11 +0200)]
BUG-3219: Fix debug arguments

The LOG.debug() message specifies the first argument should be 'this',
but that argument is missing. Fix the inconsistency.

Change-Id: Ie9bbed4fa6974430457cb32fc6f0481948351e20
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Fix flush task scheduling 60/20660/4
Robert Varga [Mon, 18 May 2015 16:11:04 +0000 (18:11 +0200)]
BUG-3219: Fix flush task scheduling

The flush task should be conditionally scheduled if we have any
outstanding requests. We also cannot directly report the channel
shutdown until we have ensured that all requests have been completed by
the user.

Change-Id: Ic8d266d6167eed15f3a51bf8476bbd1db3071dd4
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3229: Add support for PacketIn filtering 59/20559/8
Robert Varga [Fri, 15 May 2015 18:35:50 +0000 (20:35 +0200)]
BUG-3229: Add support for PacketIn filtering

When we are facing an overload situation, we may need to suppress
PacketIns while still processing other messages. This patch adds the
interface for ConnectionAdapter users which they can use to enable
filtering of such packets.

The implementation ensures that we filter these packets as efficiently
as possible.

Change-Id: I431631922437af7a08eb8ece647904d487634bd9
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Fix OutboundQueue cleanup on channel failure 17/20617/5
Robert Varga [Sun, 17 May 2015 01:11:00 +0000 (03:11 +0200)]
BUG-3219: Fix OutboundQueue cleanup on channel failure

When the channel goes inactive, we still need to make sure that any
entries that were reserved and not committed get flushed. Instead of
perfoming a one-shot cleanup in channelInactive(), perform cleanup
whenever flush() runs.

When channel goes inactive, we just cleanup the obviously-freeable
resources and ensure that a flush is scheduled.

Change-Id: I48e1ceb51dcfafedb7352db5d952e9749cdfa50d
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: introduce OutboundQueueException 12/20612/5
Robert Varga [Sat, 16 May 2015 22:46:48 +0000 (00:46 +0200)]
BUG-3219: introduce OutboundQueueException

Original API has not specified an encapsulation exception for errors
incurred during local processing. This patch fixes that by introducing
OutboundQueueException.

Change-Id: I01197710c9d60bd778009c098ec640511eea23c6
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Fix OutboundQueue request error reporting 11/20611/7
Robert Varga [Sat, 16 May 2015 22:34:50 +0000 (00:34 +0200)]
BUG-3219: Fix OutboundQueue request error reporting

Original patch failed to describe how errors are reported when they
arrive in an ErrorMessage or are generated by the local system.

The only error path interface is the onFailure() method in the callback
the user specifies. This fits naturally, as we now define
DeviceRequestFailedException to carry the encapsulated message and pass
it to the callback.

Change-Id: Ie8eb62558991ceb7f6d5eb8d7cd547aecaf63f19
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMigrate to RpcResultBuilder 06/20606/6
Robert Varga [Sat, 16 May 2015 16:59:50 +0000 (18:59 +0200)]
Migrate to RpcResultBuilder

Removes the use of Rpcs and RpcErrors in favor of RpcResultBuilder.

Change-Id: I9bd5f710321ab70098e79bbab463c7b5447ffa17
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: do to park thread in flush 16/20616/3
Robert Varga [Sun, 17 May 2015 00:48:42 +0000 (02:48 +0200)]
BUG-3219: do to park thread in flush

If we encounter an entry which has been reserved but not committed
during flush operation, do not wait for it to get committed, but bail
immediately.

Change-Id: I04a3ca1de4447bba9b513d85601c83fd31d115a9
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoCleanup queue logging 07/20607/3
Robert Varga [Sat, 16 May 2015 15:25:44 +0000 (17:25 +0200)]
Cleanup queue logging

Move messages to trace so debug level does not produce a lot of logs.

Change-Id: Id1b361dee3e3b934010e494541b93baf874a48bc
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMake sure we route error messages back 09/20609/1
Robert Varga [Sat, 16 May 2015 17:21:25 +0000 (19:21 +0200)]
Make sure we route error messages back

Error messages need to be routed/paired with requests, too.

Change-Id: I265343f2e44d07ce8182fe9d399d594ee549d0fe
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoOptimize barrier-implied flushes 80/20580/3
Robert Varga [Sat, 16 May 2015 00:21:19 +0000 (02:21 +0200)]
Optimize barrier-implied flushes

Original code did a full queue scan up to the current request. This
is inefficient if there are previously-completed barriers, as we end up
checking the same slots multiple times.

Remember the offset of last completed future and only flush slots from
that offset on subsequent barrier completion.

Change-Id: I9715f9f7818de611c01d0cd2eaa7637ac5372e91
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoEnable periodic barrier only when needed 79/20579/3
Robert Varga [Fri, 15 May 2015 23:38:12 +0000 (01:38 +0200)]
Enable periodic barrier only when needed

Instead of rescheduling the timer, track precisely when we need to have
it enabled. This will ensure that idle channels are really idle.

Change-Id: I34f7b2fdc5a7abb9d3c2c612adb307bdf097cf10
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoLog the incoming channel 93/20593/1
Robert Varga [Sat, 16 May 2015 12:24:11 +0000 (14:24 +0200)]
Log the incoming channel

For debugging purposes it is useful to understand which channel is being
processed by a particular thread, especially when it is blasting
packets.

Change-Id: I4a12ed5350026d554937e818d824f7d63acff5f6
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMigrate away from deprecated methods 78/20578/1
Robert Varga [Fri, 15 May 2015 23:34:26 +0000 (01:34 +0200)]
Migrate away from deprecated methods

Objects is going away, as is Rpcs.

Change-Id: If4bff97d0f3ec20d7e5a6ed1695bc6ab38213caa
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix Logger use 70/20570/2
Robert Varga [Fri, 15 May 2015 20:33:45 +0000 (22:33 +0200)]
Fix Logger use

Cleanup use of Loggers so we do not concatenate strings, and also check
if the logging leve is enabled before embarking on creating large
strings.

Change-Id: I9f0f513f8cd4857ab7064ed5b824a01b026b831f
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRead data directly into a local array 31/20531/1
Robert Varga [Fri, 15 May 2015 15:28:27 +0000 (17:28 +0200)]
Read data directly into a local array

Do not instantiate an implied ByteBuf -- just allocate it explicitly and
pass it on.

Change-Id: Ib76e03dbf154cd7525aa5cd3e75cb9d3c45cd727
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoChange Assert import 55/20355/2
Robert Varga [Thu, 14 May 2015 10:04:52 +0000 (12:04 +0200)]
Change Assert import

Assert should be imported from org.junit, as that is its new place.

Change-Id: I3f3834e529869af8f3165323210b1d4187dcc828
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoUse an ImmutableMap in DeserializationFactory 30/20530/1
Robert Varga [Fri, 15 May 2015 15:26:43 +0000 (17:26 +0200)]
Use an ImmutableMap in DeserializationFactory

The contents are not changed once initialized. Take advatage of
ImmutableMap's speed.

Change-Id: I60d76f85149cf5f757eb224d0a993e7b8d9c3504
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoDo not use string concat 29/20529/1
Robert Varga [Fri, 15 May 2015 15:27:38 +0000 (17:27 +0200)]
Do not use string concat

Usigng strign concat has performance impact even when the message is not
logged.

Change-Id: I8d588944028ca984474974f4c042f15ea9029396
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-3219: Introduce OutboundQueueHandler and related interfaces 80/20080/25
Robert Varga [Mon, 11 May 2015 19:18:29 +0000 (21:18 +0200)]
BUG-3219: Introduce OutboundQueueHandler and related interfaces

This patch introduces a barrier-enabled outbound queue. The queue works
in reserve/commit manner and notifies users with the result of the
requests. XID allocation occurs as an offset in a particular queue.

Change-Id: Icd3ceda34746be0346ac59b8ed46352db3be9a2f
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBug 3178 - Statistics collection turned on by default 93/20093/2
Michal Polkorab [Wed, 13 May 2015 13:18:04 +0000 (15:18 +0200)]
Bug 3178 - Statistics collection turned on by default

Change-Id: I75c540f22db1f79dafe61a80278cd0181ba1e551
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
8 years agoCache pattern splitters 04/20204/2
Robert Varga [Wed, 13 May 2015 01:08:56 +0000 (03:08 +0200)]
Cache pattern splitters

Splitters are reusable, so make sure we cache them in a constant and
reuse as needed.

Change-Id: I87b50b790b758ad275e6095c1e820385c535968d
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoSpeedup ChannelOutboundQueue flush end 48/20148/1
Robert Varga [Tue, 12 May 2015 15:34:05 +0000 (17:34 +0200)]
Speedup ChannelOutboundQueue flush end

At the end of a flush we report statistics at debug, but that requires
System.nanoTime(). Make that call conditional on debug being enabled.

Change-Id: Ibdf02b93ca12d8930227de059d107aa3c4ccb88d
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBug 2926 - API yangs hidden 83/18083/1
Michal Polkorab [Thu, 9 Apr 2015 14:33:48 +0000 (16:33 +0200)]
Bug 2926 - API yangs hidden

Change-Id: Icf250c0aab45ccfd0d48361d24828fdb0002ed29
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoRemove mention on enunciate 09/17409/1
Robert Varga [Tue, 31 Mar 2015 09:22:05 +0000 (11:22 +0200)]
Remove mention on enunciate

It is not used anywhere in the project, so let's not mention it.

Change-Id: I7c2aa4c9f476c8c127d5a4b3c6ec4a8ceb04b5d8
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG 2905 TCP Options incorrect 13/17213/2
Anton Ivanov [Fri, 27 Mar 2015 08:09:08 +0000 (08:09 +0000)]
BUG 2905 TCP Options incorrect

OpenFlow requires latency related optimizations, not throughput
ones (in the TCP sense of this word).

Signed-off-by: Anton Ivanov <aivanov@brocade.com>
9 years agoFix Java 8 javadoc compatibility 90/17290/3
Robert Varga [Sat, 28 Mar 2015 17:15:06 +0000 (18:15 +0100)]
Fix Java 8 javadoc compatibility

Java 8 is more picky about javadocs -- make sure we can pass
compilation.

Change-Id: I816b25cc439cc7eadd8e073205611cb15ab95e9b
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoFix checkstyle 89/17289/2
Robert Varga [Sat, 28 Mar 2015 16:42:59 +0000 (17:42 +0100)]
Fix checkstyle

Wrong indent, trailing whitespace, unused imports, tabs.

Change-Id: I34d1673fc61d8de31bc0a79509e8317b5622c958
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoInstruction experimenterId fix 62/17162/4
Michal Polkorab [Thu, 26 Mar 2015 14:27:24 +0000 (15:27 +0100)]
Instruction experimenterId fix

Change-Id: I19dde700890e9211b37cfef70b35d764391831f0
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoAction experimenterId fix 59/17159/2
Michal Polkorab [Thu, 26 Mar 2015 14:07:24 +0000 (15:07 +0100)]
Action experimenterId fix

Change-Id: Idebe6abbaf24977209857c5d47efe67717e6a027
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoRevert "Add odlparent relativepath relative to autorelease" 91/17191/1
Thanh Ha [Thu, 26 Mar 2015 19:02:43 +0000 (15:02 -0400)]
Revert "Add odlparent relativepath relative to autorelease"

Per discussion on mailing list thread we have decided to revert this
change and achieve relative path updating via scripting in autorelease.

https://lists.opendaylight.org/pipermail/release/2015-March/001754.html

This reverts commit 435f3e8a95843a6e9a326ab56663c31ff6d7cdb7.

Change-Id: I2bca2e9309cf8a751a81e11b47f2c01ff6786184
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoBug 2866 - Fixed ipv6 address parsing 10/16810/3
Michal Polkorab [Thu, 19 Mar 2015 09:50:26 +0000 (10:50 +0100)]
Bug 2866 - Fixed ipv6 address parsing

 - added unit test with uncovered cases

Change-Id: Id3ad9263428e6d6cb10c8799d031a1d75b05c98d
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoBug 2756 - Instruction model update 39/16039/3
Michal Polkorab [Wed, 4 Mar 2015 18:01:01 +0000 (19:01 +0100)]
Bug 2756 - Instruction model update

Change-Id: Id1fbcd55f44a7e60b24ed10d7852fa0a100cf6b5
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoBug 2756 - Action model update 32/15932/6
Michal Polkorab [Fri, 9 Jan 2015 08:04:07 +0000 (09:04 +0100)]
Bug 2756 - Action model update

Change-Id: I63b715c3de85201bb351f9468dea1bedcef702b4
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoBug 2756 - Match model update 18/15718/7
Michal Polkorab [Wed, 25 Feb 2015 11:59:40 +0000 (12:59 +0100)]
Bug 2756 - Match model update

 - updated openflow-extensible-match and openflow-augments revisions

Change-Id: I87188326bd2365133fc55f1ebddf78e0e453bb44
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
9 years agoAdd odlparent relativepath relative to autorelease 43/16443/1
Thanh Ha [Fri, 13 Mar 2015 02:28:49 +0000 (22:28 -0400)]
Add odlparent relativepath relative to autorelease

Change-Id: Iaef70a0a21db712b50adbc2afae1b9deb350631e
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoExposed channel autoread option 38/14438/2
Martin Uhlir [Fri, 23 Jan 2015 13:17:48 +0000 (14:17 +0100)]
Exposed channel autoread option

Change-Id: I8174d4d7d54eaa4bb6959501561384afd2267afa
Signed-off-by: Martin Uhlir <martin.uhlir@pantheon.sk>
9 years agoMigrate features to features-parent 82/15282/3
Robert Varga [Fri, 13 Feb 2015 19:35:14 +0000 (20:35 +0100)]
Migrate features to features-parent

odlparent provides a convenient parent, so we can easily use it.

Change-Id: I1912af326716305298867504d6fb6dc5df1d4040
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoRemove yang.prototypes.version 81/15281/4
Robert Varga [Fri, 13 Feb 2015 19:28:55 +0000 (20:28 +0100)]
Remove yang.prototypes.version

This corresponds to mdsal.version and is already covered by the import.

Change-Id: I77f2c225f2ae938380ed994d3726306ec9144390
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoRemove unneeded properties 80/15280/4
Robert Varga [Fri, 13 Feb 2015 19:26:28 +0000 (20:26 +0100)]
Remove unneeded properties

These are not referenced anywhere, so we can remove them.

Change-Id: Ib528f96fe3832103c79ae0fdcaea3d3f035e06b1
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoRemove unneeded version declarations 79/15279/5
Robert Varga [Fri, 13 Feb 2015 19:19:46 +0000 (20:19 +0100)]
Remove unneeded version declarations

They are taken care of by parent import, so no need to declare them
again.

Change-Id: I66997b43887043e33de039bb2e5f829720a4fc68
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoIntroduce an artifacts artifact 78/15278/5
Robert Varga [Fri, 13 Feb 2015 19:15:33 +0000 (20:15 +0100)]
Introduce an artifacts artifact

This will ease up the imports in downstream projects.

Change-Id: Ie91dfc04cf969639d83ebb85e4d0a348c5108971
Signed-off-by: Robert Varga <rovarga@cisco.com>