openflowplugin.git
6 years agoMerge "fix diagstatus NPE on showSvcStatus CLI"
Anil Vishnoi [Fri, 25 May 2018 05:58:37 +0000 (05:58 +0000)]
Merge "fix diagstatus NPE on showSvcStatus CLI"

6 years agoOPNFLWPLUG-1010 Adopt mdsal changes proposed through weather item TSC-99 07/71907/5
Anil Vishnoi [Thu, 10 May 2018 02:24:06 +0000 (19:24 -0700)]
OPNFLWPLUG-1010 Adopt mdsal changes proposed through weather item TSC-99

Change-Id: Ia13e428ccc93812da5d1b2d76473bd20659bc0b4
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
6 years agoFix ClusterSingleton future type 86/72186/1
Robert Varga [Wed, 23 May 2018 09:36:42 +0000 (11:36 +0200)]
Fix ClusterSingleton future type

The type changed from Void to ? extends Object, adjust for this
change.

Change-Id: I91aaa511770174ba0c2e81df2b1d8bfb92ee8b23
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agofix diagstatus NPE on showSvcStatus CLI 04/71904/8
Chintan Apte [Thu, 10 May 2018 06:16:15 +0000 (11:46 +0530)]
fix diagstatus NPE on showSvcStatus CLI

Due to some bug, openflowplugin's service Descriptor was null, and in
such scenarios, when we execute "showSvcStatus" the CLI was throwing
some exception.  This needs fixes in two places, one in infrautils and
the second in openflowplugin. This one is for openflowplugin.

JIRA: INFRAUTILS-39
Change-Id: I965c55fefac11601c3231a43cfc0cc32ccaf57d8
Signed-off-by: Chintan Apte <chintan.apte@ericsson.com>
6 years agoRemove deprecated Throwable.propagates 76/67676/2
Jozef Bacigal [Mon, 29 Jan 2018 14:29:54 +0000 (15:29 +0100)]
Remove deprecated Throwable.propagates

Change-Id: I23fa15bccb2f0a007b515e30c4197cb2f2ba06f0
Signed-off-by: Jozef Bacigal <jozef.bacigal@me.com>
6 years agoOPNFLWPLUG-1008 : Make OpenflowPluginDiagStatusProvider ip address confiugrable 22/71822/7
Somashekhar Javalagi [Mon, 7 May 2018 07:24:37 +0000 (12:54 +0530)]
OPNFLWPLUG-1008 : Make OpenflowPluginDiagStatusProvider ip address confiugrable

Currently if user checks diagstatus:showsvcstatus, then port status will
be checked for localhost. If user starts IP in different host and checks
for diagstatus:showsvcstatus, then it reads IP address from  switch
connection configuration xml file and checks port status for that IP
address. If no IP is specified in configuration file, then by default
localhost will be considered for port status check.

Change-Id: I34c6d6d429ccffa56452dd0209673229f1bb3585
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
6 years agoOPNFLWPLUG-1009 : Bind ports 6653/6633 on specified address 10/71810/6
D Arunprakash [Sat, 5 May 2018 06:26:33 +0000 (11:56 +0530)]
OPNFLWPLUG-1009 : Bind ports 6653/6633 on specified address

When user specifies ip address on config xml, the ports
should bind on the specified ip address.

Currently this piece of code was broken and this review
fixes the same.

Change-Id: I5def69bde14548682f4fa625acaefeb7feaa596f
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoMerge "must use full node-connector string when writing queue stats"
Anil Vishnoi [Thu, 3 May 2018 22:20:24 +0000 (22:20 +0000)]
Merge "must use full node-connector string when writing queue stats"

6 years agoFix IPv6 OXMHeader Mask issue for multi-layer 20/71420/2
D Arunprakash [Thu, 26 Apr 2018 13:22:36 +0000 (18:52 +0530)]
Fix IPv6 OXMHeader Mask issue for multi-layer

When programming an OVS flow to set an ipv6_src/dest as
an action field (i.e., set_field:2001::1->ipv6_src), the
current implementation is not checking the Mask and is
including the Mask (even for a full ipv6 address) in the
OXM header. Because of this, switch is rejecting the flow
with the following error.

"decode error: OFPBAC_BAD_SET_MASK. OXM header 0:32768:26:1:32
includes mask but masked OXMs are not allowed here"

This patch addresses this issue by checking the prefix and
including the prefix only if applicable.

Ref: https://git.opendaylight.org/gerrit/#/c/57694/

Change-Id: I75323601289712d98a67e1a3439f7bd41f88cba0
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoOPNFLWPLUG-990: Administrative Reconciliation alarm 18/69418/19
Somashekhar Javalagi [Tue, 13 Mar 2018 04:53:05 +0000 (10:23 +0530)]
OPNFLWPLUG-990: Administrative Reconciliation alarm

The reconciliation can be triggerd in several ways. Once the reconciliation
is triggered on switches connected to a control node, the alarm will
be raised for each switch, which is implemented using JMX framework.
Once the reconciliation is complete for a particular switch, the alarm for
the particular switch is cleared.

Change-Id: I530ce7708c792ceea8d368ea8c30c9e8944957fc
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
6 years agomust use full node-connector string when writing queue stats 83/70683/6
Evan Zeller [Mon, 9 Apr 2018 23:54:17 +0000 (16:54 -0700)]
must use full node-connector string when writing queue stats

