Michal Polkorab [Wed, 27 Jan 2016 18:41:07 +0000 (19:41 +0100)]
Bug 4473 - Concentrate multipart-reply (table features) exception logs
- prevents log from flooding by unsupported structures in table features
- OVS 2.4 related issue
Change-Id: I07ca50074b0ac47047e6067ee22b1b3ec5414bc5
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Robert Varga [Wed, 27 Jan 2016 14:21:03 +0000 (15:21 +0100)]
BUG-4862: catch ClassCastException
When the looked up serializer does not implement the expected
HeaderDesersializer interface we end up with a ClassCastException. Catch
it, issue a warning and continue.
Change-Id: I70f23733078710507bdc65931e41c1bd02c0684f
Signed-off-by: Robert Varga <rovarga@cisco.com>
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>
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>
Thanh Ha [Thu, 14 Jan 2016 21:54:01 +0000 (16:54 -0500)]
Update .gitreview for stable/beryllium
Change-Id: I63ee1d8d5afe886b05a826bc8b4e3195fc6532a5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Michal Polkorab [Mon, 11 Jan 2016 21:28:52 +0000 (22:28 +0100)]
Bug 4942 - 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>
(cherry picked from commit
62c0db21eb5d45415011647427ba9f7a0dc69302)
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>
(cherry picked from commit
3d7142f71d50155111db46032776fa22260afafc)
Stephen Kitt [Mon, 21 Dec 2015 16:30:17 +0000 (17:30 +0100)]
Pull in slf4j-log4j12 from odlparent
Rely on odlparent's dependency management instead of ${slf4j.version}
(which comes from odlparent anyway).
Change-Id: Ic2e1971fc047330d2386f20ff97d936edf2cd28e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
peppepetra [Tue, 15 Dec 2015 13:48:25 +0000 (13:48 +0000)]
Extend openflow-protocol-impl serialization
- Add new serializers/deserializers for OF1.0/1.3
- Register new MessageFactory's
- Register new TypeToClass's
- Add relevant unit tests for each factory
Change-Id: I9a711aef3d7c4a934369ed1d9e9edfdd0d995f98
Signed-off-by: peppepetra <giuseppex.petralia@intel.com>
Mohamed El-Serngawy [Mon, 14 Dec 2015 20:41:25 +0000 (15:41 -0500)]
Add get configuration function to be able to access the openflow connection config from other bundle
Change-Id: I2f0b12f1649771226d032ff2644230895e10191b
Signed-off-by: Mohamed El-Serngawy <melserngawy@inocybe.com>
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>
(cherry picked from commit
64aebad95b27a6f903a7f65e419cd41df1816c90)
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>
(cherry picked from commit
381841508961dcb1587680cdd96437b75383a13b)
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>
(cherry picked from commit
05ab0ada9e8c590102caf34b462c8d989f09d72f)
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>
(cherry picked from commit
3545506a79947dec9b4ded9afe51388dadb16e27)
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>
(cherry picked from commit
deca37b27340c6e9b1576c281982d5d7f4ee1795)
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>
(cherry picked from commit
e35d417dacc1bf002076e432b575931e15769f65)
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>
(cherry picked from commit
07ac625cae363f78ea5dd48356f617544c73913d)
Thanh Ha [Sun, 29 Nov 2015 22:23:09 +0000 (17:23 -0500)]
Use odlparent-lite as artifacts parent
We created odlparent-lite to provide a minimal pom which allows projects
to publish to the correct server. Without this ${project}-artifacts may
fail to deploy to Nexus.
Change-Id: Ieb6f598818d0a7be91954a65a9878118682c12b1
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Robert Varga [Wed, 25 Nov 2015 14:09:21 +0000 (15:09 +0100)]
Use odlparent's netty feature
Instead of pulling n specific version of netty, pull in the feature from
odlparent.
Change-Id: Id954fa4179a93e9c9d3056e5b4252350bb6aab27
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Stephen Kitt <skitt@redhat.com>
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>
Michal Polkorab [Fri, 13 Nov 2015 13:30:46 +0000 (14:30 +0100)]
Added maven central required tags
Change-Id: I0ea22ab090ee45d7f906b921cffda056c3e1ddf3
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Michal Rehak [Thu, 22 Oct 2015 13:12:09 +0000 (15:12 +0200)]
BUG-4283: experimenter msg support - deserialization part
- added support for symmetric and multipart experimenter message
deserialization
Change-Id: Id0efd13f8f6254d55a30cd10871840d93174117a
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Michal Rehak [Thu, 22 Oct 2015 12:59:51 +0000 (14:59 +0200)]
BUG-4283: experimenter msg support - serialization part
- added serialization support for symmetric and multipart
experimenter message
- comments worked in
Change-Id: I8fc4d00e6afc058b335034e8298f9b846d24d8bc
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Vaclav Demcak [Tue, 13 Oct 2015 12:05:32 +0000 (14:05 +0200)]
Bug 4460 - Util project is too general project name
Project with name "util" is too general. I guess, this project
is not common util project for whole Openflow or ODL projects.
So name has to be change to "openflowjava-util" because it looks
like util project only for openflowjava parent.
Change-Id: I5e5477b10c2542ae84a0cf4ffa3a5bec95e07004
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
Vaclav Demcak [Wed, 14 Oct 2015 15:17:22 +0000 (17:17 +0200)]
Fix BUG 4281
Caused by: java.lang.IllegalStateException: Resource '/META-INF/yang/openflow-instruction.yang' is missing
added KEY_WORD into modules ment to live outside of md-sal
Change-Id: I3d6cc4d3d9bf5eb845ab5757447bed462567c335
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
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>
Tony Tkacik [Sat, 3 Oct 2015 10:43:15 +0000 (12:43 +0200)]
Fixed missing prefix in augmentation.
Change-Id: Ia210b3c77cd7b593949439aca06e1f7d3bd719bd
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Thanh Ha [Wed, 2 Sep 2015 03:46:13 +0000 (23:46 -0400)]
Use odlparent configuration for jacoco
Change-Id: I2825a7637eb95e085cbeeb3286e468362c3545b9
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Tony Tkacik [Wed, 2 Sep 2015 14:13:31 +0000 (16:13 +0200)]
Migration to use MD-SAL Project
Change-Id: I6cc9068df952934d153b328670508aa8e2314628
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Michal Polkorab [Thu, 27 Aug 2015 12:25:33 +0000 (14:25 +0200)]
Introduced openflowjava parent pom.xml
Change-Id: I68b321532e494ead49105012401332cc4a5df19c
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Thanh Ha [Sun, 9 Aug 2015 18:10:01 +0000 (14:10 -0400)]
Use odlparent checkstyle.version
Change-Id: I2633028a7bb218dadb2faf9c69829702ef5fb790
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
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>
Thanh Ha [Wed, 22 Jul 2015 19:19:15 +0000 (15:19 -0400)]
Explicitly set git-review branch to master
Change-Id: I902966c7f4827b152521e95aeacd774c6fe25f9f
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
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>
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>
(cherry picked from commit
0fe8e47a8d82d19583ebfd5d191367e803b22384)
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>
(cherry picked from commit
e1e4d30f9c07a7b7db7a63e9f350bba4e758e564)
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>
(cherry picked from commit
45547dc0381407ec537a924447ff9ce0d01890b2)
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>
(cherry picked from commit
d7755318c0395f3f74ca580f4e2db963976776aa)
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>
(cherry picked from commit
754bef597c3b9de84e26bde968e7ab9a502344ff)
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>
(cherry picked from commit
cefbc1e206effcc6d7dc39d860ab2829d3c3cf2a)
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>
(cherry picked from commit
6b6700b60e2db29fdb23d2044ab254accf86ecc9)
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>
(cherry picked from commit
b95f82e5129f22e7b22352d028b0d32d744e924d)
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>
(cherry picked from commit
be5f0cac1babcfccc7209657f2541dd0818c5cb0)
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>
(cherry picked from commit
f84d1445e610bf985caa1c4e41c35954ea664b2c)
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>
(cherry picked from commit
1ef77ad63ab66eed7dd5404301964db8291004b1)
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 Polkorab <michal.polkorab@pantheon.sk>
Signed-off-by: Michal Rehak <mirehak@cisco.com>
(cherry picked from commit
25d95eb2be97152d7a459a12caa5e51a79556f58)
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>
(cherry picked from commit
491faf19aef765281f32ac787f9fab9a3b459b7d)
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>
(cherry picked from commit
5430767b0b533d1db017b2c4fce88150ac25f50c)
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>
(cherry picked from commit
464718c39f203539d7285c172d29027484c88fc9)
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>
(cherry picked from commit
964fe07ec797b78a5390c9f9088eb468967b4906)
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>
(cherry picked from commit
752e794406bc31ea5412f780b01d5db5c5b80e33)
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>
(cherry picked from commit
1f1a00d6c132e58a4d8f549f836323ecfe003e77)
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>
(cherry picked from commit
44b028491689d8d89c2ffea2e7bc6bb2d80209fe)
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>
(cherry picked from commit
763e430f61196740c5ea1c7356022396adf55065)
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>
(cherry picked from commit
ccb7e5bda0598185f98d52ddd16e49ae4d48e5aa)
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>
(cherry picked from commit
8e5473613cc8f6b0d9558edd170b93e238b87d57)
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>
(cherry picked from commit
eea277b72dc9337bb06bb6f2ff470830cc98e74c)
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>
(cherry picked from commit
adbe84ccdff26bc2e58a42a63a023ea8fadff7a9)
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>
(cherry picked from commit
cd8f3f3c6bd1013558f0fdef84ce95cf711b016f)
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>
(cherry picked from commit
7da0dcda4b5d9e5c4510ceb8e4d7840696fbdd90)
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>
(cherry picked from commit
096d3de0bc39bef5bb0493e721d794e850a5b49d)
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>
(cherry picked from commit
2a2781e63b1d36d1b293519e0bca7d2b292a5584)
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>
(cherry picked from commit
96ae2f8565bcf8bbe20eac0370fcc0a20258c5fd)
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>
(cherry picked from commit
272138f7081efbd9796a2a661c92c88727935235)
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>
(cherry picked from commit
a706f49c49d16bbb441c8d0a5c85950c28b6c246)
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>
(cherry picked from commit
59c03f0f989bff42a888135e48b522a0dd888c4a)
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>
(cherry picked from commit
32b44f6755e35fbe1ccb429ffc3a03345aff4a1b)
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>
(cherry picked from commit
8e6748b6570aa25cbfbba6239baf583e77af7cc0)
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>
(cherry picked from commit
0d3ddb408c6a37ff48f98c7e7d9dd00808b4c486)
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>
(cherry picked from commit
350839172904ad939f0c6de03445e456c37ad86b)
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>
(cherry picked from commit
2cf784ba8553237e6c6714a2ca0ee2414f0b029e)
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>
(cherry picked from commit
d25d4e071936d072cd4a847f4414bfe560bfd8a4)
Michal Polkorab [Wed, 29 Apr 2015 17:03:50 +0000 (19:03 +0200)]
Bumped openflowjava versions by minor for next release cycle
Change-Id: I4f1f78cc58aa3e81a2196c794f39def2331f49b7
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Robert Varga [Fri, 13 Feb 2015 18:54:24 +0000 (19:54 +0100)]
Remove unneeded yangtools version
The version is already inherited from parent, no need to repeat it here.
Change-Id: I862dd6912463b063078d7bb927da7e3e3952f465
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 13 Feb 2015 18:57:20 +0000 (19:57 +0100)]
Migrate to artifact imports
This is the proper inter-project version declartion mechanism: just
import the produced artifacts along with versions.
Change-Id: I1ad948e400e3c994522912ed2be1f08fe6349893
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 13 Feb 2015 18:54:57 +0000 (19:54 +0100)]
Remove distributionManagement
It is handled by settings.xml now, so no need to carry it around.
Change-Id: I6a5de99277d735487a6f2f62727bb1e4200ba898
Signed-off-by: Robert Varga <rovarga@cisco.com>
Thanh Ha [Thu, 12 Feb 2015 21:44:28 +0000 (16:44 -0500)]
Remove unncessary Sonar variables
These variables are managed server side or in Jenkins with the latest
Sonar release so should not be configured in project pom.xml files.
Change-Id: I34dc5a64569a1aaf2ca65f0cff2aa87a9f9b1b6f
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Martin Uhlir [Fri, 6 Feb 2015 14:41:38 +0000 (15:41 +0100)]
Added option to initiate connection to device
- as this feature was missing (according to OF specification)
- added integration test
Change-Id: I0f7346195999170a74975ee3438bc948fd685e61
Signed-off-by: Martin Uhlir <martin.uhlir@pantheon.sk>
Martin Uhlir [Mon, 9 Feb 2015 16:23:18 +0000 (17:23 +0100)]
Removed <repository> tags
- according to future plans mentioned here:
https://lists.opendaylight.org/pipermail/tsc/2015-February/002497.html
Change-Id: Ieb48b5a1348a3de2c3cabf62a009934ba552d2c8
Signed-off-by: Martin Uhlir <martin.uhlir@pantheon.sk>
Robert Varga [Mon, 9 Feb 2015 09:06:53 +0000 (10:06 +0100)]
Remove unneeded dependencyManagement declarations
All of these declarations already exist in odlparent, no need to
redefine them here.
Change-Id: Iacebf45d5b8054f6656ea102f5755eaf713c7440
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 9 Feb 2015 08:55:44 +0000 (09:55 +0100)]
Do not override versions from odlparent
All of these properties/plugins are define din odlparent, no need to
hard-code them here.
Change-Id: I33e5d01ba9fe0ca31e7a9c2c7e041efaac82b0c0
Signed-off-by: Robert Varga <rovarga@cisco.com>