openflowplugin.git
7 years agoDisconnection improvements. 67/49367/19
Jozef Bacigal [Wed, 14 Dec 2016 16:15:24 +0000 (17:15 +0100)]
Disconnection improvements.

Change-Id: I547bf7fab3604e8b7dad8ce8964528b3cbc05998
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoAdd mastership listener to Initialization callbacks. 43/49243/18
Jozef Bacigal [Mon, 12 Dec 2016 12:44:28 +0000 (13:44 +0100)]
Add mastership listener to Initialization callbacks.

Change-Id: I743feb5429578ffe571bc366786d317efa0cacfa
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoImplement connection core layer basic behavior 83/48883/23
Jozef Bacigal [Thu, 1 Dec 2016 13:51:12 +0000 (14:51 +0100)]
Implement connection core layer basic behavior

Change-Id: Ibc4882ce67d0db2ad4ccf6ce070f25126e3fb1a0
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix DeviceFlowRegistry performance regression 72/53972/16
Tomas Slusny [Tue, 28 Mar 2017 11:06:04 +0000 (13:06 +0200)]
Fix DeviceFlowRegistry performance regression

- Remove use of marks and modify DeviceFlowRegistry immediately
- Synchronize only access to DeviceFlowRegistry BiMap and not
  entire class
- Replace custom match comparison with match normalization (should be a
lot faster on big amount of flows)
- When logging to console, compute FlowRegistryKey hashes only when needed

See also: bug 6917

Change-Id: I25e12a8254b75063e4fdc840eddd70386e3b0f26
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoMerge "Add missing karaf 4 features to artifacts"
Jozef Bacigal [Mon, 3 Apr 2017 08:06:05 +0000 (08:06 +0000)]
Merge "Add missing karaf 4 features to artifacts"

7 years agoMerge "BUG-7622: Karaf 4 Migration"
Jozef Bacigal [Mon, 3 Apr 2017 07:26:49 +0000 (07:26 +0000)]
Merge "BUG-7622: Karaf 4 Migration"

7 years agoAdd missing karaf 4 features to artifacts 71/54171/1
miroslav.macko [Fri, 31 Mar 2017 09:40:35 +0000 (11:40 +0200)]
Add missing karaf 4 features to artifacts

See also: BUG-7622

Change-Id: I8afab9271a50469073168827db68e9b296cead15
Signed-off-by: miroslav.macko <miroslav.macko@pantheon.tech>
7 years agoMerge "Fix table miss flow push"
Jozef Bacigal [Fri, 31 Mar 2017 07:53:18 +0000 (07:53 +0000)]
Merge "Fix table miss flow push"

7 years agoBUG-7622: Karaf 4 Migration 09/54109/2
Claudio D. Gasparini [Wed, 29 Mar 2017 11:03:49 +0000 (13:03 +0200)]
BUG-7622: Karaf 4 Migration

Add missing karaf 4 features to artifacts.

Change-Id: I907afa3a31b44412ae3ffa6ba3cca9ab81695b07
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
7 years agoMerge "Replace project-specific checkstyle by odlparent's"
Jozef Bacigal [Thu, 30 Mar 2017 14:52:34 +0000 (14:52 +0000)]
Merge "Replace project-specific checkstyle by odlparent's"

7 years agoMerge "Fix minor issues regarding checkstyle"
Jozef Bacigal [Thu, 30 Mar 2017 14:52:10 +0000 (14:52 +0000)]
Merge "Fix minor issues regarding checkstyle"

7 years agoMerge "Fix modifiers order to comply with Java coding guidelines"
Jozef Bacigal [Thu, 30 Mar 2017 14:51:21 +0000 (14:51 +0000)]
Merge "Fix modifiers order to comply with Java coding guidelines"

7 years agoMerge "Fix checkstyle .api.openflow.protocol"
Jozef Bacigal [Thu, 30 Mar 2017 14:49:24 +0000 (14:49 +0000)]
Merge "Fix checkstyle .api.openflow.protocol"

7 years agoMerge "Fix checkstyle api.openflow.md.util"
Jozef Bacigal [Thu, 30 Mar 2017 14:49:19 +0000 (14:49 +0000)]
Merge "Fix checkstyle api.openflow.md.util"

7 years agoMerge "Fix checkstyle - api.openflow.md.queue"
Jozef Bacigal [Thu, 30 Mar 2017 14:49:08 +0000 (14:49 +0000)]
Merge "Fix checkstyle - api.openflow.md.queue"

7 years agoMerge "Fix checkstyle warnings."
Jozef Bacigal [Thu, 30 Mar 2017 14:48:57 +0000 (14:48 +0000)]
Merge "Fix checkstyle warnings."

7 years agoMerge "Fix checkstyle warnings"
Jozef Bacigal [Thu, 30 Mar 2017 14:48:52 +0000 (14:48 +0000)]
Merge "Fix checkstyle warnings"