OPNFLWPLUG-995
Similar to port statistics, when writing queue statistics into the
operational datastore, make sure to use the full md-sal node-connector
string. i.e. 'openflow:1:1' rather than '1'.

Change-Id: If9ae252c762ac26830539722481bcf11b58199e9
Signed-off-by: Evan Zeller <evanrzeller@gmail.com>
6 years agoMerge "OPNFLWPLUG-989: Counter for Administrative Reconciliation on multiple/all...
Prasanna Huddar [Tue, 24 Apr 2018 08:54:48 +0000 (08:54 +0000)]
Merge "OPNFLWPLUG-989: Counter for Administrative Reconciliation on multiple/all Nodes"

6 years agoOPNFLWPLUG-989: Counter for Administrative Reconciliation on multiple/all Nodes 23/69123/18
SujaT [Tue, 6 Mar 2018 11:15:55 +0000 (16:45 +0530)]
OPNFLWPLUG-989: Counter for Administrative Reconciliation on multiple/all Nodes

The implementation is done to find number of times admin reconcilation is
being triggered for each node.The counter value will be reseted during
controller restart and maintains the same during device disconnect.

Change-Id: I278a2875caef5f4cd7e9520ac48cd3f22c03724e
Signed-off-by: SujaT <suja.t@ericsson.com>
6 years agoOPNFLWPLUG-992 : Device connection rate limiter implemenation 57/70157/21
Somashekhar Javalagi [Wed, 28 Mar 2018 09:37:36 +0000 (15:07 +0530)]
OPNFLWPLUG-992 : Device connection rate limiter implemenation

By default the device connection ratelimitter wll be disabled.

device-connection-rate-limit-per-min is the property available in
openflowplugin.cfg, which can be changed to control the rate at
which number of devices connecting the controller. This will be
useful in reducing load on the controller if there is more number
of switches connected at the time during cluster reboot.

Default value is set to 0, which disables device connection ratelimitter.

Change-Id: I02a53719114e63748ffaa340650927f7b11d6dc1
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
6 years agoMerge "add default value to channel-outbound-queue-size"
Anil Vishnoi [Tue, 17 Apr 2018 18:06:53 +0000 (18:06 +0000)]
Merge "add default value to channel-outbound-queue-size"

6 years agoMerge "Bump to odlparent 3.1.0 and yangtools 2.0.3"
Thanh Ha [Sun, 15 Apr 2018 09:45:43 +0000 (09:45 +0000)]
Merge "Bump to odlparent 3.1.0 and yangtools 2.0.3"

6 years agoadd default value to channel-outbound-queue-size 02/70802/2
Moshe Levi [Wed, 11 Apr 2018 18:46:59 +0000 (21:46 +0300)]
add default value to channel-outbound-queue-size

We ran into an issue with puppet-opendaylight that if we
create the default-openflow-connection-config.xml without
channel-outbound-queue-size attribue opendaylight doesn't
listen to Openflow Port 6653.

This commit add default value to channel-outbound-queue-size
so that we won't need to spacify it in the
default-openflow-connection-config.xml

Change-Id: Ia13382973eab51369929a71c0864d62c240e01f7
Signed-off-by: Moshe Levi <moshele@mellanox.com>
6 years agoRemove controller lldp dependency 66/70766/2
D Arunprakash [Wed, 11 Apr 2018 08:18:44 +0000 (13:48 +0530)]
Remove controller lldp dependency

Few pom files still has controller lldp dependency

Change-Id: I353cddb05a845bc354254d3a25261d0e6ac822ed
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoMerge "Logs are added to identify the flows and groups being added in the node for...
Prasanna Huddar [Wed, 11 Apr 2018 09:08:37 +0000 (09:08 +0000)]
Merge "Logs are added to identify the flows and groups being added in the node for the corresponding transaction ID when it's pushed in the form of bundle messages going via bundle experimenter messages."

6 years agoMerge "OPNFLWPLUG-986: Administrative Reconciliation for multiple/all Nodes"
Prasanna Huddar [Wed, 11 Apr 2018 09:07:59 +0000 (09:07 +0000)]
Merge "OPNFLWPLUG-986: Administrative Reconciliation for multiple/all Nodes"

6 years agoLogs are added to identify the flows and groups being added in 60/63260/4
eeiillu [Tue, 19 Sep 2017 06:08:25 +0000 (11:38 +0530)]
Logs are added to identify the flows and groups being added in
the node for the corresponding transaction ID when it's pushed in
the form of bundle messages going via bundle experimenter messages.

Change-Id: I880a7f9e88535a6215912f9b17b63c9a9e9ce9de
Signed-off-by: eeiillu <suja.t@ericsson.com>
6 years agoMerge "Add Karaf build profile"
Anil Vishnoi [Tue, 10 Apr 2018 20:51:23 +0000 (20:51 +0000)]
Merge "Add Karaf build profile"

6 years agoMerge "OPNFLWPLUG-987: Apps not getting proper notification for the port status messages"
Prasanna Huddar [Tue, 10 Apr 2018 10:05:47 +0000 (10:05 +0000)]
Merge "OPNFLWPLUG-987: Apps not getting proper notification for the port status messages"

