openflowplugin.git
5 years agoMerge "Reg load support for nicira experimenter fields"
Anil Vishnoi [Wed, 18 Jul 2018 09:43:46 +0000 (09:43 +0000)]
Merge "Reg load support for nicira experimenter fields"

5 years agoMerge "Break all the application part of odl-openflowplugin-app-topology feature...
Arunprakash D [Tue, 17 Jul 2018 09:57:55 +0000 (09:57 +0000)]
Merge "Break all the application part of odl-openflowplugin-app-topology feature to their own feature, so that user can load the required module only."

5 years agoReg load support for nicira experimenter fields 17/71917/14
Jaime Caamaño Ruiz [Thu, 10 May 2018 17:12:30 +0000 (19:12 +0200)]
Reg load support for nicira experimenter fields

Adds reg load support for nicira experimenter fields such as the nsh
fields introduced since OVS 2.8. This is achieved through the
NXAST_REG_LOAD2 openflow action, as the previously used NXAST_REG_LOAD
action does not support experimenter fields.

From [1], the structure of NXAST_REG_LOAD2 action is "struct
ext_action_header", followed by an NXM/OXM header, value, optionally
a mask and the required 8 byte padding:

struct ext_action_header {
    ovs_be16 type;                  /* OFPAT_VENDOR. */
    ovs_be16 len;                   /* At least 16. */
    ovs_be32 vendor;                /* NX_VENDOR_ID or ONF_VENDOR_ID. */
    ovs_be16 subtype;               /* See enum ofp_raw_action_type. */
};

The action type is experimenter (0xFFFF), vendor is NX_VENDOR_ID
(0x00002320) and subtype is 33.

To retain backward compatibility towards applications, only a new
openflowjava actions is introduced, but no new openflowplugin action.
The existing openflowplugin reg-load action will still be used, but
converted to openflowjava reg-load2 in case of experimenter fields.

Some items worth mentioning:

* There is a conversion between the mandatory bit range of the
  reg-load to the optional mask of the oxm field carried by the
  reg-load2 action. Because of that, even though the fields might not be
  match maskable, it is not only possible but required to have a mask
  for them to properly support this conversion between reg-load and
  reg-load2.
* reg-load represents a functional subset of reg-load2 as multiple bit
  ranges may be specified in a single mask. Nevertheless, multiple
  reg-load actions can achieve the same as what would be possible with
  a single reg-load2.

[1] https://github.com/openvswitch/ovs/blob/master/lib/ofp-actions.c

Change-Id: Idbf648d7288046c543d5f2d1da339ddf953b469d
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agoAdd match support for nsh_flags and nsh_ttl 95/71895/16
Jaime Caamaño Ruiz [Wed, 9 May 2018 13:50:05 +0000 (15:50 +0200)]
Add match support for nsh_flags and nsh_ttl

NSH has been introduced officially in OVS 2.8, where nsh OXM fields have
been implemented under Nicira experimenter code point
NXOXM_NSH = 0x005ad650.

This commit implements match support for new fields nsh_flags and
nsh_ttl. Refactoring of the existing nsh fields unofficial support to
the official implementation will happen on a subsequent commit,
as well as support to use them in the different openflow actions.

See section "NETWORK SERVICE HEADER FIELDS" on [1] for reference on nsh
fields.

[1] http://www.openvswitch.org/support/dist-docs/ovs-fields.7.txt

Change-Id: I474508b358a833f95adde20715458a27ca4a4c71
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agoMerge "OPNFLWPLUG-1006: ODL cannot control switch with pre-existing meters"
Anil Vishnoi [Tue, 10 Jul 2018 08:43:14 +0000 (08:43 +0000)]
Merge "OPNFLWPLUG-1006: ODL cannot control switch with pre-existing meters"

5 years agoBreak all the application part of odl-openflowplugin-app-topology 70/73870/1
Anil Vishnoi [Tue, 10 Jul 2018 07:44:27 +0000 (00:44 -0700)]
Break all the application part of odl-openflowplugin-app-topology
feature to their own feature, so that user can
load the required module only.

Currently odl-openflowplugin-app-topology, bundles following 3 apps
(1) lldp-speaker
(2) topology-lldp-discovery
(3) topology-manager