7 years agoMerge "BUG-7901: fix unsynchronized transaction access"
Jozef Bacigal [Thu, 30 Mar 2017 14:03:32 +0000 (14:03 +0000)]
Merge "BUG-7901: fix unsynchronized transaction access"

7 years agoBUG-7901: fix unsynchronized transaction access 65/52965/5
Robert Varga [Tue, 28 Mar 2017 15:29:16 +0000 (17:29 +0200)]
BUG-7901: fix unsynchronized transaction access

The evidence in the issue indicates that we have a race condition
where a batch of modifications is being submitted (triggered by
a write/delete and exceeded batch count) and we are observing a
concurrent modification. After auditing the CDS side of this, while
we can improve safety a bit, the scenario has to involve multi-threaded
access by the client.

Looking at TransactionChainManager, it seems to be heavily synchronized,
but there is a hole in the paths which are using getTransactionSafely().

While the access to the TransactionChain, it returns the transaction
(which really is an alias to the wTx field). That throws of static
analysis, as we end up the object pointed to by wTx without holding
the lock -- hence concurrent threads will end up touching the transaction
without any guards, leading to a violation of Transaction contract (which
requires external synchronization).

This patch reworks getTransactionSafely() so it only ensures the field
is initialized as appropriate and makes its callers access the wTx field
with the proper lock held.

Bug: 7500
Bug: 7901
Bug: 8060
Change-Id: I058feb55f91a40ccda6d69ee87cd1a20f792afba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 years agoFix masked NXM reg length 91/53891/2
Tali [Mon, 27 Mar 2017 10:19:32 +0000 (13:19 +0300)]
Fix masked NXM reg length

Change-Id: I0ed5fe6a2db52521b13d0943d8b25911d5ac5fe9
Signed-off-by: Tali <tali.ben-meir@hpe.com>
7 years agoFix checkstyle .api.openflow.protocol 81/53881/1
Jozef Bacigal [Mon, 27 Mar 2017 07:36:52 +0000 (09:36 +0200)]
Fix checkstyle .api.openflow.protocol

Change-Id: Ib7a3b2eebe4aae5a2662574817b41642486f662b
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix checkstyle api.openflow.md.util 80/53880/1
Jozef Bacigal [Mon, 27 Mar 2017 07:33:42 +0000 (09:33 +0200)]
Fix checkstyle api.openflow.md.util

Change-Id: I506f097383676a71caadc6b39393a30551dba11a
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix table miss flow push 57/53557/3
miroslav.macko [Mon, 20 Mar 2017 12:37:56 +0000 (13:37 +0100)]
Fix table miss flow push

- Use ClusteredDataTreeChangeListener

Resolves: Bug 7770

Change-Id: Icf845b5348af374530ce2db01203aea89e2bdbad
Signed-off-by: miroslav.macko <miroslav.macko@pantheon.tech>
7 years agoFix checkstyle - api.openflow.md.queue 35/53735/1
Jozef Bacigal [Thu, 23 Mar 2017 14:21:43 +0000 (15:21 +0100)]
Fix checkstyle - api.openflow.md.queue

Change-Id: I1c91dcee7b74ac1dba17e5c04651009c312124c3
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix checkstyle warnings. 55/52755/9
Jozef Bacigal [Fri, 3 Mar 2017 11:46:20 +0000 (12:46 +0100)]
Fix checkstyle warnings.

- org.opendaylight.openflowplugin.api.openflow.md.core

Change-Id: Ida0bf4149aaa70657a22fb527708d61b0d7d43b3
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix checkstyle warnings 58/52658/8
Jozef Bacigal [Thu, 2 Mar 2017 13:50:17 +0000 (14:50 +0100)]
Fix checkstyle warnings

- org.opendaylight.openflowplugin.api.openflow.md.core

Change-Id: I98490f3a4054bcfdb1339ac490d432ece0539097
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoReplace project-specific checkstyle by odlparent's 33/53633/1
David [Tue, 21 Mar 2017 18:37:59 +0000 (19:37 +0100)]
Replace project-specific checkstyle by odlparent's

This change replaces the project-specific checkstyle rules by the common
ones defined in odlparent's pom.xml as other projects have already done
(Netvirt, Genius, AAA, etc.). The actual enforcement of the checkstyle
rules
are applied on a per-module-basis in their own pom.xml by adding the
following section to the maven-checkstyle-plugin:

<configuration>
 <propertyExpansion>checkstyle.violationSeverity=error</ropertyExpansion>
</configuration>

I have commented the checkstyle enforcement of some current modules to
do this enforcement process in a progressive way by solving the
checkstyle issues module by module. I'll rise separate commits for
those modules soon.

Change-Id: I19bf36ddcd1f02b5cca388562386294b40603566
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
7 years agoFix modifiers order to comply with Java coding guidelines 04/53504/2
David [Fri, 17 Mar 2017 20:30:44 +0000 (21:30 +0100)]
Fix modifiers order to comply with Java coding guidelines

Minor change: replace "final static" with "static final".