6 years agoOPNFLWPLUG-986: Administrative Reconciliation for multiple/all Nodes 80/68280/36
eeiillu [Thu, 15 Feb 2018 05:59:32 +0000 (11:29 +0530)]
OPNFLWPLUG-986: Administrative Reconciliation for multiple/all Nodes

The mechanism that is currently used for switch reconciliation implies
either a switch or a controller restart.To avoid this force restarting
technique and to make the user more flexible administrative reconciliation
can be used.Here, the implementation is done to trigger switch reconciliation
operation between controller and switch through CLI command and
RESTCONF operation.

Change-Id: I11255685b12c73f1c7cb20a27b5176d6aad51199
Signed-off-by: eeiillu <suja.t@ericsson.com>
6 years agoBump to odlparent 3.1.0 and yangtools 2.0.3 91/69891/3
Stephen Kitt [Thu, 22 Mar 2018 17:24:31 +0000 (18:24 +0100)]
Bump to odlparent 3.1.0 and yangtools 2.0.3

Change-Id: I49aefcaf2b8a1f0649afe37316bb9f024b05deec
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoAdd Karaf build profile 72/70572/1
Daniel Farrell [Sat, 7 Apr 2018 01:09:05 +0000 (21:09 -0400)]
Add Karaf build profile

Project local Karaf distros are handy for devs to test their work
however is unneeded by autorelease builds and should not be released
as part of the Simultaneous Release. Add a profile that is active by
default so that default behavior is unchanged however allows the
autorelease project to disable building this module.

Issue: RELENG-86
Change-Id: I135238264ca0732336276d65f58e04ac420bc62c
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
6 years agoMerge "OPNFLWPLUG-993 ct_clear is not supported in Openflowplugin"
Anil Vishnoi [Thu, 5 Apr 2018 17:03:21 +0000 (17:03 +0000)]
Merge "OPNFLWPLUG-993 ct_clear is not supported in Openflowplugin"

6 years agoOPNFLWPLUG-987: Apps not getting proper notification for the port status messages 22/69422/9
D Arunprakash [Tue, 13 Mar 2018 08:06:36 +0000 (13:36 +0530)]
OPNFLWPLUG-987: Apps not getting proper notification for the port status messages

Whenever there is a port delete event, there will be a tx update
event followed by delete event. So, apps will know the node connector
delete is because of the actual port delete and not the node removal

When both the transactions is submitted at the same time, there is a
chance that update event might be missed as the submit future was
processed in the callback as asSync submit transaction.

Now, added explicit .get for port status message to do transaction as
syncSubmit.

Email discussion and CSIT results:
==================================
https://lists.opendaylight.org/pipermail/openflowplugin-dev/2018-March/008065.html

Change-Id: Ie6753d707c8bc6db1969c8ee6ab3bc862881ca57
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoAdd doc for bundle reconciliation usage 26/70326/3
D Arunprakash [Wed, 4 Apr 2018 08:36:46 +0000 (14:06 +0530)]
Add doc for bundle reconciliation usage

Add documentation for bundle reconciliation usage

Change-Id: Idfb1828015335bdd39df9796f48c6878e76aa6fc
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoUpdate group add mod spec to reflect the correct details 62/70262/4
D Arunprakash [Tue, 3 Apr 2018 05:35:52 +0000 (11:05 +0530)]
Update group add mod spec to reflect the correct details

Update the spec to reflect the latest changes

Change-Id: I87d92f1c75057fa6c0d4f5775e4036a7afd6efed
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoOPNFLWPLUG-993 ct_clear is not supported in Openflowplugin 33/69033/9
Aswin Suryanarayanan [Sat, 3 Mar 2018 05:01:15 +0000 (10:31 +0530)]
OPNFLWPLUG-993 ct_clear is not supported in Openflowplugin

Added ct_clear Action in nicira extension

Change-Id: I163ed99d5af8d3643749ac2a278f5c8170d7ae29
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoFix test identities 27/70227/1
Robert Varga [Sat, 31 Mar 2018 17:44:47 +0000 (19:44 +0200)]
Fix test identities

Identities are mapped to interfaces, not abstract classes. Fix
manual test identities.

Change-Id: Ia4487633e00ce168f1750d36f07e5557bd41b1cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoDo not repackage guava 13/70013/2
Robert Varga [Fri, 23 Mar 2018 13:33:56 +0000 (14:33 +0100)]
Do not repackage guava

Guava is already provided by odl-guava-23, add a dependency on that.

Change-Id: I7e991e812d445fd2b83fde73ab060648d52975ec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMerge "Make TCs to assert on actual values and remove toString asserts"
Prasanna Huddar [Wed, 21 Mar 2018 05:58:03 +0000 (05:58 +0000)]
Merge "Make TCs to assert on actual values and remove toString asserts"

6 years agoOPNFLWPLUG-988: Service Montitor commands shows OPENFLOW as ERROR 57/69657/2
D Arunprakash [Tue, 20 Mar 2018 08:56:16 +0000 (14:26 +0530)]
OPNFLWPLUG-988: Service Montitor commands shows OPENFLOW as ERROR

Due to a NPE for a config file, showsvcstatus shows
openflow as error. Openflowjava southbound queue size
was missed in legacy switch config xml file.