This patch adds 3 new features that bundles these apps in their
own features

(1) lldp-speaker -> odl-openflowplugin-app-lldp-speaker
(2) topology-lldp-discovery  -> odl-openflowplugin-app-topology-lldp-discovery
(3) topology-manager  ->odl-openflowplugin-app-topology-manager

old-openflowplugin-app-topology feature is still retained for backward
compatibility.

In general projects installs the odl-openflowplugin-flow-service-rest feature
that loads up the following bundles
(1) odl-openflowplugin-southbound
(2) odl-openflowplugin-app-config-pusher
(3) odl-openflowplugin-app-topology
(4) odl-openflowplugin-app-forwardingrules-manager
(5) odl-openflowplugin-app-reconciliation-framework

Apart from odl-openflowplugin-app-topology, rest all features bundle only single
application. So now if user want to install specific bundle from
odl-openfowplugin-app-topology, then user needs to install all these feature
seperately as there is no aggregated feature that provides different varient to user.
For example, if user don't want to use lldp based discovery, but they need topology service
, they need to install following features explictly:

(1) odl-openflowplugin-southbound
(2) odl-openflowplugin-app-config-pusher
(3) odl-openflowplugin-app-topology-manager
(4) odl-openflowplugin-app-forwardingrules-manager
(5) odl-openflowplugin-app-reconciliation-framework

Change-Id: I00ef8e62ce80377512dc8fa059e43e815caa581a
JIRA: OPNFLWPLUG-1024
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
5 years agoAdd support for dec_nsh_ttl nicira action 70/72170/8
Jaime Caamaño Ruiz [Tue, 22 May 2018 14:42:06 +0000 (16:42 +0200)]
Add support for dec_nsh_ttl nicira action

This is an experimenter action with no payload:

struct ext_action_header {
    ovs_be16 type;         // OFPAT_EXPERIMENTER = 0xFFFF
    ovs_be16 len;          // 16
    ovs_be32 vendor;       // NX_VENDOR_ID = 0x00002320
    ovs_be16 subtype;      // NXAST_DEC_NSH_TTL = 48
    uint8_t pad[6];
};

Change-Id: I805bc7728725338107a005bf2419a2d6e408dbc8
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agoAdd support for encap/decap nicira actions 91/72091/9
Jaime Caamaño Ruiz [Fri, 18 May 2018 12:26:44 +0000 (14:26 +0200)]
Add support for encap/decap nicira actions

Encap action is used to encapsulate the packet with a new packet header,
while decap action is used to decapsulate the outer packet header. Both
actions are particularly useful for application using nsh encapsulation.

From [1], the structure of encap action is:

struct nx_action_encap {
    ovs_be16 type;         // OFPAT_VENDOR = EXPERIMENTER = 0xFFFF
    ovs_be16 len;
    ovs_be32 vendor;       // NX_VENDOR_ID = NXOXM_ET = 0x00002320
    ovs_be16 subtype;      // NXAST_ENCAP = 46
    ovs_be16 hdr_size;     // Header size in bytes, 0 = 'not specified'
    ovs_be32 new_pkt_type; // Header type to add
    struct ofp_ed_prop_header props[];  // Encap TLV properties
};

Properties are specific to the new packet type, such as the md type or
type 2 metadata in case of nsh. This patch does not include support for
properties. In case of nsh, when no properties are present,
md type defaults to 1.

From [1], the structure of decap action is:

struct nx_action_encap {
    ovs_be16 type;         // OFPAT_VENDOR = EXPERIMENTER = 0xFFFF
    ovs_be16 len;
    ovs_be32 vendor;       // NX_VENDOR_ID = NXOXM_ET = 0x00002320
    ovs_be16 subtype;      // NXAST_ENCAP = 47
    uint8_t pad[2];        // 2 bytes padding
    ovs_be32 new_pkt_type; // new packet type, 0xFFFE = USE NEXT PROTO
};

new_pkt_type is the desired packet type required after decapsulation.
The special value 0xFFFE sets the packet type automatically based on the
outermost header type of the remaining packet.

See [1] and [2] for reference.

[1] https://github.com/openvswitch/ovs/blob/master/lib/ofp-actions.c
[2] http://www.openvswitch.org/support/dist-docs/ovs-ofctl.8.txt