Change-Id: If7df3dd6f6999dde5a4bc1b495f28a598b6a9da1
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
7 years agoFix minor issues regarding checkstyle 06/53506/2
David [Fri, 17 Mar 2017 22:09:09 +0000 (23:09 +0100)]
Fix minor issues regarding checkstyle

- Make BulkOMaticUtils a final class since its constructor is private.
- Parenthesis not needed

Change-Id: I2e0a58dfe204aec89ab49cb3fbd870229932c317
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
7 years agoMerge "Bug 7915 - Zero flows populated in all switches when connected to Leader Node"
Shuva Jyoti Kar [Mon, 20 Mar 2017 03:32:43 +0000 (03:32 +0000)]
Merge "Bug 7915 - Zero flows populated in all switches when connected to Leader Node"

7 years agoBug 7349 - Flow ID not updated in operational after removing and adding a flow with... 22/53522/1
Anil Vishnoi [Tue, 13 Dec 2016 03:57:05 +0000 (19:57 -0800)]
Bug 7349 - Flow ID not updated in operational after removing and adding a flow with same match

Change-Id: Ie370cf017bd8642c52f1469cc0b01b10fa38842d
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
(cherry picked from commit 66c19f4bbb00399056dce40db7d3312375558bc1)

7 years agoBug 7915 - Zero flows populated in all switches when connected to Leader Node 21/53521/1
Anil Vishnoi [Thu, 16 Mar 2017 07:10:20 +0000 (00:10 -0700)]
Bug 7915 - Zero flows populated in all switches when connected to Leader Node

Change-Id: I8e8df5d6cb51c114b23f8690d3d6f01fef37f81b
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
7 years agoMerge "Add arbitrary mask for nxm-reg"
Jozef Bacigal [Thu, 16 Mar 2017 13:38:29 +0000 (13:38 +0000)]
Merge "Add arbitrary mask for nxm-reg"

7 years agoMerge "Fix statistics race condition on big flows"
Jozef Bacigal [Thu, 16 Mar 2017 13:37:06 +0000 (13:37 +0000)]
Merge "Fix statistics race condition on big flows"

7 years agoMerge "Fix checkstyle warnings"
Shuva Jyoti Kar [Thu, 16 Mar 2017 10:20:38 +0000 (10:20 +0000)]
Merge "Fix checkstyle warnings"

7 years agoMerge "Fix checkstyle warnings"
Shuva Jyoti Kar [Thu, 16 Mar 2017 10:20:31 +0000 (10:20 +0000)]
Merge "Fix checkstyle warnings"

7 years agoMerge "Fix checkstyle warnings"
Shuva Jyoti Kar [Thu, 16 Mar 2017 10:20:18 +0000 (10:20 +0000)]
Merge "Fix checkstyle warnings"

7 years agoMerge "Remove drop-test feature from He design"
Shuva Jyoti Kar [Thu, 16 Mar 2017 10:17:41 +0000 (10:17 +0000)]
Merge "Remove drop-test feature from He design"

7 years agoBug 6110: Fixed bugs in statistics manager due to race condition. 17/40817/4
Shigeru Yasuda [Fri, 24 Jun 2016 13:10:07 +0000 (22:10 +0900)]
Bug 6110: Fixed bugs in statistics manager due to race condition.

  * Stats notification listener needs to wait for the XID to be cached.
  * Enqueue DS operation after all notifications are received.

Change-Id: I42ac315a65be1a1f02152fbd9ea9510bee586eb3
Signed-off-by: Shigeru Yasuda <s-yasuda@da.jp.nec.com>
7 years agoMerge "Bug 7916: MatchConvertorImpl detailed IllegalStateException instead NPE"
Abhijit Kumbhare [Wed, 15 Mar 2017 22:14:34 +0000 (22:14 +0000)]
Merge "Bug 7916: MatchConvertorImpl detailed IllegalStateException instead NPE"

7 years agoFix checkstyle warnings 52/52652/2
Jozef Bacigal [Thu, 2 Mar 2017 13:24:46 +0000 (14:24 +0100)]
Fix checkstyle warnings

- org.opendaylight.openflowplugin.api.openflow.lifecycle

Change-Id: Iaa95b9c49441adc943a4c510e1583ac92146ee63
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoRemove drop-test feature from He design 63/53063/2
Jozef Bacigal [Thu, 9 Mar 2017 09:24:14 +0000 (10:24 +0100)]
Remove drop-test feature from He design

Change-Id: I3c9ffc1aa0d105601ceaa427f2bc043324d8e296
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix checkstyle warnings 50/52650/2
Jozef Bacigal [Thu, 2 Mar 2017 13:17:58 +0000 (14:17 +0100)]
Fix checkstyle warnings

- org.opendylight.openflowplugin.api.openflow.device

Change-Id: I775fd56bee4a1d80b2c2ace37f32836c993c5b97
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoAdd arbitrary mask for nxm-reg 59/53259/1
Tomas Slusny [Tue, 14 Mar 2017 09:27:48 +0000 (10:27 +0100)]
Add arbitrary mask for nxm-reg