Change-Id: Ic44645ece18c902b136cca94d9c0a12cf030d85e
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoOPNFLWPLUG-858/Bug 7826 07/66207/28
sunilkumarms [Thu, 28 Sep 2017 08:14:28 +0000 (13:44 +0530)]
OPNFLWPLUG-858/Bug 7826
Identified the root cause for issue TransactionCommitFailed for group during statistic collection.
Issue seems to be while the group being added to OperDS after adding it to config DS interms of cache,
it is completely made to be added only through statistic collection and not in any other transaction.
This way we can avooid the deletion of non existing group from OperDS after reading it from cache.

Change-Id: I8fe639e6102629fb903689114c617e76a61d68db
Signed-off-by: sunilkumarms <sunil.g.kumar@ericsson.com>
6 years agoMake TCs to assert on actual values and remove toString asserts 86/69486/4
D Arunprakash [Wed, 14 Mar 2018 09:39:00 +0000 (15:09 +0530)]
Make TCs to assert on actual values and remove toString asserts

Make assert on getValue insteadOf on toString values.

toString() method implementation change might break the ofp
TCs, to avoid these errors assert on actual values

Change-Id: I687ab07badca72f2f0489660ea5a8e0ebcaded07
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoOPNFLWPLUG-968: The channelOutboundQueueSize is made configurable: 03/66503/19
SujaT [Fri, 15 Dec 2017 11:28:03 +0000 (16:58 +0530)]
OPNFLWPLUG-968: The channelOutboundQueueSize is made configurable:

The change is being made by adding a queue size parameter
to the already existing config file.

Change-Id: I94d467ecbeca8fbf3acf837e1b618f91867cf038
Signed-off-by: SujaT <suja.t@ericsson.com>
6 years agoTCs in ofp failing as yang class toString method defintion changed 73/69473/4
D Arunprakash [Wed, 14 Mar 2018 02:00:40 +0000 (07:30 +0530)]
TCs in ofp failing as yang class toString method defintion changed

[1] https://git.opendaylight.org/gerrit/#/c/68958/

Due to patch in mdsal [1], yang generated toString is giving
different output and it is causing someof the TCs to fail in
openflowplugin.

Modified the comparision equivalent to the generated toString
output

Change-Id: Ibf7b4f629b296ffe59897f2206f8ab54fea5907b
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoMerge "OPNFLWPLUG-981: per-capability configuration for stats polling"
Anil Vishnoi [Mon, 12 Mar 2018 18:22:56 +0000 (18:22 +0000)]
Merge "OPNFLWPLUG-981: per-capability configuration for stats polling"

6 years agoOPNFLWPLUG-981: per-capability configuration for stats polling 50/68650/5
Evan Zeller [Sat, 24 Feb 2018 00:05:34 +0000 (16:05 -0800)]
OPNFLWPLUG-981: per-capability configuration for stats polling

Implemented granular config knobs to enable or disable statistics
polling for each of the OpenFlow capabilities. Only if supported by
device and enabled by this configuration will the plugin poll the
statistics. By default all are enabled.

Change-Id: Ic0bc81f1f2efc51f96dc6ccd94e803b70ad14174
Signed-off-by: Evan Zeller <evanrzeller@gmail.com>
6 years agoOPNFLWPLUG-951: Adding equal role functionality 04/68504/14
Yrineu Rodrigues [Thu, 22 Feb 2018 18:01:09 +0000 (10:01 -0800)]
OPNFLWPLUG-951: Adding equal role functionality

Change-Id: Ief56ad88f05ce8c89e04243d655d5f89d73a8d00
Signed-off-by: Yrineu Rodrigues <yrineu.rodrigues@luminanetworks.com>
6 years agoMerge "OPNFLWPLUG-983 Group and flow removal stats are not reported in order"
Abhijit Kumbhare [Wed, 7 Mar 2018 01:32:06 +0000 (01:32 +0000)]
Merge "OPNFLWPLUG-983 Group and flow removal stats are not reported in order"

6 years agoOPNFLWPLUG-984: always use ingress node for link discovery 74/68974/2
Evan Zeller [Thu, 1 Mar 2018 04:19:19 +0000 (20:19 -0800)]
OPNFLWPLUG-984: always use ingress node for link discovery

Using the LLDP destination (packet-in ingress) guarantees that the
receiving controller is the owner of the device. Relying on the LLDP
source can cause a scenario where the LLDP packet never appears in the
entity-owner of the source device.

Change-Id: I8ad4171cdae395d260b754b95e5d9b75138fb79b
Signed-off-by: Evan Zeller <evanrzeller@gmail.com>
(cherry picked from commit 36722d99c3a17bb23d4299a906591f11a9847f03)

6 years agoOPNFLWPLUG-983 Group and flow removal stats are not reported in order 91/69091/1
Anil Vishnoi [Wed, 28 Feb 2018 07:15:16 +0000 (23:15 -0800)]
OPNFLWPLUG-983 Group and flow removal stats are not reported in order

Change-Id: I6f66a40b0434d02fc32b3aa38f8e3834bad57005
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
6 years agoEnable findbugs in parent pom 11/69011/3
Tom Pantelis [Fri, 2 Mar 2018 18:20:40 +0000 (13:20 -0500)]
Enable findbugs in parent pom