Change-Id: Ia313c68ac17618f89c5e64c9351a0033facf9066
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agoSupport for packet type match field 13/71113/10
Jaime Caamaño Ruiz [Wed, 18 Apr 2018 12:42:54 +0000 (14:42 +0200)]
Support for packet type match field

Packet type support is required to allow packets without an ethernet
header through the pipeline. This condition is likely to happen in nsh
use cases with vxlan + nsh tunnel traffic.

Reference:
- See '7.2.3.11 Packet Type Match Field' on OF 1.5 spec [1].
- See 'Packet Type Field' on [2].

[1] www.opennetworking.org/software-defined-standards/specifications/
[2] www.openvswitch.org/support/dist-docs/ovs-fields.7.txt

Change-Id: I4a48a3e06dbd06c75d3e7ae470f03b6d3d5d9f39
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
5 years agoMerge "Fix union use issues"
Anil Vishnoi [Mon, 9 Jul 2018 16:14:33 +0000 (16:14 +0000)]
Merge "Fix union use issues"

5 years agoFix union use issues 33/73833/1
Robert Varga [Mon, 9 Jul 2018 09:11:49 +0000 (11:11 +0200)]
Fix union use issues

PortTranslatorUtilTest is using invalid port number, fix that.
PortUpdateTranslator attempted to create an invalid union, where
both members are null, fix that by checking if there is a port
number present.

Change-Id: Ieaae6eaadd397e990e813d429bb104ad4db13240
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMerge "OPNFLWPLUG-997 Spec - Southbound cli implementation"
Anil Vishnoi [Mon, 9 Jul 2018 08:16:27 +0000 (08:16 +0000)]
Merge "OPNFLWPLUG-997 Spec - Southbound cli implementation"

5 years agoMerge "Correct NshNpCodec serializer key"
Anil Vishnoi [Mon, 9 Jul 2018 07:12:09 +0000 (07:12 +0000)]
Merge "Correct NshNpCodec serializer key"

5 years agoOPNFLWPLUG-997 Spec - Southbound cli implementation 30/73830/1
Anil Vishnoi [Mon, 9 Jul 2018 07:03:14 +0000 (00:03 -0700)]
OPNFLWPLUG-997 Spec - Southbound cli implementation

    Implementation of CLI's like getallnodes and shownode
    to get the list of connected nodes and the list of ports
    available under a given openflow node.

Change-Id: Icecf0daf74503e0c3e53891ebedc86c2d2ed5fbc
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
5 years agoMerge "OPNFLWPLUG-917 : pkt_mark support in nicira extension"
Arunprakash D [Mon, 9 Jul 2018 06:54:42 +0000 (06:54 +0000)]
Merge "OPNFLWPLUG-917 : pkt_mark support in nicira extension"

5 years agoMerge "OPNFLWPLUG-1021 : ct_tp_src and ct_tp_dst support in nicira extension"
Arunprakash D [Mon, 9 Jul 2018 06:54:34 +0000 (06:54 +0000)]
Merge "OPNFLWPLUG-1021 : ct_tp_src and ct_tp_dst support in nicira extension"

5 years agoMerge "OPNFLWPLUG-997 Spec - Southbound cli implementation"
Arunprakash D [Mon, 9 Jul 2018 06:18:02 +0000 (06:18 +0000)]
Merge "OPNFLWPLUG-997 Spec - Southbound cli implementation"

5 years agoRenaming reconciliation cli's 49/73649/10
eeiillu [Mon, 2 Jul 2018 12:58:25 +0000 (18:28 +0530)]
Renaming reconciliation cli's

Change-Id: I168ab0e6df5a99c5bd41c8e4fc974c61d5f0083c
Signed-off-by: eeiillu <suja.t@ericsson.com>
5 years agoCorrect NshNpCodec serializer key 35/73735/1
D Arunprakash [Wed, 4 Jul 2018 12:29:06 +0000 (17:59 +0530)]
Correct NshNpCodec serializer key

NshNpCodec is using wrong codec while registering the codec

