Andrej Leitner [Mon, 10 Oct 2016 07:44:38 +0000 (09:44 +0200)]
Change BarrierReq/Res factories to version assignable
- made BarrierRequest/BarrierReply factories version assignable
- removed OF10 factories duplicates
- registered new deserializers
- update tests
- fix typo
Resolves: Bug 4255
Change-Id: I248941b94ea6974679a27313cd6634baaa0fc034
Signed-off-by: Andrej Leitner <andrej.leitner@pantheon.tech>
Andrej Leitner [Fri, 7 Oct 2016 14:57:49 +0000 (16:57 +0200)]
Change GetConfigReq/Res and SetConfig factories to version assignable
- made SetConfig, GetConfigRequest and GetConfigReply factories
version assignable
- removed OF10 factories duplicates
- registered new deserializers
- update tests
Resolves: Bug 4255
Change-Id: Ib4809c58d62aa4608d88894d01c6d107d2fff90c
Signed-off-by: Andrej Leitner <andrej.leitner@pantheon.tech>
Andrej Leitner [Thu, 6 Oct 2016 13:37:06 +0000 (15:37 +0200)]
Change EchoReq/Res factories to version assignable
- made EchoRequest/EchoReply factories version assignable
- removed OF10 factories duplicates
- registered new deserializers
- update tests
Resolves: Bug 4255
Change-Id: Ic3e67c4e4db7f1fedcdfc125784219d42a59054c
Signed-off-by: Andrej Leitner <andrej.leitner@pantheon.tech>
Andrej Leitner [Tue, 4 Oct 2016 15:38:03 +0000 (17:38 +0200)]
Allow any hello mesage and extend hello support for v1.4, v1.5
- accept any (also unsupported version) hello message for handshake and negotiation
- added version assignable factory
- made HelloFactory version assignable
- register deserializers for hello message of v1.4, v 1.5
- update logging
- update tests
Resolves: Bug 6805, Bug 4255
Change-Id: I228108908ecfb2c3a7f8afa866790b7c193f046c
Signed-off-by: Andrej Leitner <andrej.leitner@pantheon.tech>
Michal Polkorab [Fri, 14 Oct 2016 10:45:04 +0000 (10:45 +0000)]
Revert "Revert "Move the Openflow connections blueprint to OpenflowJava project""
This reverts commit
159164138dd0a64af5a3e2b96e1d7de5cad4b139.
Re-introducing the change
Change-Id: I8b9e4bd2220890d173dec7471eaf3a6e8b837721
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Michal Polkorab [Thu, 13 Oct 2016 16:01:30 +0000 (16:01 +0000)]
Revert "Move the Openflow connections blueprint to OpenflowJava project"
This reverts commit
4de7239667ec58eef9e2759e1501b9d1cf862cdd.
Change-Id: I45a74aa32abb1ac16ab403fb4cac8a39a307b00c
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Mohamed El-Serngawy [Tue, 4 Oct 2016 20:48:48 +0000 (16:48 -0400)]
Move the Openflow connections blueprint to OpenflowJava project
Moving the Openflow connections (defaultSwitchConnProvider and legacySwitchConnProvider)
blueprint configuration to OpenflowJava project as its data model config "openflow-switch-connection-provider-impl"
exist in OpenflowJava project
Change-Id: I21529b5f8e312d4da0d4a76ef0e6bf02a1e551c5
Signed-off-by: Mohamed El-Serngawy <melserngawy@inocybe.com>
yunyunhan [Mon, 19 Sep 2016 20:05:37 +0000 (04:05 +0800)]
Bug 6744 - the parameters of the function of registerMeterBandSerializer need to be more refined
Change-Id: I076906df05b26b407fe7209487b9181dec029d3a
Signed-off-by: yunyunhan <han.yunyun@zte.com.cn>
(cherry picked from commit
5e8b6a2c5218b2ea22343ec889ad7e7fb4112530)
yunyunhan [Fri, 9 Sep 2016 17:34:15 +0000 (01:34 +0800)]
Bug 6674 - the key of the serialization function registered by the vendor is not refinement enough
Change-Id: Ibe9c63f03850730c7d7346820d37786d6711f861
Signed-off-by: yunyunhan <han.yunyun@zte.com.cn>
(cherry picked from commit
f93ddeaf5e4f25a0a47438786777d13c9b95e46d)
Andrej Leitner [Tue, 6 Sep 2016 13:13:44 +0000 (15:13 +0200)]
Bug 6646 Fix infinite reschedule of flush
- sometimes (on disconnect) there can be still some unflushed segments
but they are not able to be flushed if channel is not writable anymore
and we get to infinite loop of flushing (but not writing)
Change-Id: I74cac21b4635e22f5b8d63f3a602f40796108059
Signed-off-by: Andrej Leitner <andrej.leitner@pantheon.tech>
Andrej Leitner [Tue, 6 Sep 2016 09:14:17 +0000 (11:14 +0200)]
Bug 6638 Failed entries marked as completed also counted as completed
Change-Id: Ia4a0f334d831313eb419b327cf9b8f5fa9a464b4
Signed-off-by: Andrej Leitner <andrej.leitner@pantheon.tech>
Thanh Ha [Mon, 8 Aug 2016 21:50:19 +0000 (17:50 -0400)]
Bump versions by 0.1.0 for next dev cycle
Change-Id: I247e00fe7f3ff830760006711c6d61b8174cb4ba
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Michal Polkorab [Tue, 2 Aug 2016 09:25:28 +0000 (11:25 +0200)]
Bug 5895 - Support of Ext109 openflow tcp flag matching
- added openflow-approved-extensions.yang module
- added (de)serializer for TCP flags match entry (ext-109)
- also a reference material for adding other approved match entry extensions
Change-Id: I042d71e5a8b56f6b6460ef235442568d411533da
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Also-By: Anil Vishnoi <vishnoianil@gmail.com>
Thanh Ha [Sat, 23 Jul 2016 02:27:08 +0000 (22:27 -0400)]
Add missing license headers
Change-Id: Ia8907b48549f18b627d74c45df38c1bbf2e4d720
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Michal Polkorab [Thu, 14 Jul 2016 18:27:00 +0000 (18:27 +0000)]
Merge "Prepare upgrade to Netty 4.1"
Lorand Jakab [Thu, 23 Jun 2016 20:08:57 +0000 (15:08 -0500)]
Upgrade ietf-{inet,yang}-types to 2013-07-15
Change-Id: If7f7f70aa0ca0cc5937d4969ef143d21e959879f
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
Stephen Kitt [Wed, 29 Jun 2016 09:19:58 +0000 (11:19 +0200)]
Prepare upgrade to Netty 4.1
We need to widen the range of allowed versions for odl-netty.
Change-Id: I032697c714327a6ac0928da9f80a694e34d6fc76
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Jozef Bacigal [Mon, 27 Jun 2016 13:28:59 +0000 (15:28 +0200)]
Bug 5928 - Future error after OutboundQueueEntry.java failed
In case that OutboundQueueEntry has failed and after that is called
commit again on the same "entry" (completed entry) with callback, on this
callback was never called onFailure.
- try to store last OutboundQueueErorr
- if commit called on completed entry and it has a callback send onFailure to the callback
- added test for entire class
Change-Id: Ie347811ac6dc2c95d58ad49bbf2aa4d69033b33c
Signed-off-by: Jozef Bacigal <jbacigal@cisco.com>
Thanh Ha [Thu, 5 May 2016 19:47:45 +0000 (15:47 -0400)]
Remove unused property
Change-Id: I219adf08931871495251d9bd0fb9100a40310bf0
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Michal Polkorab [Thu, 9 Jun 2016 08:53:40 +0000 (10:53 +0200)]
Fixed netty & checkstyle failures
Change-Id: I5287bdcdcbc48513d45a9cd4593bf1df6c7be941
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Abbas Pareedkunju [Thu, 2 Jun 2016 05:53:07 +0000 (11:23 +0530)]
Fix for the Bug 5637 : When closing OutboundQueue close() should go prior to finishShutdown()
When device gets disconnected with outstanding entries in queue segment,
it could occur that entry.commit() gets invoked between segment.failAll()
and OutboundQueueProvider.close(). This fix to prevent this scenario.
Change-Id: Id297e7d4f10c7e31a550f94ac7d39f43e1320de1
Signed-off-by: Abbas Pareedkunju <abbas.pareedkunju@tcs.com>
Tom Pantelis [Mon, 9 May 2016 23:59:15 +0000 (19:59 -0400)]
Deprecate SwitchConnectionProviderModule
Deprecate the SwitchConnectionProviderModule and corresponding yang.
The createInstance method was modified to obtain the corresponding
service instance created via blueprint from the OSGi registry using
a ServiceTracker.
Change-Id: Ie156466e08d4a5758ceae63f6c877f8210632cfb
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Thu, 5 May 2016 12:32:21 +0000 (08:32 -0400)]
Add SwitchConnectionProviderFactory
Added a SwitchConnectionProviderFactory interface to the protocol SPI
bundle and a SwitchConnectionProviderFactoryImpl to the impl bundle to
create SwitchConnectionProvider instances given a SwitchConnectionConfig.
The SwitchConnectionProviderFactoryImpl is instantiated and advertised as an
OSGi service via blueprint. This allows clients to create new
SwitchConnectionProvider instances while hiding implementation details.
This is equivalent to creating instances via the config yang module.
The SwitchConnectionConfig and related classes are generated via a new
yang file that is equivalent to the config elements defined in the
openflow-switch-connection-provider-impl config yang. This new yang
model will be stored and retrieved via the data store.
Change-Id: I511c12644d5d54cd99c6b1afbf4c078a0cecee8e
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Michal Polkorab [Tue, 2 Feb 2016 10:53:04 +0000 (11:53 +0100)]
Bug 5173 - Prevent log flooding
Change-Id: I9b26534b8a9330ea0f7e76b68d866b7afa431733
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
(cherry picked from commit
e139552727bffe4da60cec61b5f18fcdb7cecff7)
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>
(cherry picked from commit
0ab3b3d2d5ef029a9fc3ba9ee7e6215b6630df25)
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>
(cherry picked from commit
b80a043a43abc0948378f2d8cbb5a3b819a1f3bc)
Dileep [Mon, 28 Mar 2016 14:49:12 +0000 (07:49 -0700)]
Bug 3230 - Attempt to use Epoll native transport if available
Attempts to use Epoll native transport if available.
Uses Epoll.isAvailable() to check availability.
Refer : http://netty.io/wiki/native-transports.html
Change-Id: I0019a084b0f2410f4cea7d5541fe0e5b49699bec
Depends-on: I073093f9a7b28de9890a6842f8bef72d4fdf6872
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Mike Kolesnik [Tue, 15 Mar 2016 09:51:43 +0000 (11:51 +0200)]
Use controller.mdsal.version when appropriate
Use the property controller.mdsal.version when looking for mdsal
artifacts from org.opendaylight.controller.
Otherwise, it's confusing since mdsal.version actually referrs to
artifacts from org.opendaylight.mdsal.
Change-Id: I58019ccb199ba1aa5ace515d6f2601c93f9b21b5
Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
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)
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>
Michal Polkorab [Tue, 2 Feb 2016 14:20:27 +0000 (15:20 +0100)]
Bug 4614 - Reintroduce xid check for correct RPC handling
Change-Id: I259147af4cbcab5115083df690edfa3cd3c8b5b9
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
(cherry picked from commit
867607566914d5b8a79e161eb0a40c4be9e01746)
Robert Varga [Fri, 19 Feb 2016 13:36:02 +0000 (14:36 +0100)]
BUG-2825: use provided Ipv4/MacAddress factories
IetfInetUtil and IetfYangUtil provide performance-optimized methods for
converting Ipv{4,6}{Address,Prefix}/MacAddress to and from binary
format.
Note that this changes the strings being produced: ipv6 addresses are
properly shortened and max addresses have the canonical lower-case
format.
Change-Id: Ib912a8db3d4d89e85ee97bedc23a0160b7c36fba
Signed-off-by: Robert Varga <rovarga@cisco.com>
Thanh Ha [Thu, 21 Jan 2016 20:53:23 +0000 (15:53 -0500)]
Bump yangtools to 1.0.0-SNAPSHOT
Change-Id: Ie9097f01a9bfe3e68e5dced1f17efdcb736d21bc
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
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 [Sat, 16 Jan 2016 21:55:33 +0000 (22:55 +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 [Fri, 15 Jan 2016 03:42:32 +0000 (22:42 -0500)]
Bump versions by 0.1.0 for next dev cycle
Change-Id: I8e4a58ccdbfca15d14fb9fb9741bf3ae8f05b612
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)