Change-Id: Ib9c64da593973b23c0bf2d3bf499adc95e16df54
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in test-provider and drop-test-karaf 10/69010/3
Tom Pantelis [Fri, 2 Mar 2018 18:08:03 +0000 (13:08 -0500)]
Fix findbugs violations in test-provider and drop-test-karaf

- Field only ever set to null
- int value cast to float and then passed to Math.round
- Possible null pointer dereference in method on exception path
- Non-virtual method call passes null for non-null parameter
- Comparison of String parameter using == or !=
- Should be a static inner class
- Private method is never called
- int value cast to float and then passed to Math.round
- Unread field
- Unread field: should this field be static?
- Unused field
- Dead store to local variable
- Private method is never called
- Method uses the same code for two switch clauses
- Write to static field from instance method
- Field not initialized in constructor but dereferenced without null check

Change-Id: Ib09380d626ab9162c4308810fae9db90522269cf
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in openflowplugin-impl 83/68983/5
Tom Pantelis [Fri, 2 Mar 2018 03:12:28 +0000 (22:12 -0500)]
Fix findbugs violations in openflowplugin-impl

- Method ignores exceptional return value
- Check for sign of bitwise operation
- Consider using Locale parameterized version of invoked method
- Reliance on default encoding
- Synchronization performed on util.concurrent instance
- Unchecked/unconfirmed cast
- Unchecked/unconfirmed cast of return value from method
- Return value of method without side effect is ignored
- Dead store to local variable
- Method uses the same code for two branches
- Load of known null value
- Parameter must be non-null but is marked as nullable
- Field not initialized in constructor but dereferenced without null check

Change-Id: I92e00a5772038111d1ab8d9f53d52c43e3f4909d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in openflowplugin 91/68391/2
Tom Pantelis [Mon, 19 Feb 2018 01:56:48 +0000 (20:56 -0500)]
Fix findbugs violations in openflowplugin

- Comparison of String parameter using == or !=
- Comparator doesn't implement Serializable
- Field is a mutable collection
- Incorrect lazy initialization of static field
- Inefficient use of keySet iterator instead of entrySet iterator
- Private method is never called
- Unsigned right shift cast to short/byte
- Class is final but declares protected field
- Consider returning a zero length array rather than null

Change-Id: I714bd4005a33a772b0b76b0c0f89f28b8517cd06
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in extensions 88/68388/3
Tom Pantelis [Sun, 18 Feb 2018 18:37:10 +0000 (13:37 -0500)]
Fix findbugs violations in extensions

- Dead store to local variable
- Unchecked/unconfirmed cast
- Field not initialized in constructor but dereferenced without null check
- Method ignores return value
- Private method is never called

Change-Id: I7a3fe1700439b456cb7dce6d84f63a9840fd68a7
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in samples 83/68383/2
Tom Pantelis [Sat, 17 Feb 2018 23:31:07 +0000 (18:31 -0500)]
Fix findbugs violations in samples

- Inconsistent synchronization
- Using notify() rather than notifyAll()
- Method ignores return value
- Read of unwritten field
- Field not initialized in constructor but dereferenced without null check

Change-Id: I12e8ae3ab25cc41ba05b99e9e4c85f2606a2814d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in liblldp 86/67886/8
Tom Pantelis [Sat, 3 Feb 2018 01:43:09 +0000 (20:43 -0500)]
Fix findbugs violations in liblldp

- Method call passes null for non-null parameter
- Class defines clone() but doesn't implement Cloneable
- Clone method may return null
- clone method does not call super.clone()
- equals() method does not check for null argument
- Reliance on default encoding
- May expose internal representation by returning reference to mutable object
- Field is a mutable collection which should be package protected - malicious code vulnerability
- Field should be package protected - malicious code vulnerability
- Inefficient use of keySet iterator instead of entrySet iterator
- Boxing/unboxing to parse a primitive - use parseXXX method
- Redundant nullcheck of value known to be non-null

Change-Id: I6d551d31d618a1adfc877ac59f29d02727201df6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in applications 85/67885/7
Tom Pantelis [Fri, 2 Feb 2018 23:30:41 +0000 (18:30 -0500)]
Fix findbugs violations in applications

- Method ignores return value
- Consider using Locale parameterized version of invoked method
- Reliance on default encoding
- Write to static field from instance method
- Inefficient use of keySet iterator instead of entrySet iterator
- Dead store to local variable
- Consider returning a zero length array rather than null
- Consider using Locale parameterized version of invoked method
- Boxing/unboxing to parse a primitive - use parseXXX method
- Unread field
- Dead store to local variable
- Non-transient non-serializable instance field in serializable class
- Parameter must be non-null but is marked as nullable
- Field not initialized in constructor but dereferenced without null check
- Nullcheck of value previously dereferenced
- Redundant nullcheck of value known to be non-null

Change-Id: I1887f775f61fb8e3e6989113edf7faf4f9b06b34
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix findbugs violations in openflowjava 84/67884/5
Tom Pantelis [Fri, 2 Feb 2018 15:20:10 +0000 (10:20 -0500)]
Fix findbugs violations in openflowjava

- Invocation of toString on an array