Change-Id: I5e2c475b1271608008f644249ac58b662d52fc89
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
5 years agoOPNFLWPLUG-917 : pkt_mark support in nicira extension 08/73708/2
D Arunprakash [Tue, 3 Jul 2018 14:52:28 +0000 (20:22 +0530)]
OPNFLWPLUG-917 : pkt_mark support in nicira extension

support for new NXM field NXM_NX_PKT_MARK (33)

Ref: http://www.openvswitch.org/support/dist-docs/ovs-fields.7.txt

Change-Id: Ia714f88fd487c895c8446f7745d080cf5673d6bd
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
5 years agoOPNFLWPLUG-1021 : ct_tp_src and ct_tp_dst support in nicira extension 40/73640/5
D Arunprakash [Mon, 2 Jul 2018 10:49:27 +0000 (16:19 +0530)]
OPNFLWPLUG-1021 : ct_tp_src and ct_tp_dst support in nicira extension

support for new NXM fields introduced in ovs2.8:
    NXM_NX_CT_TP_SRC (124)
    NXM_NX_CT_TP_DST (125)

Ref: http://www.openvswitch.org/support/dist-docs/ovs-fields.7.txt

Change-Id: Icc9f921688b2315e24b9598e04541e4ea4103da9
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
5 years agoMerge "Testplan for Bundle-Reysnc"
Arunprakash D [Fri, 29 Jun 2018 03:04:46 +0000 (03:04 +0000)]
Merge "Testplan for Bundle-Reysnc"

5 years agoFix opendaylight-flow-types.yang cases 72/73472/2
Robert Varga [Wed, 27 Jun 2018 11:18:43 +0000 (13:18 +0200)]
Fix opendaylight-flow-types.yang cases

The model is invalid, as it is introducing duplicate names into
a choice. Fix this up by adding an intermediate container.

JIRA: OPNFLWPLUG-1020
Change-Id: I76b4822b63df05051bdd3f4787186a5e76480970
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump odlparent to 3.1.2 96/72496/2
Stephen Kitt [Wed, 30 May 2018 13:46:24 +0000 (15:46 +0200)]
Bump odlparent to 3.1.2

Change-Id: Ic1e4998ff65d8deb5bb9e9ed0a478f329451efad
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoTestplan for Bundle-Reysnc 87/72787/12
eafatha [Tue, 12 Dec 2017 11:10:58 +0000 (16:40 +0530)]
Testplan for Bundle-Reysnc

This document is the testplan for the bundle-based Resync Feature

Change-Id: I8b60a7b804f78d94dabb0832d6d3a9b9f1ae95b4
Signed-off-by: eafatha <a.fathima.thasneem@ericsson.com>
5 years agoMerge "remove useless diagstatus ServiceDescriptor descriptions"
Anil Vishnoi [Tue, 19 Jun 2018 19:38:40 +0000 (19:38 +0000)]
Merge "remove useless diagstatus ServiceDescriptor descriptions"

5 years agoOPNFLWPLUG-997 Spec - Southbound cli implementation 98/71098/3
D Arunprakash [Thu, 19 Apr 2018 06:50:42 +0000 (12:20 +0530)]
OPNFLWPLUG-997 Spec - Southbound cli implementation

Implementation of CLI's like getallnodes and shownode
to get the list of connected nodes and the list of ports
available under a given openflow node.

Change-Id: I839b01805416ac9b3bd0513f79a4eb5f88aeedea
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
5 years agoOPNFLWPLUG-990: Administrative Reconciliation alarm - log correction 82/73082/1
Somashekhar Javalagi [Mon, 18 Jun 2018 08:02:46 +0000 (13:32 +0530)]
OPNFLWPLUG-990: Administrative Reconciliation alarm - log correction

Change-Id: I47ff91b6a9f5f2728ddc0681456d494f73a1e650
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
5 years agoMerge "OPNFLWPLUG-990: Administrative Reconciliation alarm - setting correct alarmID"
Arunprakash D [Mon, 18 Jun 2018 05:24:58 +0000 (05:24 +0000)]
Merge "OPNFLWPLUG-990: Administrative Reconciliation alarm - setting correct alarmID"

6 years agoAdd explicit org.osgi.core dependency 43/73043/1
Tom Pantelis [Fri, 15 Jun 2018 17:06:16 +0000 (13:06 -0400)]
Add explicit org.osgi.core dependency