According to specification, nxm-reg should be fully maskable
using arbitrary mask.

Resolves: bug 7897

Change-Id: I912017e6bd33813ac65ed5799c8bfa7ebf217889
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoFix checkstyle warnings 90/52490/6
Jozef Bacigal [Wed, 1 Mar 2017 11:07:46 +0000 (12:07 +0100)]
Fix checkstyle warnings

- org.opendaylight.openflowplugin.api.openflow.connection

Change-Id: Ib061f1fd2dbb6da1cd24e23e1846d79e41026f3e
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoFix statistics race condition on big flows 37/52237/15
Tomas Slusny [Fri, 24 Feb 2017 08:40:45 +0000 (09:40 +0100)]
Fix statistics race condition on big flows

Fix race condition that happens when we receive statistics faster
than flow is deleted from device, but we already sent request for
deletion and removed this flow from device registy.

Resolves: bug 6917

Change-Id: I95510fbc5d507eaffc34d58b3b7743e60911b541
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoFix checkstyle warnings 87/52487/3
Jozef Bacigal [Wed, 1 Mar 2017 10:40:21 +0000 (11:40 +0100)]
Fix checkstyle warnings

- org.opendaylight.openflowplugin.api

Change-Id: I7b24e696af69505163bbd515ffa7db3b32ca497d
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoMerge "Remove old drop-test module and files."
Jozef Bacigal [Fri, 10 Mar 2017 09:09:37 +0000 (09:09 +0000)]
Merge "Remove old drop-test module and files."

7 years agoMerge "Implement core API's methods."
Jozef Bacigal [Fri, 10 Mar 2017 09:09:17 +0000 (09:09 +0000)]
Merge "Implement core API's methods."

7 years agoMerge "Define new API for context chain and context chain holder."
Jozef Bacigal [Fri, 10 Mar 2017 09:09:09 +0000 (09:09 +0000)]
Merge "Define new API for context chain and context chain holder."

7 years agoMerge "Add module and feature for ONF extensions"
Jozef Bacigal [Fri, 10 Mar 2017 09:08:40 +0000 (09:08 +0000)]
Merge "Add module and feature for ONF extensions"

7 years agoBug 7910 - Flow with ethernet mask (ff:ff:ff:ff:ff:ff), 98/53098/1
Anil Vishnoi [Tue, 7 Mar 2017 02:49:23 +0000 (18:49 -0800)]
Bug 7910 - Flow with ethernet mask (ff:ff:ff:ff:ff:ff),
get stored under alien-id in operational data store

Custom comparator for ethernet mask address is modified
to take care of this issue.

Change-Id: I0c5c1dbd61dd1a3fb83d3b16695553649c4ecf8f
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
7 years agoMerge "Add configuration knob for Single Layer"
Jozef Bacigal [Thu, 9 Mar 2017 17:04:28 +0000 (17:04 +0000)]
Merge "Add configuration knob for Single Layer"

7 years agoMerge "Turn Single Layer Serialization on by default"
Jozef Bacigal [Thu, 9 Mar 2017 17:00:08 +0000 (17:00 +0000)]
Merge "Turn Single Layer Serialization on by default"

7 years agoImplement core API's methods. 77/48877/13
Jozef Bacigal [Mon, 21 Nov 2016 11:30:37 +0000 (12:30 +0100)]
Implement core API's methods.

Change-Id: I3005c82e2cdea0cf719c5f500041ad3ad9ce4480
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoDefine new API for context chain and context chain holder. 76/48876/13
Jozef Bacigal [Mon, 14 Nov 2016 09:23:53 +0000 (10:23 +0100)]
Define new API for context chain and context chain holder.

Change-Id: I1ad94bab7b5ff3d98dee939420b2f28d3eb36261
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoRevert "Use Karaf 4 for the Karaf distribution" 22/53022/1
Jozef Bacigal [Wed, 8 Mar 2017 17:15:40 +0000 (18:15 +0100)]
Revert "Use Karaf 4 for the Karaf distribution"

This reverts commit c14a28f3a6f7f095d597fb7354cbc317b3c3100a.

Change-Id: I6f9c29023380ff7942ebdb3e903d6cfbc2071f6d
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoBug 7916: MatchConvertorImpl detailed IllegalStateException instead NPE 79/52979/2
Michael Vorburger [Wed, 8 Mar 2017 02:54:43 +0000 (03:54 +0100)]
Bug 7916: MatchConvertorImpl detailed IllegalStateException instead NPE

This won't fix bug 7916, but perhaps it can help understand the root
cause of it, for a future follow-up actual fix.

Change-Id: I3a006bdc38fec1f2b194a6d9d637c920ddd6b742
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoAdd configuration knob for Single Layer 71/52671/4
Tomas Slusny [Thu, 2 Mar 2017 16:50:50 +0000 (17:50 +0100)]
Add configuration knob for Single Layer

Add configuration knob to openflowplugin.cfg that will enable/disable
use-single-layer-serialization.