- Check for sign of bitwise operation:
Example: ((event.detail & SWT.SELECTED) > 0)

Using bit arithmetic and then comparing with the greater than operator
can lead to unexpected results (of course depending on the value of
SWT.SELECTED). If SWT.SELECTED is a negative number, this is a candidate
for a bug. Even when SWT.SELECTED is not negative, it seems good practice
to use '!= 0' instead of '> 0'

- Reliance on default encoding - performs a byte to String (or String to byte)
conversion, and will assume that the default platform encoding is suitable.

- Primitive value is boxed then unboxed to perform primitive coercion

- Unread field

- Result of integer multiplication cast to long - possible overflow

- Dead store to local variable - assigns a value to a local variable, but
the value is not read or used in any subsequent instruction.

- Method uses the same code for two switch clauses

- Load of known null value

- Consider returning a zero length array rather than null

- Redundant nullcheck of value known to be non-null

- Field not initialized in constructor but dereferenced without null check

- Non-transient non-serializable instance field in serializable class

- Class implements same interface as superclass

Change-Id: I28b533c9f9805de539e35b729c5163fd22e75354
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoEnable checkstyle enforcement in openflowplugin-parent 48/67848/5
Tom Pantelis [Fri, 2 Feb 2018 02:41:25 +0000 (21:41 -0500)]
Enable checkstyle enforcement in openflowplugin-parent

This covers all code sub-projects. Also removed checkstyle
configurations in all sub-projects.

Change-Id: Ib93f4abb41e97bc4c803cd54ad1c2ea56040d3db
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in test bundles 34/67834/6
Tom Pantelis [Thu, 1 Feb 2018 23:31:11 +0000 (18:31 -0500)]
Fix checkstyle violations in test bundles

Change-Id: Id8e05a621e56dadea15252498bf04505f920441d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflowplugin - part 5 30/67830/5
Tom Pantelis [Thu, 1 Feb 2018 19:21:27 +0000 (14:21 -0500)]
Fix checkstyle violations in openflowplugin - part 5

Change-Id: I968d1e7931764b1e27e3aad40a3fd9094c24f270
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflowplugin - part 4 25/67825/5
Tom Pantelis [Thu, 1 Feb 2018 17:02:29 +0000 (12:02 -0500)]
Fix checkstyle violations in openflowplugin - part 4

Change-Id: Ib9e941db9d2f48b34f713a5618368aff68089e42
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflowplugin - part 3 24/67824/5
Tom Pantelis [Thu, 1 Feb 2018 03:03:02 +0000 (22:03 -0500)]
Fix checkstyle violations in openflowplugin - part 3

Change-Id: I0d8d7f5cc6c12299d67fbdacc13aafea7c086226
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflowplugin - part 2 23/67823/5
Tom Pantelis [Thu, 1 Feb 2018 02:16:31 +0000 (21:16 -0500)]
Fix checkstyle violations in openflowplugin - part 2

Change-Id: I83c41416dd64eba991ff95c4afc9e8a2b11e3a31
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflowplugin - part 1 22/67822/5
Tom Pantelis [Thu, 1 Feb 2018 01:40:55 +0000 (20:40 -0500)]
Fix checkstyle violations in openflowplugin - part 1

Change-Id: Ic66142803cdbc5fcb1e27d1ba8efc62aedceba04
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agouse feature for inter-project dependency 61/68361/4
Faseela K [Fri, 16 Feb 2018 11:31:02 +0000 (17:01 +0530)]
use feature for inter-project dependency

Use feature to express inter-project dependency correctly instead of
bundle.

For details, refer to
https://lists.opendaylight.org/pipermail/release/2018-January/013604.html
https://lists.opendaylight.org/pipermail/release/2017-September/012356.html

This depends on below patch to export necessary bundle as feature.

https://git.opendaylight.org/gerrit/#/c/68318/

Change-Id: I38b4244d7c7622099285669d0ef190bd23c3dc90
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoMerge "BUG-86: Fixed echo response processing"
Anil Vishnoi [Mon, 26 Feb 2018 23:22:24 +0000 (23:22 +0000)]
Merge "BUG-86: Fixed echo response processing"

6 years agoMerge "OPNFLWPLUG-952: All links disappear from the topology"
Anil Vishnoi [Mon, 26 Feb 2018 21:58:59 +0000 (21:58 +0000)]
Merge "OPNFLWPLUG-952: All links disappear from the topology"