This was picked up transitively from config-api but that
is going away.

Change-Id: I5f8011adb96c82a1d69960bfe9e2d68aa45a1f96
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoMerge "Do not use maven.bundle.version"
Anil Vishnoi [Thu, 14 Jun 2018 17:28:42 +0000 (17:28 +0000)]
Merge "Do not use maven.bundle.version"

6 years agoremove useless diagstatus ServiceDescriptor descriptions 94/72994/1
Michael Vorburger [Thu, 14 Jun 2018 09:55:51 +0000 (11:55 +0200)]
remove useless diagstatus ServiceDescriptor descriptions

following Change-Id: I22109f46e4505ec4336f5d8fdc1794bbb8d05562

in line with doing the same elsehwere in Ie5d2a0e572328e7260fd97ad1a35714222e3c317

Change-Id: I04a6a99e0bb8533f45b963dbadd1ead907608ec3
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoOPNFLWPLUG-1006: ODL cannot control switch with pre-existing meters 81/72981/2
Somashekhar Javalagi [Thu, 14 Jun 2018 05:20:03 +0000 (10:50 +0530)]
OPNFLWPLUG-1006: ODL cannot control switch with pre-existing meters

Atfer switch with pre-existing meters connecting to ODL, meter stats
collection will happen. Meter stats processing was failing due to
missing MeterBandHeaderKey. Adding MeterBandHeaderKey for every meter
stats.

Change-Id: Id434605aedceb8ff2526942918a5e5dbb9312aea
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
6 years agoMerge "Remove uses of BindingAwareProvider/Consumer"
Arunprakash D [Thu, 14 Jun 2018 05:20:10 +0000 (05:20 +0000)]
Merge "Remove uses of BindingAwareProvider/Consumer"

6 years agoOPNFLWPLUG-990: Administrative Reconciliation alarm - setting correct 51/72951/1
Somashekhar Javalagi [Wed, 13 Jun 2018 06:09:17 +0000 (11:39 +0530)]
OPNFLWPLUG-990: Administrative Reconciliation alarm - setting correct
alarmID

Change-Id: I6ba0a793cdd99d11b4d7639f319a7614a1c60b38
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
6 years agoMerge changes I7500a6f1,If607a21b
Anil Vishnoi [Tue, 12 Jun 2018 21:44:04 +0000 (21:44 +0000)]
Merge changes I7500a6f1,If607a21b

* changes:
  OPNFLWPLUG-970: Remove deviceInfo from connectingDevices in destroyContextChain
  OPNFLWPLUG-970: Prevent ConcurrentModificationException when switches disconnected

6 years agoMerge "minor: fix JavaDoc in class Packet"
Anil Vishnoi [Tue, 12 Jun 2018 20:57:40 +0000 (20:57 +0000)]
Merge "minor: fix JavaDoc in class Packet"

6 years agoDo not use maven.bundle.version 00/72900/1
Robert Varga [Tue, 12 Jun 2018 20:47:07 +0000 (22:47 +0200)]
Do not use maven.bundle.version

This plugin is declared via pluginManagement, do not rely
on property to redefine it.

Change-Id: Iddfdc763332d8335b262819e21af928c2bcba218
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOPNFLWPLUG-970: Remove deviceInfo from connectingDevices in destroyContextChain 53/72853/2
Chien-Hsin Chen [Thu, 19 Apr 2018 08:59:45 +0000 (16:59 +0800)]
OPNFLWPLUG-970: Remove deviceInfo from connectingDevices in destroyContextChain

The connectingDevices is used to block connection until previous one has succeeded or disconnected.
But it is not removed after device disconnected.

Change-Id: I7500a6f11d1d017b7a5c4a6d9adcd23d36ee8f8e
Signed-off-by: Chien-Hsin Chen <greensun1231@gmail.com>
6 years agoOPNFLWPLUG-970: Prevent ConcurrentModificationException when switches disconnected 52/72852/1
Chien-Hsin Chen [Mon, 26 Mar 2018 10:07:21 +0000 (18:07 +0800)]
OPNFLWPLUG-970: Prevent ConcurrentModificationException when switches disconnected