Change-Id: I9473a80495060aaa252757ba4d0b1450d252b08e
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoTurn Single Layer Serialization on by default 56/52356/4
Tomas Slusny [Tue, 28 Feb 2017 12:07:02 +0000 (13:07 +0100)]
Turn Single Layer Serialization on by default

Change leaf user-single-layer-serialization to "true" to turn
Single Layer Serialization on by default.
More informations about this change can be found
here: http://ow.ly/NNJu309qSRv.

Change-Id: I00846d0776a64c160e8fff122b30cfc620eb79b0
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoBUG-6859 - Binding generator v1 refactoring 39/52939/1
Jakub Toth [Tue, 7 Mar 2017 12:04:46 +0000 (13:04 +0100)]
BUG-6859 - Binding generator v1 refactoring

Fix compilation failure after binding generator move.

Change-Id: I93a34904054aff4f9f0766ea35a25731adb60e3a
Signed-off-by: Jakub Toth <jatoth@cisco.com>
7 years agoAdd module and feature for ONF extensions 16/50816/9
Jozef Bacigal [Mon, 23 Jan 2017 13:22:59 +0000 (14:22 +0100)]
Add module and feature for ONF extensions

Change-Id: I5d983bfa5f01b98efd68d8094e519fa50905dce7
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoUpdate .gitingore file 64/52864/1
Jozef Bacigal [Mon, 6 Mar 2017 09:08:21 +0000 (10:08 +0100)]
Update .gitingore file

- netbeans local configuration file.

Change-Id: I5b97eb0f926e6a3b65781c934954319daa3877b1
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoUse Karaf 4 for the Karaf distribution 03/52103/2
Stephen Kitt [Tue, 21 Feb 2017 10:47:40 +0000 (11:47 +0100)]
Use Karaf 4 for the Karaf distribution

Change-Id: I6d8ce21866b4ffd5c25590076ad1042dba4e7346
Signed-off-by: Stephen Kitt <skitt@redhat.com>
7 years agoAdd Karaf 4 features. 51/51251/18
Jozef Bacigal [Tue, 31 Jan 2017 14:54:56 +0000 (15:54 +0100)]
Add Karaf 4 features.

Change-Id: I31781439d7b5cba76f6e6a52109b13b2546ee924
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoMerge "Replace odl-dlux-core with odl-dluxapps-topology"
Abhijit Kumbhare [Tue, 28 Feb 2017 20:22:53 +0000 (20:22 +0000)]
Merge "Replace odl-dlux-core with odl-dluxapps-topology"

7 years agoMerge "Convert Functions to private methods"
Jozef Bacigal [Tue, 28 Feb 2017 18:42:22 +0000 (18:42 +0000)]
Merge "Convert Functions to private methods"

7 years agoMerge "Fix some FRM checkstyle violations"
Jozef Bacigal [Mon, 27 Feb 2017 16:56:15 +0000 (16:56 +0000)]
Merge "Fix some FRM checkstyle violations"

7 years agoMerge "Fix comparison of match extensions"
Jozef Bacigal [Mon, 27 Feb 2017 16:52:45 +0000 (16:52 +0000)]
Merge "Fix comparison of match extensions"

7 years agoConvert Functions to private methods 10/52310/1
Robert Varga [Mon, 27 Feb 2017 13:27:07 +0000 (14:27 +0100)]
Convert Functions to private methods

Using method handles allows us to eliminate explicit dependency
on Function and simplify declaration.

Change-Id: I8317fd3f37c569612b8d865a39871eb09dd30c81
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix some FRM checkstyle violations 89/51889/3
Robert Varga [Wed, 15 Feb 2017 09:28:26 +0000 (10:28 +0100)]
Fix some FRM checkstyle violations

- whitespace around generic arguments
- unneeded public modifiers
- line length

Change-Id: I3febf13cf3f01e043f2406b20b57f9e37a6103b4
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix connection closing on switch IDLE state 16/52116/4
Tomas Slusny [Tue, 21 Feb 2017 15:04:57 +0000 (16:04 +0100)]
Fix connection closing on switch IDLE state

When device is disconnected, and connection is not equal primary
connection context, do not shut down all services and just remove
this connection context.

Resolves: bug 7689

Change-Id: I3c6149a44f266b423fdc4f6396022ad4c650e872
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoBug 7736 - Forwarding Rules application cluster singleton id should not use the same... 25/52225/2
Jon Castro [Mon, 6 Feb 2017 23:35:13 +0000 (10:35 +1100)]
Bug 7736 - Forwarding Rules application cluster singleton id should not use the same cluster singleton id as the openflow switch singleton connection handler

Change-Id: Ie82b2d7d23444927375ed5b63f5e765f3277ed00
Signed-off-by: Jon Castro <castro.jon@gmail.com>
7 years agoFix comparison of match extensions 39/51839/5
Tomas Slusny [Tue, 14 Feb 2017 09:01:58 +0000 (10:01 +0100)]
Fix comparison of match extensions