6 years agoBump versions by x.(y+1).z for next dev cycle 46/68746/1
Anil Belur [Mon, 26 Feb 2018 07:41:45 +0000 (17:41 +1000)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: Ib83c016ca4bdfc87da9ab847c874afe29a9a710a
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
6 years agoOPNFLWPLUG-952: All links disappear from the topology 49/68449/3
Evan Zeller [Fri, 10 Nov 2017 01:19:28 +0000 (17:19 -0800)]
OPNFLWPLUG-952: All links disappear from the topology

In cluster split situations LLDP Speaker can get into a bad state, with
incorrect number of node-connectors mapped locally. In some cases
multiple controllers can start sending packet outs. The solution here is
to use clustered DTCL to keep the node-connectors more consistent across
all instances of LLDPSpeaker and use EOS to determine who should
actually transmit the packet.

Change-Id: I36df734dff23688e8ace27b42f85291aa62ac391
Signed-off-by: Evan Zeller <evanrzeller@gmail.com>
6 years agoBUG-86: Fixed echo response processing 46/68446/1
Jalpa Modasiya [Fri, 16 Feb 2018 19:49:40 +0000 (11:49 -0800)]
BUG-86: Fixed echo response processing

Change-Id: Ib83eb3463d101e872830d3985044c1154668baa1
Signed-off-by: Jalpa Modasiya <jmodasiy@luminanetworks.com>
6 years agoFix checkstyle violations in openflowplugin extensions 94/67794/5
Tom Pantelis [Wed, 31 Jan 2018 18:24:10 +0000 (13:24 -0500)]
Fix checkstyle violations in openflowplugin extensions

Change-Id: I6c2404ee9e0e30efab156a621bd7e641a78af972
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflowjava extensions 93/67793/4
Tom Pantelis [Wed, 31 Jan 2018 14:50:09 +0000 (09:50 -0500)]
Fix checkstyle violations in openflowjava extensions

Change-Id: Ie4a01ec30e1feb054bfceb52a2598a2936264ace
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in samples 66/67766/5
Tom Pantelis [Wed, 31 Jan 2018 04:06:41 +0000 (23:06 -0500)]
Fix checkstyle violations in samples

Change-Id: I5879e9d420c57c252d301ce7a5c296f8b5b914a6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in applications 53/67753/3
Tom Pantelis [Tue, 30 Jan 2018 23:18:37 +0000 (18:18 -0500)]
Fix checkstyle violations in applications

Change-Id: I1ac5ba94705ffba78d4765185ff6ade5f299a671
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoMerge "Fix checkstyle violations in liblldp"
Anil Vishnoi [Thu, 15 Feb 2018 10:02:44 +0000 (10:02 +0000)]
Merge "Fix checkstyle violations in liblldp"

6 years agoexport lldp as feature 33/68233/2
Faseela K [Wed, 14 Feb 2018 11:05:44 +0000 (16:35 +0530)]
export lldp as feature

Those bundles are used by genius and netvirt.
They should be consumable as feature, not bundle.

For detailed discussion, please refer to the followings
https://lists.opendaylight.org/pipermail/release/2018-January/013604.html
https://lists.opendaylight.org/pipermail/release/2017-September/012356.html

Change-Id: I034494a38c88c69c8d75731b73bab7b0f116db9d
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoFix checkstyle violations in liblldp 36/67736/2
Tom Pantelis [Tue, 30 Jan 2018 19:30:28 +0000 (14:30 -0500)]
Fix checkstyle violations in liblldp

Change-Id: I1006a34064ca339a4280a255074eded82dbf5ce5
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoOPNFLWPLUG-974: Message deserialization failed 50/68050/1
gobinath [Sun, 4 Feb 2018 20:38:48 +0000 (02:08 +0530)]
OPNFLWPLUG-974: Message deserialization failed

Description:

"Message deserialization failed...msgType: 36864 oxm_field: 6
experimenterID: null was not found - please verify that all needed
deserializers ale loaded correctly".

Observation:

The deserialization of this message failed due to the msg type of one of
the oxm fields (CtMark) was getting decoded wrongly.

This was due to the CtMarkCodec present in the packet(before the Metadata
oxm field) was decoding the field wrongly. The field doesnt have mask field
in it but still the mask it was read, ie, it was reading the next oxm field bytes too(Metadata)
thereby skipping the bytes from which the oxm Metadata is supposed to be read
and hence wrong data(skipped 4 bytes) is decoded in the next oxm field deserialization.

Fix:

The incorrect read of mask field in Ctmark codec has been removed now.

Change-Id: I79b6899686b05217df533e9ef365e9909dfc048d
Signed-off-by: gobinath <gobinath@ericsson.com>
6 years agoMerge "OPNFLWPLUG-929 : Remove deprecated guava library"
Anil Vishnoi [Tue, 6 Feb 2018 05:03:57 +0000 (05:03 +0000)]
Merge "OPNFLWPLUG-929 : Remove deprecated guava library"

6 years agoMerge "OPNFLWPLUG-972: Point to openflowplugin liblldp"
Anil Vishnoi [Tue, 30 Jan 2018 04:54:34 +0000 (04:54 +0000)]
Merge "OPNFLWPLUG-972: Point to openflowplugin liblldp"

6 years agoFix remaining checkstyle violations in openflowjava 40/67640/1
Tom Pantelis [Sat, 27 Jan 2018 17:24:44 +0000 (12:24 -0500)]
Fix remaining checkstyle violations in openflowjava

Change-Id: I720977b96996a462946c5b6114a6b6b7dd1285bc
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 12 93/67393/2
Tom Pantelis [Sun, 21 Jan 2018 02:50:17 +0000 (21:50 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 12

Many violations - more to follow

Change-Id: I909943b0b0b3e8974dd73422843238042b4bac1b
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 11 92/67392/2
Tom Pantelis [Sun, 21 Jan 2018 02:05:03 +0000 (21:05 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 11

Many violations - more to follow

Change-Id: Iaa832ec597a543b1d963cd58307d7fed05f50720
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 10 91/67391/2
Tom Pantelis [Sun, 21 Jan 2018 01:39:35 +0000 (20:39 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 10

Many violations - more to follow

Change-Id: I3b7ab07f56a13982f88df17805c3d82bbf14a062
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 9 90/67390/2
Tom Pantelis [Sun, 21 Jan 2018 01:12:03 +0000 (20:12 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 9

Many violations - more to follow

Change-Id: Ide57e636e33d752cd9a6c912de071fd1493a7097
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 8 89/67389/2
Tom Pantelis [Sun, 21 Jan 2018 00:22:57 +0000 (19:22 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 8

Many violations - more to follow

Change-Id: Ie7aac9d6bc6b1372ff425b89d83cf44b617f7751
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 7 88/67388/2
Tom Pantelis [Sat, 20 Jan 2018 23:11:32 +0000 (18:11 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 7

Many violations - more to follow

Change-Id: I35f1ada078217cc89d03f2953829ac2274a53655
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 6 87/67387/2
Tom Pantelis [Sat, 20 Jan 2018 22:30:59 +0000 (17:30 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 6

Many violations - more to follow

Change-Id: I18badf1a7b759dfbe63d240ea786c716d3135c97
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 5 86/67386/2
Tom Pantelis [Sat, 20 Jan 2018 22:11:16 +0000 (17:11 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 5

Many violations - more to follow

Change-Id: I19ea3b92b66c0121946e88699af5e7c2742ea54d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 4 85/67385/2
Tom Pantelis [Sat, 20 Jan 2018 21:45:52 +0000 (16:45 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 4

Many violations - more to follow

Change-Id: I9107de913adef9e19cdf7583b996598d4b9a63b0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 3 84/67384/2
Tom Pantelis [Sat, 20 Jan 2018 21:33:37 +0000 (16:33 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 3

Many violations - more to follow

Change-Id: I5cba0f1e5d8f61106db5d1461c205b80be585993
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 2 83/67383/2
Tom Pantelis [Sat, 20 Jan 2018 21:10:55 +0000 (16:10 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 2

Many violations - more to follow

Change-Id: I360cd3cd431d1c05df1262df8debeb68f95ffac9
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle violations in openflow-protocol-impl - part 1 82/67382/2
Tom Pantelis [Sat, 20 Jan 2018 19:43:20 +0000 (14:43 -0500)]
Fix checkstyle violations in openflow-protocol-impl - part 1

Many violations - more to follow

Change-Id: I3467223dd8ab3a9fe52906a2b029b0ab130b0b7d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoMerge "Spec: OFPGC_ADD_OR_MOD support in openflowplugin"
Anil Vishnoi [Sat, 27 Jan 2018 02:20:22 +0000 (02:20 +0000)]
Merge "Spec: OFPGC_ADD_OR_MOD support in openflowplugin"

6 years agoMerge "Fix checkstyle violations in openflowjava-util"
Anil Vishnoi [Sat, 27 Jan 2018 02:18:06 +0000 (02:18 +0000)]
Merge "Fix checkstyle violations in openflowjava-util"

6 years agoMerge "Fix checkstyle violations in openflow-protocol-api"
Anil Vishnoi [Sat, 27 Jan 2018 01:21:19 +0000 (01:21 +0000)]
Merge "Fix checkstyle violations in openflow-protocol-api"

6 years agoMerge "Remove unused interface"
Anil Vishnoi [Sat, 27 Jan 2018 01:06:08 +0000 (01:06 +0000)]
Merge "Remove unused interface"

6 years agoMerge "Remove dependency on sal-common-util"
Anil Vishnoi [Sat, 27 Jan 2018 01:05:25 +0000 (01:05 +0000)]
Merge "Remove dependency on sal-common-util"

6 years agoMerge "Remove deprecated EOS services"
Anil Vishnoi [Sat, 27 Jan 2018 01:03:41 +0000 (01:03 +0000)]
Merge "Remove deprecated EOS services"

6 years agoRemove dependency on sal-common-util 01/67601/1
Robert Varga [Fri, 26 Jan 2018 10:31:49 +0000 (11:31 +0100)]
Remove dependency on sal-common-util

This dependency is no longer used, remove it along with use
of controller's odl-mdsal-common.

Change-Id: Id15cc085c56dcb45796593f12da9b4fd4f95a99b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOPNFLWPLUG-929 : Remove deprecated guava library 62/67462/4
D Arunprakash [Tue, 23 Jan 2018 08:47:10 +0000 (14:17 +0530)]
OPNFLWPLUG-929 : Remove deprecated guava library

use overload Futures.transform api

Change-Id: Iba64da122b31a022493a793f2e986bd91e530112
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoMerge "OPNFLWPLUG-969: ONF Extension is not installed due to which bundle based ...
Anil Vishnoi [Tue, 23 Jan 2018 06:25:36 +0000 (06:25 +0000)]
Merge "OPNFLWPLUG-969: ONF Extension is not installed due to which bundle based  resync is failing:"

6 years agoOPNFLWPLUG-972: Point to openflowplugin liblldp 15/67215/2
D Arunprakash [Tue, 16 Jan 2018 16:41:40 +0000 (22:11 +0530)]
OPNFLWPLUG-972: Point to openflowplugin liblldp

Change-Id: Ic029736e257e09825d35946287433bb41c6d61d3
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>