A concurrent HashSet derived from ConcurrentHashMap is used to prevent ConcurrentModificationException when closing device and statistics contexts.
ExecutorService.submit is replaced with ExecutorService.execute to expose the exceptions thrown.

Change-Id: If607a21b93961308e790bfca55718799576ebf0f
Signed-off-by: Chien-Hsin Chen <greensun1231@gmail.com>
6 years agoMerge "OPNFLWPLUG-1015 : OF Bundle add message failing with incorrect XID"
Arunprakash D [Mon, 11 Jun 2018 03:18:49 +0000 (03:18 +0000)]
Merge "OPNFLWPLUG-1015 : OF Bundle add message failing with incorrect XID"

6 years agoRemove uses of BindingAwareProvider/Consumer 04/72804/2
Tom Pantelis [Fri, 8 Jun 2018 16:45:34 +0000 (12:45 -0400)]
Remove uses of BindingAwareProvider/Consumer

These are legacy and will eventually be deprecated/removed. Most
uses were in sample projects which were converted to blueprint.

Change-Id: I9575f08a4a94a200eb5cce9f7b80ee4d6155e6c5
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agominor: fix JavaDoc in class Packet 64/72764/2
Michael Vorburger [Thu, 7 Jun 2018 15:28:38 +0000 (17:28 +0200)]
minor: fix JavaDoc in class Packet

Change-Id: I69a5364bc1f81966cb46ac5f05f2f8218fd425d4
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoMerge "OPNFLWPLUG-1000 : Execute reconciliation asynchronously when the user selected...
Anil Vishnoi [Wed, 6 Jun 2018 09:39:20 +0000 (09:39 +0000)]
Merge "OPNFLWPLUG-1000 : Execute reconciliation asynchronously when the user selected all openflow switch"

6 years agoOPNFLWPLUG-1015 : OF Bundle add message failing with incorrect XID 13/72513/11
gobinath [Thu, 31 May 2018 06:34:05 +0000 (12:04 +0530)]
OPNFLWPLUG-1015 : OF Bundle add message failing with incorrect XID

When more number of flow/groups being pushed via OF bundle down to openflow switch. OVS rejects some of the bundle add messages with error OFPBFC_MSG_BAD_XID (inconsistent or duplicate transaction ID).

On further analysis, it was found that the OVS (in compliance with
openflow protocol) rejects the add bundle messages if the transaction id
in the OFP header containing the bundle add msg is different to that of
the flow/group mod present in the bundle body.

This may be due to synchronization issues in the creation of the bundle
inner msg which could have resulted in the incorrect transaction Id
being set in the bundle msg. Changes have been made to avoid the
synchronization issue now which could fix this bug.

Change-Id: Ia575eee9616607402f625e09588b84758b1e4fe2
Signed-off-by: gobinath <gobinath@ericsson.com>
6 years agoMerge "Fixup Augmentable and Identifiable methods changing"
Anil Vishnoi [Mon, 4 Jun 2018 18:26:54 +0000 (18:26 +0000)]
Merge "Fixup Augmentable and Identifiable methods changing"

6 years agoMerge "Pass error cause to service status"
Anil Vishnoi [Mon, 4 Jun 2018 16:16:56 +0000 (16:16 +0000)]
Merge "Pass error cause to service status"

6 years agoFixup Augmentable and Identifiable methods changing 24/72524/3
Stephen Kitt [Thu, 31 May 2018 13:23:17 +0000 (15:23 +0200)]
Fixup Augmentable and Identifiable methods changing

This is a fixup of the change in binding codegen, adjusting:
- getKey() -> key()
- setKey() -> withKey()
- getAugmentation() -> augmentation()

JIRA: TSC-101
Change-Id: I4285ddfd3b49880053bb9cd1b49ed33fef4bbfb9
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoOPNFLWPLUG-1000 : Execute reconciliation asynchronously when the user 80/71880/3
SujaT [Fri, 4 May 2018 08:53:51 +0000 (14:23 +0530)]
OPNFLWPLUG-1000 : Execute reconciliation asynchronously when the user
selected all openflow switch