Add comparison between match extension lists to MatchComparatorFactory
to treat matches with different extensions as unique.

Change-Id: Ia43322d5e3ca3ee62e8313fd1286a6a9c68f7423
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoMerge changes from topic 'ofj-models-to-ofp-models'
Jozef Bacigal [Wed, 22 Feb 2017 16:17:56 +0000 (16:17 +0000)]
Merge changes from topic 'ofj-models-to-ofp-models'

* changes:
  Add single layer deserialization support
  Fix errors in serializers and deserializers
  Add multipart reply deserializers unit tests
  Update AbstractService to support isComplete
  Add multipart reply deserializers
  Add PortMessageDeserializer
  Add MeterMessageDeserializer
  Add GroupMessageDeserializer
  Add FlowMessageDeserializer
  Add Instruction deserializers
  Add InstructionDeserializerInjector
  Add Action deserializers
  Add ActionDeserializerInjector
  Add Match entry deserializers
  Add MatchDeserializerInjector
  Add MessageDeserializerInjector
  Add PortMessageService
  Add GroupMessageService
  Add MeterMessageService
  Add FlowMessageService
  Add AbstractMessageService
  Add configuration parameter for single layer

7 years agoAdd single layer deserialization support 04/51304/35
deathbeam [Mon, 30 Jan 2017 18:16:45 +0000 (19:16 +0100)]
Add single layer deserialization support

  - Update MultiMsgCollector to support multiple reply types
  - Update DeviceContext to support mulyiple reply types
  - Update AbstractService and MultipartService* implementations
    to support multiple reply types
  - Update GroupDirectStatisticsService
  - Update FlowDirectStatisticsService
  - Update MeterDirectStatisticsService
  - Update PortDirectStatisticsService
  - Update QueueDirectStatisticsService
  - Update SalExperimenterMpMessageService
  - Update SalTableService
  - Change giant StatisticsGatheringUtils to separate statistics
    writers and add support for writing both deserialization paths
  - Refactor structure of services because of a lot of new classes
    added, it became mess
  - Create new initialization chain for device that supports both
    deserialization paths

Resolves: bug 7141

Change-Id: I21b9b894d89db220ccf20ebb031fcb9e039b184a
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoFix errors in serializers and deserializers 79/51579/13
Tomas Slusny [Wed, 8 Feb 2017 19:14:02 +0000 (20:14 +0100)]
Fix errors in serializers and deserializers

Fixed issues with deserializing missing multipart table features,
flows and unsigned longs.
Fixed issues when serializing Ipv4 and Ipv6 source and destination
match entries.
Added additional safety checks to match entry deserializers.

See also: bug 7139, bug 7141

Change-Id: Ie93a486aa847fdb39f01d24768f259cc4661fcad
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoBug 7811 - Conntrack Action deserialization - IndexOutOfBoundsException 26/52026/1
Aswin Suryanarayanan [Sat, 18 Feb 2017 08:19:10 +0000 (13:49 +0530)]
Bug 7811 - Conntrack Action deserialization - IndexOutOfBoundsException

1)Added check for the presence of NAT Action during deserialization
2)Added UT to check the presence of NAT Action.

Change-Id: I87ec08f81b1f6372690e5e8d0dbb7ae1ab3e7c74
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
7 years agoRemove old drop-test module and files. 48/51948/1
Jozef Bacigal [Thu, 16 Feb 2017 11:15:03 +0000 (12:15 +0100)]
Remove old drop-test module and files.

- for drop test using drop-test-karaf module

Change-Id: I3fc3f490bff2d451aa3a0f2773be32e0715f24ca
Signed-off-by: Jozef Bacigal <jozef.bacigal@pantheon.tech>
7 years agoAdd multipart reply deserializers unit tests 55/50955/24
miroslav.macko [Tue, 24 Jan 2017 15:00:29 +0000 (16:00 +0100)]
Add multipart reply deserializers unit tests

Add unit tests

See also: bug 7140

Change-Id: Ice9189919efca286c06ea1cced0265dd7e43429d
Signed-off-by: miroslav.macko <miroslav.macko@pantheon.tech>
7 years agoUpdate AbstractService to support isComplete 80/51180/8
deathbeam [Mon, 30 Jan 2017 12:21:41 +0000 (13:21 +0100)]
Update AbstractService to support isComplete

Overload AbstractService#handleServiceCall to also have
parameter with isComplete function.

See also: bug 7141

Change-Id: I51ee1032ac7b443cf8b442ef66eca42380e938b0
Signed-off-by: deathbeam <tomas.slusny@pantheon.tech>
7 years agoAdd multipart reply deserializers 56/50556/22
Tomas Slusny [Tue, 17 Jan 2017 15:07:05 +0000 (16:07 +0100)]
Add multipart reply deserializers

 - Add yang models for multipart reply
 - Add MultipartDeserializerInjector that will inject multipart reply
   deserializers to OpenflowJava
 - Add these mutlipart reply deserializers:
    * Flow aggregate stats
    * Flow stats
    * Flow table stats
    * Group desc
    * Group features
    * Group stats
    * Meter config
    * Meter features
    * Meter stats
    * Port stats
    * Queue stats
    * Table features
    * Experimenter

