Arunprakash D [Thu, 15 Nov 2018 12:28:01 +0000 (12:28 +0000)]
Merge "use annotations instead XML for BP in protocol-impl"
Arunprakash D [Thu, 15 Nov 2018 12:25:32 +0000 (12:25 +0000)]
Merge "avoid <bean factory-ref/method> in lldp-speaker's BP XML"
Arunprakash D [Thu, 15 Nov 2018 12:24:05 +0000 (12:24 +0000)]
Merge "use annotations instead XML for BP in impl"
Arunprakash D [Thu, 15 Nov 2018 03:29:43 +0000 (03:29 +0000)]
Merge "fix ArbitratorReconciliationManagerImpl endReconciliation() remove"
Michael Vorburger [Thu, 15 Nov 2018 02:05:29 +0000 (03:05 +0100)]
fix ArbitratorReconciliationManagerImpl endReconciliation() remove
JIRA: OPNFLWPLUG-1048
Change-Id: If26656fa6f65d04435c94c0b7258144f45dc989e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Michael Vorburger [Wed, 14 Nov 2018 21:12:19 +0000 (22:12 +0100)]
use annotations instead XML for BP in protocol-impl
JIRA: OPNFLWPLUG-1046
Change-Id: I96e492a39cca871600de325ac45ae1376e4a3c2e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Michael Vorburger [Wed, 14 Nov 2018 16:15:14 +0000 (17:15 +0100)]
use annotations instead XML for BP in impl
JIRA: OPNFLWPLUG-1046
Change-Id: Idd8004a4aaac25c40fa7ec15beb1083115b0236a
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Michael Vorburger [Wed, 14 Nov 2018 18:40:13 +0000 (19:40 +0100)]
avoid <bean factory-ref/method> in lldp-speaker's BP XML
This hopefully will make it easier (trivial, normally) to migrate
lldp-speaker to use annotations instead XML for BP.
JIRA: OPNFLWPLUG-1046
Change-Id: I2930caa943e1d476ab538ae890b6252894855b9c
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
gobinath [Mon, 15 Oct 2018 17:07:58 +0000 (22:37 +0530)]
mv BP XML from org/opendaylight to OSGI-INF/
1. Blueprint XML files moved, following
https://wiki.opendaylight.org/view/Neon_platform_upgrade#Blueprint_declarations
find . -path '*/src/main/resources/org/opendaylight/blueprint/*.xml' -execdir sh -c "mkdir -p ../../../OSGI-INF/blueprint; git mv {} ../../../OSGI-INF/blueprint" \;
2. ditch un-used http://opendaylight.org/xmlns/blueprint/v1.0.0 namespace
in openflow-protocol-impl bundle which has no other controller dependency;
see related update to Wiki just made for full background.
JIRA: OPNFLWPLUG-1032
Change-Id: I222d0a8aceee10960e493b7b165b79d7dd65d4a3
Signed-off-by: gobinath <gobinath@ericsson.com>
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Anil Vishnoi [Wed, 14 Nov 2018 11:25:24 +0000 (11:25 +0000)]
Merge "use annotations instead of XML for blueprint"
Robert Varga [Tue, 13 Nov 2018 15:55:19 +0000 (16:55 +0100)]
Fix raw types in NodeConfiguratorImpl
This patch fixes raw type warnings in NodeConfiguratorImpl and inlines
FutureCallback class, as it is a very simple dispatch.
JIRA: OPNFLWPLUG-1047
Change-Id: Iac60a0782f210eb34944688fbf225159cbb50030
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Michael Vorburger [Wed, 31 Oct 2018 17:50:04 +0000 (18:50 +0100)]
use annotations instead of XML for blueprint
This makes it easier to wire openflowplugin in opendaylight-simple.
(It would also be useful to write component tests.)
The autowire.xml which is now automatically generated from the
annotations at build time is, of course, 100% identical to the
hand-written (and now deleted) arbitratorreconciliation-manager.xml
JIRA: OPNFLWPLUG-1046
Change-Id: Id9eaaebf45ab718751c88cdbbac06fb400264638
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Stephen Kitt [Fri, 2 Nov 2018 15:41:37 +0000 (16:41 +0100)]
Close ReadTransactions
This handles a number of ReadTransactions using try-with-resources to
ensure they are closed in all cases.
Change-Id: I40d98e93cb47ec6e839d5fa29da16fa787afacf5
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Stephen Kitt [Fri, 2 Nov 2018 15:16:08 +0000 (16:16 +0100)]
Close ReadTransactions from ForwardingRulesManager
Change-Id: If8c644312ed6fd0ff76221ce2dc49ae61fda72de
JIRA: OPNFLWPLUG-1043
Signed-off-by: Stephen Kitt <skitt@redhat.com>
gobinath [Wed, 19 Sep 2018 06:05:49 +0000 (11:35 +0530)]
OPNFLWPLUG-1032: Neon-MRI: Bump odlparent, yangtools, mdsal
This patch bumps:
- odlparent to 4.0.0
- mdsal to 3.0.1
It also deals with:
- odl-guava-23 to odl-guava
- xmlunit upgrade via xmlunit-legacy
- adjust dependencies to account for ietf-{inet,yang}-types movement
Change-Id: I3936130b75afe804195ecb87c46aef46c39a7ed5
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: gobinath <gobinath@ericsson.com>
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
Signed-off-by: gobinath <gobinath@ericsson.com>
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
Arunprakash D [Thu, 11 Oct 2018 10:35:01 +0000 (10:35 +0000)]
Merge "make ConfigurationServiceFactoryImpl independent of OSGi"
gobinath [Tue, 18 Sep 2018 11:46:40 +0000 (17:16 +0530)]
OPNFLWPLUG-1034
Change-Id: I7339e8a0a5cbed0d8a70def3628a4117698113f1
Signed-off-by: gobinath <gobinath@ericsson.com>
Michael Vorburger [Wed, 3 Oct 2018 00:33:37 +0000 (02:33 +0200)]
make ConfigurationServiceFactoryImpl independent of OSGi
so that it can be used in a standalone / JavaSE environment such as
https://github.com/vorburger/opendaylight-simple (or
https://www.lighty.io)
JIRA: OPNFLWPLUG-1037
Change-Id: I2ff54e8d9324b78ee4b0e28485f5bb40e7e40c70
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
eeiillu [Tue, 25 Sep 2018 08:56:04 +0000 (14:26 +0530)]
Refactoring the code for updating the reconciliation state
in the datastore during all scenarios.
Change-Id: Ia25d98053f9157101cf6684371a36696cd01d4d9
Signed-off-by: eeiillu <suja.t@ericsson.com>
Stephen Kitt [Fri, 21 Sep 2018 09:01:25 +0000 (11:01 +0200)]
Fix old odlparent dependency
There was still a dependency on odlparent 3.1.2, switch that to
3.1.3.
Change-Id: I3e791d3583394026dc3b00ddb6e70eaeac8730fa
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Somashekhar Javalagi [Tue, 18 Sep 2018 11:18:21 +0000 (16:48 +0530)]
OPNFLWPLUG-1033: Fix for StackOverflowError while stopping
forwardingrules-manager bundle
Root cause: DeviceMastershipManager will be registering to
MastershipChangeServiceManager and MastershipServiceDelegate will be
created, which will be adding DeviceMastershipManager service to
serviceGroup. But at the time of stopping forwardingrules-manager bundle
DeviceMastershipManager is trying to close MastershipServiceDelegate
registration, which in turn was trying to close the service which
created it, causing StackOverflowError.
Solution: Just removing DeviceMastershipManager from service group
while closing MastershipServiceDelegate registration and not closing the
service by registration.
Change-Id: I12609460a9a05e0d443822845582301a6eff9bf5
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
Somashekhar Javalagi [Fri, 24 Aug 2018 10:30:15 +0000 (16:00 +0530)]
OPNFLWPLUG-1030: Documentation for the device connection rate limiting feature
Change-Id: Iac21e974a71e4402ec6895042ebd2b0563987bd7
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
Arunprakash D [Fri, 31 Aug 2018 06:18:17 +0000 (06:18 +0000)]
Merge "Exception while topology-manager writes flow:1 root node to operational datastore. In the clustered environment when all the 3 node comes up, all the three instances of topology-manager tries to write flow:1 node to the operational datastore that results in the OptimisticsLockFailedException. This patch fixes the issue by making Topology-Manager initialization cluster aware, so only selected instance will write the root node."
Luis Gomez [Tue, 28 Aug 2018 01:56:11 +0000 (18:56 -0700)]
Add user and dev docs for Fluorine
Change-Id: Ie279ee0a8c2f76599245bdd6b644b48c2a704d23
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
Robert Varga [Thu, 23 Aug 2018 23:25:34 +0000 (01:25 +0200)]
Eliminate reference to nagasena
We no longer are using this EXI implementation, no need to pull
it in.
Change-Id: Ife88b24f83bea4d5a01e3e84275f6e28ef49af93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 23 Aug 2018 23:24:41 +0000 (01:24 +0200)]
Eliminate reference to exam.version
odlparent already declares these artifacts, reuse scope/version.
Change-Id: I678a6af5c6b7324f1a05e4534218e58107e02e29
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anil Vishnoi [Mon, 20 Aug 2018 23:59:08 +0000 (16:59 -0700)]
Exception while topology-manager writes flow:1
root node to operational datastore.
In the clustered environment when all the 3 node
comes up, all the three instances of topology-manager
tries to write flow:1 node to the operational datastore
that results in the OptimisticsLockFailedException.
This patch fixes the issue by making Topology-Manager
initialization cluster aware, so only selected instance
will write the root node.
JIRA: OPNFLWPLUG-1022
Change-Id: Ib1a74ad44c054f9b704771aae627fe237ba889fe
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
gobinath [Thu, 16 Aug 2018 11:43:48 +0000 (17:13 +0530)]
Fix Stack overflow errors in OFP while killing karaf
The reconciliation framework returns "NotificationRegistration" which
would be used by the registering applications to unregister by calling
close() on it. The close() in NotificationRegistration was in turn again
trying to call close() of the registered applications which resulted in
infinite recursion leading to stack overflow.
Change-Id: Ib7932c2365dc373be4e953282786e8829929869d
Signed-off-by: gobinath <gobinath@ericsson.com>
Somashekhar Javalagi [Tue, 7 Aug 2018 09:38:25 +0000 (15:08 +0530)]
JIRA: OPNFLWPLUG-1028 Fix for Table Miss Entry failed to program in 3 node netvirt CSIT issue
After openflowplugin-impl choosing the nodeOwner, it was publishing the
Master role to the forwardingrules-manager through yang notification, at
the same time, node information is written to the operational datastore.
Post node information written to operational datastore, applications
immediately start pushing the flows to forwardingrules-manager, by that
time yang notification was failing to reach forwardingrules-manager.
Which was causing the dealy in proving the mastership and consequesnt
flows were getting rejected.
Making DeviceMastershipManager to register for MastershipChangeService,
so that it can quickly set master role before any flow arrives
Change-Id: I4c2eaefd52d91875fb5234620c8fb5d82e8f2da4
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
Arunprakash D [Tue, 14 Aug 2018 08:26:04 +0000 (08:26 +0000)]
Merge "Enhancement activity in admin reconciliation for handling consecutive triggering of same node"
Anil Vishnoi [Mon, 13 Aug 2018 16:27:48 +0000 (16:27 +0000)]
Merge "OPNFLWPLUG-1004 : Spec arbitrator reconciliation"
Robert Varga [Sat, 11 Aug 2018 07:30:16 +0000 (09:30 +0200)]
Remove references to mdsal-model-artifacts
This artifact is going away, migrate to mdsal-artifacts.
Change-Id: I50c94c324e01cbf009cda5e625a194a475b93884
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 11 Aug 2018 07:28:46 +0000 (09:28 +0200)]
Remove unneeded reference to odlparent-artifacts
This is already included in single-feature-parent, no need to
repeat it.
Change-Id: I996caecd2a484491a3bfa2e6881b2f57a01b91af
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anil Belur [Thu, 9 Aug 2018 12:40:15 +0000 (18:10 +0530)]
Bump versions by x.(y+1).z for next dev cycle
Change-Id: If8f45f7b0838ad8572e0c2da72452fb226d6d3be
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
eeiillu [Fri, 27 Jul 2018 07:03:32 +0000 (12:33 +0530)]
Enhancement activity in admin reconciliation for handling consecutive
triggering of same node
Change-Id: I4145f85faab738a4c81f0a2dd22d71890c70c133
Signed-off-by: eeiillu <suja.t@ericsson.com>
D Arunprakash [Thu, 19 Apr 2018 06:46:06 +0000 (12:16 +0530)]
OPNFLWPLUG-1004 : Spec arbitrator reconciliation
Implementation sketch for arbitrator reconciliation
for replay based controller upgrade
Change-Id: I1e7468c877e87c79dddee3276ebb9f164cbd52ea
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
Arunprakash D [Tue, 7 Aug 2018 11:23:14 +0000 (11:23 +0000)]
Merge "OPNFLWPLUG-1005 : Implementation of arbitrator reconciliation(frm changes)"
Anil Vishnoi [Tue, 7 Aug 2018 09:11:06 +0000 (09:11 +0000)]
Merge "OPNFLWPLUG-999 Spec - Reconciliation CLI and alarm for openflow nodes"
gobinath [Wed, 18 Apr 2018 20:16:49 +0000 (01:46 +0530)]
OPNFLWPLUG-1005 : Implementation of arbitrator reconciliation(frm changes)
This patch adds new forwarder types BundleFlowForwarder and
BundleGroupForwarder which would would be used to push the flows during
the upgrade process.
Change-Id: I7681019236aa5674c6242e39b967fda9757913b1
Signed-off-by: gobinath <gobinath@ericsson.com>
D Arunprakash [Thu, 19 Apr 2018 06:48:27 +0000 (12:18 +0530)]
OPNFLWPLUG-999 Spec - Reconciliation CLI and alarm for openflow nodes
Change-Id: I3ef028506c8aa833ef6911483efc745c9fb09f17
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
Arunprakash D [Tue, 7 Aug 2018 05:16:30 +0000 (05:16 +0000)]
Merge "OPNFLWPLUG-1005 : Implementation of arbitrator reconciliation"
Jaime Caamaño Ruiz [Fri, 25 May 2018 15:42:57 +0000 (17:42 +0200)]
Clean up bits of old nsh implementation
The following fields and actions were specific to the previous nsh
implementation, are not officially available in OVS and are being
removed with this patch: encap_eth_type, encap_eth_src, encap_eth_dst,
tun_gpe_np, push_nsh and pop_nsh.
Also, nsh_mdtype and nsh_np are read only.
This patch holds breaking API changes for northbound applications making
use of these fields/actions.
Change-Id: Ic3cb0470f6c0588bf80143f8a27e2380ce50f9ef
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
gobinath [Thu, 29 Mar 2018 10:53:13 +0000 (16:23 +0530)]
OPNFLWPLUG-1005 : Implementation of arbitrator reconciliation
This change adds a new module "arbitratorreconciliation" within the frm. This
module contains the RPCs for completing the arbitrator reconciliation(by committing the bundles) and the RPC to fetch the bundle opened for a node have been added and the implementation of these RPCs. These RPCs are exposed which in tun can be used by appliations.
Change-Id: Ib71b9ed7a846ccd4a4592684cfd74fbd6106c986
Signed-off-by: gobinath <gobinath@ericsson.com>
Somashekhar Javalagi [Fri, 2 Mar 2018 11:14:00 +0000 (16:44 +0530)]
OPNFLWPLUG-985: Service recovery for openfplowplugin
Implementing service recovery mechanism for openflowplugin
1. Registering openflowplugin external facing listeners to ServiceRecovery
Registry
2. Using srm-api of serviceutils project for the service recovery
3. When openfplugin service recovery is invoked, all the listeners which
are registered to the srm registry, will be unregistered and
registered
Change-Id: I64736e9ed02dd7fc2125a235399743defe68530c
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
Arunprakash D [Fri, 3 Aug 2018 06:10:48 +0000 (06:10 +0000)]
Merge "OPNFLWPLUG-991 : FRM: Flow Group Dependency support"
Arunprakash D [Fri, 3 Aug 2018 06:04:47 +0000 (06:04 +0000)]
Merge "Reconciliation Failure Count is not increased in failure scenarios."
eeiillu [Wed, 1 Aug 2018 11:38:42 +0000 (17:08 +0530)]
Reconciliation Failure Count is not increased in failure scenarios.
Adding a check to find whether the result in rpcresult is true.
If the value of the result is true then increment success count else
increment failure count.
Change-Id: Ie20d5a632e7e1ff6e7b4772253062aa3806d9428
Signed-off-by: eeiillu <suja.t@ericsson.com>
Arunprakash D [Fri, 3 Aug 2018 02:39:32 +0000 (02:39 +0000)]
Merge "OPNFLWPLUG-1007 : Future (eventually) failed: addFlow -and- transmitPacket"
gobinath [Thu, 28 Jun 2018 12:09:39 +0000 (17:39 +0530)]
OPNFLWPLUG-991 : FRM: Flow Group Dependency support
Issue:
Flows can be pointing to only the groups which are already programmed
so these referred groups have to be pushed before the flow programming.
When applications creates new groups and flows pointing to it and write
to the inventory DS, the programming of the groups before flows
is not gauranteed as these DTCN events are processed in separate
threads (FlowForwarder and GroupForwarder).
So, sometimes the flow push by the FRM lands in before the group programming
which would be promptly rejected by the switch.
Fix:
This issue could be solved by checking by maintaining a cache containing
all the active groups per node. So whenever we get a DTCN to push flows
we could ensure that the group pointed to by the flow is already programmed.
In case the group is absent, the referred group is read from the inventory DS
using the nodeId, is programmed first and then the dependent flow is pushed
thereafter.
To avoid back-pressuring the DS, these checks and the subsequent flow/group programming
job is submitted to the nodeconfigurator which then executes these tasks
parallely.
Change-Id: Ia13d4c09bb8d746c94067d23e742eee491ef9a91
Signed-off-by: gobinath <gobinath@ericsson.com>
Thanh Ha [Mon, 30 Jul 2018 14:31:38 +0000 (14:31 +0000)]
Merge "Bump to odlparent 3.1.3"
gobinath [Tue, 10 Jul 2018 07:43:04 +0000 (13:13 +0530)]
OPNFLWPLUG-1007 : Future (eventually) failed: addFlow -and- transmitPacket
Change-Id: Iffe2fc437925bfe041614e3887975f8d6bc91131
Signed-off-by: gobinath <gobinath@ericsson.com>
Anil Vishnoi [Wed, 25 Jul 2018 20:03:54 +0000 (20:03 +0000)]
Merge "Refactor nsh fields to new encoding"
Stephen Kitt [Wed, 18 Jul 2018 16:06:42 +0000 (18:06 +0200)]
Bump to odlparent 3.1.3
Change-Id: I51af9c2bbb06ea66722c15ec3de81c6728d7ebdb
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Jaime Caamaño Ruiz [Thu, 24 May 2018 16:09:39 +0000 (18:09 +0200)]
Refactor nsh fields to new encoding
This path refactors the nsh fields encoding from the patched OVS
2.5/2.6 implementation to the official OVS 2.8/2.9 implementation.
Main difference on the encoding is that now the fields are
experimenter under new code points.
The fields affected are: nsh_mdtype, nsh_np, nsp, nsi, nsh_c1, nsh_c2,
nsh_c3 and nsh_c4.
Added mask for match maskable fields nsh_c1, nsh_c2, nsh_c3 and nsh_c4.
This patch holds no breaking API changes for northbound applications
but it does break compatibily with patched OVS 2.5/2.6 for the
mentioned fields.
Change-Id: Id70bcb0386592c47f76d28ff8a4f82267bb86571
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
Robert Varga [Wed, 18 Jul 2018 20:49:32 +0000 (22:49 +0200)]
Use IpAddressBuilder instead of char[] constructor
This is a more efficient implementation of the same construct.
Change-Id: I2fa2b97c9311a191d6a734a8e6ef71544ff41dc3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anil Vishnoi [Mon, 23 Jul 2018 07:28:04 +0000 (07:28 +0000)]
Merge "Output reg support for nicira experimenter fields"
Robert Varga [Tue, 17 Jul 2018 14:08:24 +0000 (16:08 +0200)]
Depend on minimal models
OFP does not need all the mdsal models, pull in only the models
we need.
JIRA: MDSAL-363
Change-Id: I7de07b123a861b3ff706c38eddbc72c1355c48d6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anil Vishnoi [Wed, 18 Jul 2018 09:45:44 +0000 (09:45 +0000)]
Merge "Reg move 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"
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."
Jaime Caamaño Ruiz [Wed, 23 May 2018 16:00:27 +0000 (18:00 +0200)]
Output reg support for nicira experimenter fields
Implement NXAST_OUTPUT_REG2 which supports experimenter fields vs the
existing NXAST_OUTPUT_REG that does not. The openflowplugin API will
still expose a single output reg action, but this will be converted to
openflowjava output reg2 action if the source choice is a experimenter
field or to the existing output reg action otherwise.
From [1], this is the structure of the output reg2 action:
struct nx_action_output_reg2 {
ovs_be16 type; // OFPAT_EXPERIMENTER = 0xFFFF
ovs_be16 len; // 24.
ovs_be32 vendor; // NX_VENDOR_ID = 0x00002320
ovs_be16 subtype; // NXAST_OUTPUT_REG2 = 32
ovs_be16 ofs_nbits; // (ofs << 6) | (n_bits - 1).
ovs_be16 max_len; // Max length to send to controller.
/* Followed by:
* - 'src', as an OXM/NXM header (either 4 or 8 bytes).
* - Enough 0-bytes to pad the action out to 24 bytes. */
};
[1] https://github.com/openvswitch/ovs/blob/master/lib/ofp-actions.c
Change-Id: I6865ea6b8b3191895f2c548e7acf6707d94402e0
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
Jaime Caamaño Ruiz [Mon, 14 May 2018 18:13:07 +0000 (20:13 +0200)]
Reg move support for nicira experimenter fields
Reg move action, with the introduction of experimenter oxm fields, was
redefined to be able to include 8 oxm byte headers vs the standard 4
byte headers. This patch changes the openflowplugin encoding of this
action to align it with the spec.
From [1], the structre of reg move action is
struct nx_action_reg_move {
ovs_be16 type; // OFPAT_EXPERIMENTER = 0xFFFF
ovs_be16 len;
ovs_be32 vendor; // NX_VENDOR_ID = 0x00002320
ovs_be16 subtype; // NXAST_REG_MOVE = 6
ovs_be16 n_bits; // Number of bits.
ovs_be16 src_ofs; // Starting bit offset in source.
ovs_be16 dst_ofs; // Starting bit offset in destination.
/* Followed by:
* - OXM/NXM header for source field (4 or 8 bytes).
* - OXM/NXM header for destination field (4 or 8 bytes).
* - Padding with 0-bytes to a multiple of 8 bytes, if necessary. */
};
[1] https://github.com/openvswitch/ovs/blob/master/lib/ofp-actions.c
Change-Id: I80ff8de77ef960a17c72f3aecc2bc62ba39f32cb
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
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>
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>
Anil Vishnoi [Tue, 10 Jul 2018 08:43:14 +0000 (08:43 +0000)]
Merge "OPNFLWPLUG-1006: ODL cannot control switch with pre-existing meters"
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>
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>
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>
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>
Anil Vishnoi [Mon, 9 Jul 2018 16:14:33 +0000 (16:14 +0000)]
Merge "Fix union use issues"
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>
Anil Vishnoi [Mon, 9 Jul 2018 08:16:27 +0000 (08:16 +0000)]
Merge "OPNFLWPLUG-997 Spec - Southbound cli implementation"
Anil Vishnoi [Mon, 9 Jul 2018 07:12:09 +0000 (07:12 +0000)]
Merge "Correct NshNpCodec serializer key"
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>
Arunprakash D [Mon, 9 Jul 2018 06:54:42 +0000 (06:54 +0000)]
Merge "OPNFLWPLUG-917 : pkt_mark 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"
Arunprakash D [Mon, 9 Jul 2018 06:18:02 +0000 (06:18 +0000)]
Merge "OPNFLWPLUG-997 Spec - Southbound cli implementation"
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>
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>
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>
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>
Arunprakash D [Fri, 29 Jun 2018 03:04:46 +0000 (03:04 +0000)]
Merge "Testplan for Bundle-Reysnc"
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>
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>
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>
Anil Vishnoi [Tue, 19 Jun 2018 19:38:40 +0000 (19:38 +0000)]
Merge "remove useless diagstatus ServiceDescriptor descriptions"
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>
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>
Arunprakash D [Mon, 18 Jun 2018 05:24:58 +0000 (05:24 +0000)]
Merge "OPNFLWPLUG-990: Administrative Reconciliation alarm - setting correct alarmID"
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>
Anil Vishnoi [Thu, 14 Jun 2018 17:28:42 +0000 (17:28 +0000)]
Merge "Do not use maven.bundle.version"
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>
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>
Arunprakash D [Thu, 14 Jun 2018 05:20:10 +0000 (05:20 +0000)]
Merge "Remove uses of BindingAwareProvider/Consumer"
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>
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
Anil Vishnoi [Tue, 12 Jun 2018 20:57:40 +0000 (20:57 +0000)]
Merge "minor: fix JavaDoc in class Packet"
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>
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>
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>