Change-Id: I49e788481f485ed1765bb7a7f1f12afff68b6fe5
Signed-off-by: SujaT <suja.t@ericsson.com>
6 years agoMerge "Switch to using lfdocs-conf to pull in theme"
Anil Vishnoi [Sun, 3 Jun 2018 20:02:37 +0000 (20:02 +0000)]
Merge "Switch to using lfdocs-conf to pull in theme"

6 years agoMerge "Enable nitpicky mode and fail on warnings"
Anil Vishnoi [Sun, 3 Jun 2018 20:02:00 +0000 (20:02 +0000)]
Merge "Enable nitpicky mode and fail on warnings"

6 years agoMerge "Resolve Sphinx build warnings"
Anil Vishnoi [Sun, 3 Jun 2018 20:01:49 +0000 (20:01 +0000)]
Merge "Resolve Sphinx build warnings"

6 years agoMerge "OPNFLWPLUG-898 : remove deprecated checkedfuture"
Anil Vishnoi [Sun, 3 Jun 2018 19:54:46 +0000 (19:54 +0000)]
Merge "OPNFLWPLUG-898 : remove deprecated checkedfuture"

6 years agoMerge "Bundle Reconciliation: Close bundle on switch before reconciliation"
Anil Vishnoi [Sun, 3 Jun 2018 19:52:23 +0000 (19:52 +0000)]
Merge "Bundle Reconciliation: Close bundle on switch before reconciliation"

6 years agoMerge "OPNFLWPLUG-898 Improve code quality in liblldp module"
Anil Vishnoi [Sun, 3 Jun 2018 19:47:25 +0000 (19:47 +0000)]
Merge "OPNFLWPLUG-898 Improve code quality in liblldp module"

6 years agoMerge "OPNFLWPLUG-1014: Negotiate openflow version for protocol OF 1.4 and above"
Anil Vishnoi [Sun, 3 Jun 2018 19:41:50 +0000 (19:41 +0000)]
Merge "OPNFLWPLUG-1014: Negotiate openflow version for protocol OF 1.4 and above"

6 years agoSwitch to using lfdocs-conf to pull in theme 07/72607/1
Thanh Ha [Sun, 3 Jun 2018 01:33:53 +0000 (21:33 -0400)]
Switch to using lfdocs-conf to pull in theme

lfdocs-conf is a new project that allows us to centrally manage
project theme configuration without having to duplicate it
everywhere or have the "docs" project become a large submodule
project.

We will push to ReadTheDocs separately and then create a new path
for this doc under docs.opendaylight.org/projects/integration-packaging

For further details refer to:
http://docs.releng.linuxfoundation.org/en/latest/project-documentation.html

Change-Id: Id8b32a73fb6ace23a4cf50179bb1b97420aceec4
JIRA: DOCS-69
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoEnable nitpicky mode and fail on warnings 06/72606/1
Thanh Ha [Sun, 3 Jun 2018 01:29:48 +0000 (21:29 -0400)]
Enable nitpicky mode and fail on warnings

Change-Id: I7cff395f046e244a39b0cb9b52743e0c368fc676
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoResolve Sphinx build warnings 05/72605/1
Thanh Ha [Sun, 3 Jun 2018 01:30:37 +0000 (21:30 -0400)]
Resolve Sphinx build warnings

Change-Id: Ia6b22ddf25179993208c9de4fff88a818354cc4b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoPass error cause to service status 21/70221/5
Jamo Luhrsen [Fri, 30 Mar 2018 07:02:36 +0000 (00:02 -0700)]
Pass error cause to service status

Change-Id: I2685e124e2a6e743725340aa23c55f1a0e6c1ceb
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
6 years agoCorrect case confusion 42/72342/4
Robert Varga [Sat, 26 May 2018 11:19:02 +0000 (13:19 +0200)]
Correct case confusion

Binding case statements to their choices exposes type safety
confusion in test, fix that up.

Change-Id: I12eb54fdf190e61a7c1afd88f06e5ccc2daa9b30
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOPNFLWPLUG-1014: Negotiate openflow version for protocol OF 1.4 and above 44/72344/3
Somashekhar Javalagi [Mon, 28 May 2018 05:38:45 +0000 (11:08 +0530)]
OPNFLWPLUG-1014: Negotiate openflow version for protocol OF 1.4 and above