See also: bug 7140

Change-Id: I0844c54435b3b029982e7cd6e6b9c2cb01138c67
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd PortMessageDeserializer 55/49255/16
Tomas Slusny [Mon, 12 Dec 2016 16:28:24 +0000 (17:28 +0100)]
Add PortMessageDeserializer

Add PortMessageDeserializer Inject PortMessageDeserializer into OFJ.
This deserializer will deserialize raw bytes into PortMessage.

See also: bug 7140

Change-Id: Ia3fd168d424138e81eb9f24ede232d954503a40c
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd MeterMessageDeserializer 49/49249/16
Tomas Slusny [Mon, 12 Dec 2016 15:16:49 +0000 (16:16 +0100)]
Add MeterMessageDeserializer

Inject MeterMessageDeserializer into OFJ. This deserializer will
deserialize raw bytes into MeterMessage.

See also: bug 7140

Change-Id: Ia66378d4ad01a6b273308f6d6e25e86f639f90a5
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd GroupMessageDeserializer 16/50016/20
Tomas Slusny [Wed, 4 Jan 2017 12:41:58 +0000 (13:41 +0100)]
Add GroupMessageDeserializer

Inject GroupMessageDeserializer into OFJ.
This deserializer will deserialize raw bytes into GroupMessage.

See also: bug 7140

Change-Id: I07e0ec7601155eb4138b598c9c4f39dfd1e31d03
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd FlowMessageDeserializer 89/50189/19
Tomas Slusny [Thu, 5 Jan 2017 15:54:46 +0000 (16:54 +0100)]
Add FlowMessageDeserializer

Inject FlowMessageDeserializer into OFJ.
This deserializer will deserialize raw bytes into FlowMessage.

Change-Id: Ic098a80a6d0b97fbf8ab3761d15a09de3d46defd
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd Instruction deserializers 64/50064/18
Tomas Slusny [Thu, 5 Jan 2017 13:15:43 +0000 (14:15 +0100)]
Add Instruction deserializers

Inject instruction deserializers into DeserializerRegistry.
These deserializers will deserialize these instructions:

 - GoToTable
 - WriteMetadata
 - WriteActions
 - ApplyActions
 - ClearActions
 - Meter

See also: bug 7140

Change-Id: Ie38961458157cac46a4bdeba18c0e6c9020d3671
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd InstructionDeserializerInjector 48/50048/16
Tomas Slusny [Thu, 5 Jan 2017 09:02:30 +0000 (10:02 +0100)]
Add InstructionDeserializerInjector

Add injector where all instruction deserializers will be
registered and call it from general DeserializerInjector.
Create AbstractInstructionDeserializer and
AbstractActionInstructionDeserializer that will define
structure for all instruction deserializers.

See also: bug 7140

Change-Id: Icf76321ed0e51c004d003be585f40cfe4710b1b3
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd Action deserializers 43/49943/23
Tomas Slusny [Mon, 2 Jan 2017 09:01:30 +0000 (10:01 +0100)]
Add Action deserializers

Inject action deserializers into DeserializerRegistry.
These deserializers will deserialize these actions:

 - CopyTtlIn
 - CopyTtlOut
 - DecMplsTtl
 - DecNwTtl
 - Group
 - Output
 - PopMpls
 - PopPbb
 - PopVlan
 - PushMpls
 - PushPbb
 - PushVlan
 - SetField
 - SetMplsTtl
 - SetNwTtl
 - SetQueue

See also: bug 7140

Change-Id: I0f36092ca99de0ca51719c3c2099ebe1d904a72f
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd ActionDeserializerInjector 37/49737/21
Tomas Slusny [Thu, 22 Dec 2016 12:35:26 +0000 (13:35 +0100)]
Add ActionDeserializerInjector

Add injector where all action deserializers will be registered and call it
from general DeserializerInjector.
Add AbstractActionDeserializer that will define structure for all action
deserializers.
Add ActionUtil#readAction that will try to deserialize action or use
extensions.
Add MessageCodeExperimenterKey for registering action deserializers with
experimenters.

See also: bug 7140

Change-Id: I1a1eaec5c9aa128f2c2d5e2a31b37086f2a56734
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd Match entry deserializers 57/49357/19
Tomas Slusny [Wed, 14 Dec 2016 08:23:19 +0000 (09:23 +0100)]
Add Match entry deserializers

Inject match entry deserializers into MatchDeserializer.
These deserializers will deserialize these match entries:

 - ArpOp
 - ArpSha
 - ArpSpa
 - ArpTha
 - ArpTpa
 - InPort
 - InPhyPort
 - EthSrc
 - EthDst
 - EthType
 - Metadata
 - VlanPcp
 - VlanVid
 - IpDscp
 - IpEcn
 - IpProto
 - TcpSrc
 - TcpDst
 - UdpSrc
 - UdpDst
 - SctpSrc
 - SctpDst
 - Icmpv4Code
 - Icmpv4Type
 - Icmpv6Code
 - Icmpv6Type
 - Ipv4Source
 - Ipv4Destination
 - Ipv6Source
 - Ipv6Destination
 - Ipv6ExtHeader
 - Ipv6Flabel
 - Ipv6NdSll
 - Ipv6NdTll
 - Ipv6NdTarget
 - MplsLabel
 - MplsBos
 - MplsTc
 - PbbIsid
 - TunnelId
 - TcpFlags

Change-Id: Ic584d4610f2b2230542e449d3fae3f4affcc2756
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd MatchDeserializerInjector 02/49302/15
Tomas Slusny [Tue, 13 Dec 2016 10:00:48 +0000 (11:00 +0100)]
Add MatchDeserializerInjector

Add injector where all match and match entry deserializers will be
registered and call it from general DeserializerInjector.
Add MatchEntryDeserializer and MatchDeserializer to be able to actually
create match entry deserializers and deserialize match body.
Add new method to MatchExtensionHelper that can inject extension
augmentations one by one.

See also: bug 7140

Change-Id: Id15419539792cb4a21a5862be2dd423be34ab117
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd MessageDeserializerInjector 48/49248/10
Tomas Slusny [Mon, 12 Dec 2016 13:48:13 +0000 (14:48 +0100)]
Add MessageDeserializerInjector

Add injector where all message deserializers will be registered and call
it from general DeserializerInjector
Add unit tests for MessageDeserializerInjector

See also: bug 7140

Change-Id: I28e2795148597a1c15cb52dec46728a4324a4d0a
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd PortMessageService 41/50941/9
Tomas Slusny [Tue, 24 Jan 2017 12:55:04 +0000 (13:55 +0100)]
Add PortMessageService

Add PortMessageService that will convert Port to PortMessage and send
this meesage to serialization.
Update SalPortServiceImpl to use PortMessageService if supported and
enabled.

See also: bug 7139

Change-Id: I73a452770a745c5c7a7debe95cbcf7e04afebb89
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd GroupMessageService 25/50925/10
Tomas Slusny [Tue, 24 Jan 2017 09:31:56 +0000 (10:31 +0100)]
Add GroupMessageService

Add GroupMessageService that will convert Group to GroupMessage and
send this meesage to serialization.
Update SalGroupServiceImpl to use GroupMessageService if supported
and enabled.

See also: bug 7139

Change-Id: I07c2f8949f4b89d0cb921d82dfaed3159ca7da8e
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd MeterMessageService 30/50930/10
Tomas Slusny [Tue, 24 Jan 2017 09:52:45 +0000 (10:52 +0100)]
Add MeterMessageService

Add MeterMessageService that will convert Meter to MeterMessage
and send this meesage to serialization.
Update SalMeterServiceImpl to use MeterMessageService if supported and enabled.

See also: bug 7139

Change-Id: I158ddc58deb62394c50bc2e6d195abaa3f283532
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoAdd FlowMessageService 14/50714/14
miroslav.macko [Fri, 20 Jan 2017 13:00:38 +0000 (14:00 +0100)]
Add FlowMessageService

See also: bug 7139

Change-Id: Idb4f5b40ce8f033deee209eec1596df2b8ff7d10
Signed-off-by: miroslav.macko <miroslav.macko@pantheon.tech>
7 years agoAdd AbstractMessageService 02/50702/11
miroslav.macko [Fri, 20 Jan 2017 07:51:38 +0000 (08:51 +0100)]
Add AbstractMessageService

Add AbstractMessageService that will define structure for
all other message services.

Modify AbstractService#handleServiceCall not to be final.

See also: bug 7139

Change-Id: I0bcfe8c0a5ba8ad572427240b29d7522ce0c5cf5
Signed-off-by: miroslav.macko <miroslav.macko@pantheon.tech>
7 years agoAdd configuration parameter for single layer 19/50819/10
Tomas Slusny [Mon, 23 Jan 2017 12:32:51 +0000 (13:32 +0100)]
Add configuration parameter for single layer

 - Add use-single-layer-serialization to openflow-provider-config.yang
 - Pass this new configuration parameter to DeviceContext

See also: bug 7139

Change-Id: I00557cd1c0c637fcf83c42e47808a5bf96a57a1b
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
7 years agoRemove redundand case in nicira-action.yang 70/51470/3
Michal Rehak [Mon, 6 Feb 2017 13:12:45 +0000 (14:12 +0100)]
Remove redundand case in nicira-action.yang

    - created probably as unattended copy/paste
    - equal cases are forbidden by yang spec and next version
      of yang parser will check this rule

See: BUG-7424

Change-Id: I83c551dc5dd613163c3f8a47a443081d71f3c328
Signed-off-by: Michal Rehak <mirehak@cisco.com>