OVS2.8 and above communicates with OF 1.4 protocol by default.
Hello message sent by OVS2.8 will have version set as OF 1.4 without
bitmap.

When switch sends hello message without bitmap and the version set is
higher than the controller supported version, controller will send HELLO
message with the bitmap containing list of controller supported OF
versions (OF1.3, OF1.0). Once, ovs receives this HELLO message, it is
negotiating the higher supported common version available in the bitmap.
From then on OVS will send openflow messages with version set as 1.3.

When the HELLO message sent by controller is successful, it should go to
the post handshake steps, instead of waiting for next HELLO message from
switch.

Change-Id: Ibfeb61d14a95482fc2f7c399244fdaaf4ac69396
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
6 years agoMerge "Add missing iteration synchronisation"
Anil Vishnoi [Wed, 30 May 2018 21:47:22 +0000 (21:47 +0000)]
Merge "Add missing iteration synchronisation"

6 years agoMerge "Eliminate InstanceIdentifier.toInstance() reference"
Anil Vishnoi [Tue, 29 May 2018 21:12:56 +0000 (21:12 +0000)]
Merge "Eliminate InstanceIdentifier.toInstance() reference"

6 years agoMerge "IllegalArgumentException with metadata field in learn action"
Prasanna Huddar [Tue, 29 May 2018 04:58:56 +0000 (04:58 +0000)]
Merge "IllegalArgumentException with metadata field in learn action"

6 years agoBundle Reconciliation: Close bundle on switch before reconciliation 17/72217/2
D Arunprakash [Thu, 24 May 2018 08:11:23 +0000 (13:41 +0530)]
Bundle Reconciliation: Close bundle on switch before reconciliation

Send Close bundle message to the switch before opening a new bundle.
This will prevent ONFERR_ET_BUNDLE_EXIST

Change-Id: I3f315ea7e44f11f85e2fa4d4e1404d5c65c62d29
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoOPNFLWPLUG-898 : remove deprecated checkedfuture 20/71220/13
D Arunprakash [Mon, 23 Apr 2018 14:06:07 +0000 (19:36 +0530)]
OPNFLWPLUG-898 : remove deprecated checkedfuture

Change-Id: I13428638796fa872cb5a674c24c9b141bb6899e0
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoOPNFLWPLUG-898 Improve code quality in liblldp module 41/72341/1
Andrej Leitner [Sat, 26 May 2018 22:33:58 +0000 (00:33 +0200)]
OPNFLWPLUG-898 Improve code quality in liblldp module

Change-Id: Ic324617ea4da63e56a0eb500953a2df5cc6614c5
Signed-off-by: Andrej Leitner <andrej.leitner@gmail.com>
6 years agoEliminate InstanceIdentifier.toInstance() reference 14/72314/1
Robert Varga [Fri, 25 May 2018 15:01:58 +0000 (17:01 +0200)]
Eliminate InstanceIdentifier.toInstance() reference

This method has been long-deprecated, do not use it.

Change-Id: I2bec3b7a70025e4c64f9a89d4d95c6723558f6a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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 agoAdd missing iteration synchronisation 39/72239/1
Stephen Kitt [Thu, 24 May 2018 15:00:20 +0000 (17:00 +0200)]
Add missing iteration synchronisation

Synchronised BiMaps need to have their iterations protected by
explicit synchronisation (see the javadocs); this patch adds a missing
synchronisation in getExistingKey.

Change-Id: I4bea65e06aee26cf2d5e6ebae86f3bedd2dd6fc6
JIRA: OPNFLWPLUG-1013
Signed-off-by: Stephen Kitt <skitt@redhat.com>
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 agoIllegalArgumentException with metadata field in learn action 10/72010/1
Ravindra Thakur [Tue, 15 May 2018 06:57:15 +0000 (12:27 +0530)]
IllegalArgumentException with metadata field in learn action

Issue: OPNFLWPLUG-1011

The issue is because of reading the fields as signed int instead
of unsigned int. Changes are made to read the fields as unsigned int.

Change-Id: Ib1c5daa8697cedb20f92d20cbb6b639533b3333f
Signed-off-by: Ravindra Thakur <ravindra.nath.thakur@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>